Spymasters choose Atom over RSS
Spies are talking about me. More on that in a minute, after this context:
The U.S. Intelligence Community Metadata Working Group (ICMWG) has been chartered to recommend standards for data exchange among intelligence agencies in the federal government. They have strong ties to the Director of National Intelligence and the XML Schema Interoperability community as well.
James Snell just spotted a whitepaper issued by the group that recommends that the U.S. intelligence community (spy agencies, military intel, etc.) abandon the use of RSS 2.0 and move to Atom 1.0. The whitepaper discusses at length the problems it has seen in RSS 2.0, many of which are centered on imprecision in the RSS specification. Some excerpts:
RSS versus Atom
“This white paper recommends that the Intelligence Community, over time, move toward adoption of Atom Syndication Format as the Community’s standard XML-based language for syndication feeds.”
“While it is possible to validate RSS feeds using online tools such as Feed Validator and W3C Feed Validation Service for Atom and RSS, application-level validation is complicated by the lack of formal RSS schemas, multiple versions, possible extensions, and a proliferation of namespaces.”
“There is little doubt that RSS is far more prevalent at this time than is Atom…. As is often the case, however, the popular technology is not necessarily the best (consider VHS vs. Beta…)”
“Also of importance to the IC is the fact that Atom processors are required to respect XML security measures used by publishers of Atom feeds if they conform to the W3C Digital Signatures and XML Encryption specifications.”
“We recommend a gradual transition to Atom 1.0 for the Intelligence Community because we believe Atom is the superior syndication format. IC organizations should move toward publishing Atom feeds.”
All Roads Lead To…
I was interested to find that the whitepaper recommends the use of ROME by developers in the intelligence community:
We further recommend that developers investigate free Java software called “ROME” (RSS and Atom Utilities), which provides an abstraction layer for syndication feeds so that either RSS or Atom can be generated from the same base. ROME can also be used to convert between RSS and Atom formats.
Okay, so the spies aren’t actually talking about me, as far as I know. But I was surprised to see that the whitepaper recommends an article I wrote on how to use ROME: “ROME in a Day: Parse and Publish Feeds in Java“. I think those of us on the ROME project could get some interesting mileage out of this….
Anyway, I found myself reluctantly nodding to many of the conclusions made in the whitepaper about RSS and Atom. I’m just putting the finishing touches on a piece for O’Reilly about building RSS feeds, and there are several sections where I spent more time talking about how to deal with the imprecision or problems of RSS than how to “just build it.” That may not be as big of a deal for a blogger, but the whitepaper makes it clear that Uncle Sam needs an exacting specification for good reasons.


September 22nd, 2006 at 20:17
The migration to Atom is inevitable. Dave might be able to bully his clueless blogging buddies to indulge his ever expanding ego but the facts speak for themselves. Atom provides developers what they need to provide their users stable, secure and usable content syndication infrastructure. RSS 2.0 does not.
It’s good to see that ROME is getting its props. Well done.
September 22nd, 2006 at 20:55
Atom 0.3 accounts for 89% of Atom feeds, is not capatible with Atom 1.0, is deprecated and all Atom 0.3 feeds are invalid according to both mentioned validators. As such, saying a problem is that RSS has multiple versions, without saying the same of Atom, indicates a clear bias on the part of the authors. At least RSS 2.0 makes up 87% of RSS feeds.
Data from Rmail
http://www.r-mail.org/blog/?guid=20060803093810
September 22nd, 2006 at 21:21
You have a good point about the abuse of Atom 0.3, Randy.
Still, Atom 0.3 was always labeled a beta and not for production use. Atom 1.0 deprecated 0.3 quite specifically. I hesitate to blame a specification for the people who do not abide by it. (HTML is a great spec, but we don’t blame it for people who write invalid/deprecated HTML.)
On the other hand, RSS 2.0 does not state, “All other versions are now deprecated.” There is no migration path in RSS, just multiple formats from which to choose. The issue of too many variations could be solved with a deprecation statement in RSS 2.0… if only it weren’t frozen.
Everybody knows I love RSS. I just wish there were ways to address the shortcomings in the specification itself.
September 30th, 2006 at 14:12
Just a note, RSS 2.0 is backwards compatible with RSS 0.9x. The idea was that you could continue using 0.9x and any parser that read 2.0 would work for 0.9x. No deprecation was necessary. Of course, that’s not true of 1.0.