Really Simple Syndication (RSS, and a similar protocol, Atom) has been touted for several years as the way to keep track of many things: blog posts and comments, wiki edits, news headlines, even email messages and Twitter feeds. Nevertheless, email remains the de facto notification mechanism for most people and applications. I use RSS quite regularly to manage my blog reading, but I’m not very satisfied with it. Here’s why:
RSS is a pull medium
Any time I want to use an RSS reader, I need to ask my RSS reader to collect (pull) the RSS summary from each of the “feeds” (typically blogs) that I subscribe to. This works reasonably well for content that changes relatively slowly like many blogs, but works less well for headlines and especially Twitter. There is no mechanism for notifying me when something new shows up; I need to poll for it.
Lack of multi-device integration
I read blogs from at least three devices: my home machine, my work laptop, and my iPod Touch. I also read my home email from all of those places. The difference is that when I read an email message, all three places show the message as having been read. Not so with RSS. The devices don’t have a way of communicating with each other, so each time I change devices everything looks unread. Subscriptions are similarly disaggregated; I have to subscribe to each feed on each device. I’d rather, when I find a new blog (or something) worth reading, to be able to add it to all devices at once.
Poor reading organization
Rather than organizing the information by feed, I’d rather have a more flexible way of prioritizing the information. This is more of a client software problem than a protocol problem, but it’s still a reason I don’t like RSS as much as I might. I’d like it if my RSS reader organized the information it presents to me by subject (perhaps using keywords or tags to do so), or according to a more complex sorting algorithm that either I could specify or it would learn from my reading behavior.
Older information is lost
RSS feeds typically syndicate only relatively items, and are often limited to only the most recent N articles, where N is typically 20 or so. If N increases, the size of the feed increases proportionally, as does the overhead for the reader which has to match the current feed against its stored database to see what has already been read. However, lower values of N fail if the reader doesn’t regularly retrieve the feed. One currently has to expect that articles may be lost when you go on vacation, and that limits RSS to non-critical tasks.
Unless we want to continue to use email as a notification mechanism for everything, it would be useful to have a syndication mechanism that doesn’t suffer from the limitations of RSS (or Atom). A new mechanism could be designed that is more tailored to this purpose than email, and can be designed from the start to avoid the many ways that email is abused. For example, Mark Cuban recently talked about the use of WebHooks and PubSubHubbub to overcome the pull limitations of RSS and similar protocols. These and other (push) protocols have the potential to make the use of the Internet a much more responsive, event-driven experience.