Making RSS real-time

One of the critiques of RSS feeds in a world dominated by Facebook and Twitter is that RSS just isn’t fast enough. You can’t hope to achieve what Twitter calls “in-the-moment updates” and “watch events unfold” if your client is polling each web site’s RSS feed once an hour for new microblog posts.

Luckily this was solved years ago. Many blogging apps (including WordPress) have a setting to “ping” another server when a post has been published. When it receives this notification, the other server can request the RSS feed and make note of the new post right away.

There are a few flavors of this, such as just passing the URL of the updated feed, or sending an XML-RPC request, or passing the actual post content along with the ping as JSON. It may not be the most efficient or elegant solution, but it works well, and it’s significantly better than frequent polling. You could build something on this.

Some distributed Twitter clones try to come up with something more clever instead. And there are attempts like PubSubHubbub with significant traction. But adopting any new technology is hard, and this ping system is surprisingly well deployed already. Worse is better wins again.