This post explores browser compatibility data, focusing on features present in some browsers but not others. I've created a tool, "Not yet Stable," to visualize these differences and help developers understand the current web platform landscape. While high-level comparisons are interesting, the real value lies in identifying smaller, unexpected compatibility issues that can cause frustration. The tool allows for granular comparisons between specific browsers (e.g., Chrome vs. Firefox, Safari vs. Firefox) to pinpoint these inconsistencies. I've observed significant discrepancies in media-related features, such as Web Codecs API, Picture-in-Picture, and MediaStreams. The goal is to leverage this data for better understanding and ultimately improve web compatibility.
I had trouble getting the GetWatcher method of the Feed Management API to work. Thanks to Matt Dotson's code on GotDotNet, I resolved the issue. The problem was a casting error; I was casting to FeedsWatcherClass instead of the IFeedEvents_Event interface. The corrected code now successfully attaches the watcher to the feed and handles FeedItemCountChanged and FeedDownloadCompleted events.
I'm puzzled why Microsoft's new Feed Manager API is COM-based instead of a managed API. Given their push for managed code in Vista and .NET's excellent XML handling, a managed API for RSS (which is XML-based) seems logical. It's frustrating to need interop to use this new feature.
This post explores how to access and iterate through a user's Internet Explorer Favorites in C#. I've included C# code that retrieves the Favorites directory and recursively iterates through its folders and files. The code also parses the .URL files to extract the actual URLs. Currently, the code doesn't retrieve the friendly name displayed in the Favorites menu (e.g., "Microsoft" instead of "www.microsoft.com"), but I'm looking into using IShellLink for this and would appreciate any insights.