I have started the implementation of my project in C# Express Edition,        and one of the first things I have stumbled upon is the frustration of        having to deal with many different XML feed standards. There are RSS and        Atom, each of them with several different sub-versions. But that's not        all. We also have a slew of Internet cowboy hackers who don't have any        desire at all to follow these standards. In short, RSS/Atom land is a        jungle. Time to take out the machete! When researching the options of a        suitable machete for the feed jungle, the following 3 caught my        attention:     
     -          Atom.NET + RSS.NET       
 -          IP*Works       
 -          Microsoft's RSS          library, included in IE7       
 -          Rolling my own component based on .NET's XML support       
 
            Atom.NET + RSS.NET     
            These are two separate open-source libraries, implemented in C# .NET,        which enables users to work with the two feed standards and all of their        sub-standards through a .NET programming interface. Unfortunately the        two components expose two interfaces without much similarity. In        addition to this the program is not in active development any longer        Instead the author is creating a commercial closed source version of the        components.     
            IP*Works     
            When registering the copy of Visual Studio 2005 Express Edition, one of        the freebies that Microsoft offer you is a license of IP*Works' RSS        component. The word free was misleading me for a while, until I realized        that I was being offered a free developer license only, without any        rights to distribute the component with the applications you are        building in Express.     
            Microsoft's RSS library, included in IE7     
            With the upcoming Internet Explorer 7 (included in Beta2), Microsoft has        really outdone themselves with the RSS/Atom support. Included in the        browser will be a feed repository that any application can use to know        which feeds are of interest to a user. Also articles and their        read/unread state will be stored here. However, IE7 requires Windows XP        or above, cutting off a large piece of the current end-user segment.     
            Rolling my own component based on .NET's XML support     
            Of course, being a developer, you are always attracted by the        possibility of rolling everything yourself. However, considering the        abundance of RSS/Atom formats out there, this would be suicide if I        attempted this during the short time available to build FeedJournal        within the contest.     
            Conclusion     
            After some prototyping with the different options I decided to go with        the open-source Atom.NET and RSS.NET components. However, I quickly        noticed some bugs and limitations, that I fixed in the components (the        wonder of open-source!). I am wrapping Atom.NET and RSS.NET in my own        classes "Article" and "Feed" which have different constructors for the        different feed types.