Switching from RSS to Atom

By Abhijit Menon-Sen <ams@toroid.org>


A faithful reader complained this morning that my RSS feed didn't have timestamps. This was a surprise to me, because I had suppressed all memories of RSS after cutting-and-pasting a template together months ago. But he was right: my entries contained only a title, a link, and some text. I tried to figure out how to specify timestamps, and soon realised that RSS is a complete mess with divergent streams of development and lax specifications (and that this wasn't news to anyone who had been paying attention).

I fixed the timestamp problem by adding a pubDate element to each item, but I was forced to change the feed version from 0.91 to 2.0 because pubDate is a channel element (and not an item element) in 0.91. I also decided that I didn't want to keep using RSS any more. Atom is now supported widely, and I decided to switch to it.

There are many reasons to prefer Atom to RSS. The most compelling ones are that the content-type problems of RSS disappear entirely. There is no ambiguity about what MIME type to serve Atom feeds as, and there is no ambiguity about whether the content is text or HTML, or how special characters are escaped. You no longer have to guess whether an entry contains a summary or full text, and relative URIs can be handled sanely. Best of all, Atom has a real specification. (Here's a detailed comparison of Atom 1.0 with RSS 2.0.)

It took me only a few minutes to publish an Atom feed for ams/etc. I am no longer advertising the RSS feed, but it will continue to work for the benefit of people already subscribed to it.