Amazon engineer DeWitt Clinton's ringing endorsement of Atom over RSS as the XML flavour of choice for syndicated feed content for discerning geeks made headlines yesterday, although the points he makes have been made before. Nevertheless, it is perhaps the clearest explanation yet of why corporate developers should standardise their internal feeds on Atom.
There are two main reasons why Atom is better than RSS. The first is that RSS has flaws, as detailed in one of Clinton's linked articles. Not huge flaws, not showstoppers, but enough to get developers pulling their hair out. Most of these have to do with lack of support for tagging standards which have been adopted in other XML flavours, such as language tagging, date specifications and some proprietary RSS tags which assume a rather quaint publishing model, like managingEditor and webMaster.
These non-standard methods often result in unclear standards, shown most notably in the highly unorthodox date system which causes geeks used to W3C-approved perfection no end of grief. The second is that Atom has more features -- not surprising, since Atom is an extension of RSS. As Clinton's example demonstrates, RSS is built with simple HTML content in mind, and has trouble with handling rich content in comparison to Atom.
Now, that's not to say Atom is in all ways superior. RSS is more widely deployed, which is an advantage in itself. RSS is simpler by far to implement if your requirements do not extend past its capabilities. If all you're publishing is flat text or even tagged HTML, RSS is perfectly acceptable, as long as you're prepared to spend time to deal with its little peccadilloes now and again. Another big plus with RSS is that its spec is locked at version 2.0, never to be tinkered with -- or at least, due to it being under Creative Commons licence, not to be tinkered with while still calling it RSS. This provides certainty with deployment, something valued by developers who have been through the wringer with some of the more contentious W3C-sponsored XML flavours like SOAP.
So why should corporate developers choose Atom over RSS? In most cases they needn't: they can publish both, and should do so in the case of customer-accessible feeds. However, there is still a long way to go in the evolution of how syndication feeds are used both inside and outside the enterprise, and Atom provides the most flexible platform for the medium to long term. As Clinton suggests, it may be that RSS wins the branding war, but Atom wins the hearts of developers, and everyone will be happy.
There, I wrote a whole article about RSS and didn't mention Dave Winer once!