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.