Software I Want: A Good Feed Reader

2011-02-01 05:34:00

Since I'm trying to avoid doing any of the real work I've got queued up, I thought I'd put to words something I've been thinking about for a while now.

I subscribe to a lot of feeds. My feed reader has 163 right now, and I tend to find more regularly. These feeds serve a variety of purposes: some keep me up to date with news in areas I'm interested in; some contain opinions of people I'm interested in; some list updates to websites I read; some list updates to software I use; a few are comics; some are podcasts or other the-attachment-is-what-counts feeds; some others don't fall in any of these categories.

What's important to take away here is that these feeds represent not only a variety of subjects, but also a variety of usage scenarios. I don't usually need to read the text that accompanies podcasts. I don't care whether I'm up to date on a comic I'm reading, but I need to keep up with news items. Software updates are usually followed by downloads, and website updates are often followed by opening the website, but news items might be totally self-contained, and I rarely open the original page for comics. Other types of feeds get other types of interactions.

It's also important to say that feeds play a much bigger part in my online life now than they did a few years ago. Many things that once would have generated emails (software updates, for example) now just add an item to a feed, which is much less intrusive and more appropriate, in my opinion. Too, many sites have update feeds that would have had no email updates, or poorly maintained ones. The ease of providing a feed pretty nearly matches the ease of consuming one, these days.

With the importance of feeds increasing, my requirements for a feed reader have increased, too. I used to use some desktop feed reader that time has forgotten (or at least I have), then I used Bloglines, and then Google Reader. These were fine when I read only a dozen or two dozen feeds, but I don't feel they scale very well for me. Lately (for the last year, perhaps), I've been trying to find a good desktop feed reader. Ideally, a feed reader should (in no particular order):

  1. Store items indefinitely.
  2. Allow tagging of items.
  3. Provide a good way to organize feeds.
  4. Provide good 'saved searches' or other ways to pull out desired sets of posts dynamically.
  5. Allow notes to be written about an item.
  6. Download attachments/enclosures/whatever-they're-called automatically and in a customizable fashion.
  7. Allow feeds to be filtered.
  8. Provide a scrolling multi-item view like Google Reader.
  9. Save embedded images in a cache.
  10. Allow me to open multiple items in a browser at once.
  11. Allow some feeds to be set to show the linked page rather than the summary.
  12. Automatically download the aforementioned pages in advance so I don't have to wait.
  13. Allow feeds to be hidden, so their posts only show in e.g. searches.
  14. Allow custom actions to be performed on items, either automatically or manually.

There are more things I'd like, but a feed reader that has most of the above features and isn't otherwise horribly broken would cover most of my needs. Some of these requirements probably merit a little more explanation.

Items should be stored indefinitely

I guess that a lot of people think of feeds as a way of notifying people about the Real Content, which is located on a web page somewhere, so of course there's no reason for anyone to want to save a feed item. However, for me, in many cases, the feed is the Real Content. And I'd often like to be able to refer back to items I've read in the past. Many feed readers don't really support this very well, if at all. Google Reader starts throwing away items once you've got a thousand in a feed, and FeedDemon (which I'm using on the desktop) will only keep 2500. It sounds like a lot, but for certain kinds of feeds it is only a couple of weeks worth of items. I can understand that you don't want to store a billion items, for performance reasons, but I should be the one to choose if and when a feed gets pruned.

To complement this, it'd be nice if the embedded images in an item were saved somewhere. An item reading "This image explains the meaning of life." isn't going to be much good in five years when flybynightimagehoster.com has long since vanished.

Organization matters

It goes without saying, but if I'm going to be storing a few thousand items or more, from dozens or hundreds of feeds, keeping things organized is very important. Several of the features I listed above are just specific ways of organizing things. I really like using tags to organize items: when well implemented, tags are quick, easy, and effective. A good tagging interface is often all you need, though the ability to perform more detailed searches is vital for those times when the tags aren't enough by themselves.

Saved searches are very valuable, too. A well-crafted saved search will let you track a topic in multiple feeds without having to check each item in each feed individually, and can also make up for shortcomings in the program's interface.

Not all feeds are created equal

Some feeds are used very differently from others. Podcasts should be downloaded. Comics are usually read in place. Some feeds only provide a very brief summary and function more as links to the full content. A feed reader needs to recognize this and support different modes of interaction. I don't want to have to manually download podcasts. I'd like it if, for the feeds that only provide a brief summary, the reader would instead present to me the page that's linked to, so I don't have to leave the feed reader to read the article. For some feeds, I want to do more complicated things. I can imagine writing a python script which, when passed an item, does some magic and returns a more useful replacement item, or else perhaps extracts and downloads links from the item. Endless possibilities, there.

Don't waste the user's time

Time is a limited commodity, so a good feed reader should do all it can to keep from wasting it. If there are embedded images, download them in advance so I don't have to wait. Don't make me jump through hoops to tag an item or mark it read. Let me view groups of feeds together. I really like the view of items Google Reader uses (I think FeedDemon calls it a 'newspaper view'. Is that a standard term?) because it lets me scroll through many items pretty quickly. If I have a feed with a thousand unread items (and I have several), I don't want to have to click on every item individually to see what it's about.

Really, this one should be the major item on any list of proposed features. All the others spring from this. I can manually save items. I can just look through a feed in reverse chronological order until I find the item I want. I can manually download podcasts. But I shouldn't have to, because it's a waste of time. Any feature that wastes a user's time is a bad feature. Any feature that saves a user's time is (probably) a good feature.

Interaction doesn't always end with reading an item

We don't just read feeds. We save recipes (or music recommendations, or whatever) for later, so we need to be able to organize effectively to find them when we want them. We write blog posts about blog posts that we read. We comment on news stories. We download software updates.

This is related to "Not all feeds are created equal", above. I'd like to be able to attach a note to an item. I'd like to record my thoughts about a recipe or a song that an item mentions. I'd like to be able to save a link related to an item. Ideally, I'd like to be able to do things like add appointments to my calendar with links back to items, or save comments I've made on a blog post, or link two posts together, or a hundred other things.

This one might have the most potential for increasing the value of a feed reader, but it might also be the hardest problem to solve. It won't do anyone any good to have bloated software that can do everything poorly. Probably, substantial progress on this one would require many programs to work together. There's been some work on this front in recent years, but there's still a long way to go.

Where we are now

I've yet to find a feed reader that really does what I want. The one I'm using currently, FeedDemon, is fairly unsatisfactory because it's Windows only, ad supported, and (as I mentioned above) only saves up to 2500 items per feed, which is a pretty grave sin. Unfortunately, it's also the best one I've come across, so far. Thunderbird's feed support is unusably horrible. RSSOwl crashes if I so much as look at it wrong. Many feed readers don't have a newspaper view, which I can't easily do without. Many feed readers are old, unmaintained, and short on features besides.

I would desperately like to find a good, open source, and ideally cross-platform feed reader to replace FeedDemon, but so far I've had no luck. I can't make a decent GUI to save my life, so I guess I'll just have to keep looking.