Building A Feed Reader: Episode One

I depend heavily on RSS. To find out what’s going on in general and in the technology sector. I have subscribed literally to hundreds of feeds. Needless to say, I need a tool to better help me manage all this information.

For a very long time I have been looking for a good RSS Feed reader. What do I mean by a good RSS Feed Reader?

  • Desktop application. Google Reader / Bloglines / NewsGator need not apply!
  • Stable. ‘Nuff said.
  • Fast. ‘Nuff said.
  • Portable. Can carry around on my flash disk. And no, synchronization with NewsGator/Bloglines will not do
  • Lightweight.
  • Newspaper View AND Item View
  • Offline Reading.
  • Quick Search, integrated right into the main UI.
  • Smart/Search Folders.
  • Support for downloading enclosures.
  • Filters to allow view of Read/Unread/All messages
  • Groups items by custom groups — Day, Month, Category, etc
  • Allows me to flag articles to return to later
  • Allows me to tag articles with my own tags.
  • Can easily customize display with styles and themes.
  • Exports content to PDF.
  • Works quietly in the background and notifies me via desktop alerts.
  • Can discover feeds on web pages.
  • Keeps track of update frequency, allowing me to purge feeds that are rarely updated.
  • Allows me to have custom folders to store feeds.
  • Allows me to nest the custom folders.
  • Displays links to comments (where available)
  • Differentiates read from unread items
  • Offers various reports and charts.
    • Feeds per folder
    • Subscribed Feeds
    • Most recently  updated feeds
    • Most popular generator software (blogger / wordpress / movable type / feed burner / etc.)
    • Tags per feed
    • Tags for all feeds
  • Saves bandwidth by making use of conditional get.
  • Imports and exports to OPML

 

Believe you me I have looked high and looked low. I have tried them all out. FeedDemon, FeedReader, Snarfware, RSSOwl, GreatNews, SharpReader, RSSBandit, RSS Reader, BottomFeederOutlook, Omea, Internet Explorer, Firefox, ThunderbirdOpera and countless others I forget right now.

They all have something or the other missing from the list, and every time I button down and pick one, after a while I come to resent what it is that I have sacrificed.

And so I did the only logical thing.

I started writing my own.

It has been much easier than I thought, to tell the truth. The .NET Framework is very powerful and Visual Studio 2005 is an excellent tool for development and debugging. In a couple of days I’ve been able to put together the skeleton of the application. Here are some screen shots of what is currently working so far

Main Screen

mainwindow

Subscribing To A Feed

subscribing

Discovering Feeds

feeddiscovery

Folder Management

foldermanagment

Feed Properties

FeedProperties

 

Not too bad for a couple of day’s work. Hopefully with some free time I can put in all the features I want in a fortnight or so and eventually share it for like minded individuals to find the bugs.

Note that I’ve not paid too much attention to the look and feel. That, naturally will be a distant last.

In the process of writing this application I have had to consult MSDN and Google heavily to overcome some of the problems that i have run into. I have also learnt quite a bit, which is the purpose of this series.

I hope to share with you, dear reader, some of the challenges I have run into and how I have solved them. A great man said we see far because we stand on the shoulders of great men. Hopefully after I have shared some of my problems and thoughts, we will all be the wiser for it.

I hope to also capture my logic in moving from an idea to a design to a working application. Ideas, as ever, are most welcome.

Stay tuned for Episode Two: Understanding The Problem(s)

NB: Those about to start being outraged at my re-inventing the wheel, hold your horses until we get to Episode Two!

kick it on DotNetKicks.com

Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blogmarks
  • co.mments
  • del.icio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • TailRank
  • YahooMyWeb
 

Other posts

2 responses


  1. Looks very promising.
    If you are using “standard” winforms controls, surely it will be run in a Linux/Mono environment, that will be great.


  2. @Ragundo: Yes, one of the goals is to use standard controls wherever possible. So far I’ve not seen a need to get any off the shelf component

One trackback

Leave a Reply