After a spirited and extremely helpful discussion on the #wordpress channel on irc.freenode.net, I decided to write something up about Atom and RSS 2.0 and why the world is coming to an end because IE does not support application/xhtml+xml. I am no-one but a simple blogger and coder trying to understand the nuances of stupid tech wars between entrenched gurus and this is a feeble attempt at helping others like me understand the concepts better. Thanks to Michel and Anne for their help in getting me started. I will directly quote them both.
To begin with, in 10 words or less, why is Atom better than RSS?
Well, because it is the same as semantic HTML (Atom) versus tag-soup (RSS). Now “tag soup” is a term that is used often and without remorse. Basicallty tag soup is markup that will not validate or synctactically incorrect usage of markup.
So how is Atom better than RSS again?
Well, RSS is much less defined than Atom. So, Atom being a semantic language definition, when used correctly, will behave much like XHTML (which is a semantic language definition). In the end, we have code which validates, which is easier to deal with (as a programmer or a script reading your feed) and the world is a better place to live in.
So what are the major issues with RSS? Can they be fixed since RSS is so popular?
RSS’s main problem is with the description and title elements, that they may be encoded HTML, or not. As markp puts it, “I can’t tell you, and you can’t guess”. RSS doesn’t have any way to say a link is ‘ via’ ‘related’ or ‘alternate’, although you could put it all into the content stuff, but that sucks since you can’t process that data and keep track of it. In Rss there is also some problem with silent data loss and all versions of RSS are incompatible with each other while they claim they are compatible. In Atom, you provide the data type and everything can be defined (using ‘type=text/html’ etc.) so the aggregator knows what to do.
What is the application/xhtml+xml business and why is everyone so tanked up about it?
“Serving your nice, fresh xhtml pages as application/xhtml+xml has it’s advantages, as a conforming user agent should refuse to render your pages if your markup is invalid. If text/html is used, a browser should revert to tagsoup-mode.” This however, has its own series of advantages and pitfalls. IE does not support application/xhtml+xml. There are ways to get around that as well, but most developers either choose to avoid it (for now) or get pissed off at other developers for not choosing it.
So, if this is such an open and shut case, how come there is so much hoopla about it?
Many of the consumer focussed and yet influential people could not care less.
Chris Pirillo, an RSS enthusiast who tracks the growth of the technology for Lockergnome’s RSS Resource, believes the merger talk is meaningless. “This doesn’t matter because nobody cares outside of a few geeks,” Pirillo told internetnews.com “If your aggregator supports Atom, it doesn’t matter. If it doesn’t support Atom, users will choose a different aggregator.”
According to Pirillo, consumers are more concerned about finding a newsreader/aggregator that will read all the formats instead of a bitter battle over which format is better for syndication.
The proponents of both RSS and Atom have just gotten too entrenched in their beliefs and too caught up in the battle to see the big picture. Google likes Atom and makes no excuses. Microsoft developers are starting to see the benefits of Atom and are starting to sway. Mark P and other Gung Ho Atom fans would love to see further precipitation of these issues.
My blogs, being as inconsequential as they are, are going to continue supporting both RSS and Atom feeds for now. I get a substantial number of hits on my feeds everyday and with the growing issues with encoding support for RSS and the respect and appreciation that I have developed for Atom, I might switch to advertising Atom feeds only.