Wednesday, April 20, 2011

Atom And RSS 2.0 Comparison

When Atom emerged as a format intended to rival or replace RSS, CNET described the motivation of its creators as follows: "Winer's opponents are seeking a new format that would clarify RSS ambiguities, consolidate its multiple versions, expand its capabilities, and fall under the auspices of a traditional standards organization."

A brief description of some of the ways Atom 1.0 differs from RSS 2.0 has been given by Tim Bray, who played a major role in the creation of Atom:

Content model
RSS 2.0 may contain either plain text or escaped HTML as a payload, with no way to indicate which of the two is provided. Atom, on the other hand, provides a mechanism to explicitly and unambiguously label the type of content being provided by the entry, and allows for a broad variety of payload types including plain text, escaped HTML, XHTML, XML, Base64-encoded binary, and references to external content such as documents, video, audio streams, and so forth.

Date formats
The RSS 2.0 specification relies on the use of RFC 822 formatted timestamps to communicate information about when items in the feed were created and last updated. The Atom working group chose instead to use timestamps formatted according to the rules specified by RFC 3339 (which is a subset of ISO 8601; see Appendix A in RFC 3339 for differences).

Internationalization
While the RSS vocabulary has a mechanism to indicate a human language for the feed, there is no way to specify a language for individual items or text elements. Atom, on the other hand, uses the standard xml:lang attribute to make it possible to specify a language context for every piece of human readable content in the feed.

Atom also differs from RSS in that it supports the use of Internationalized Resource Identifiers, which allow links to resources and unique identifiers to contain characters outside the US ASCII character set.

Modularity
The elements of the RSS vocabulary are not generally reusable in other XML vocabularies. The Atom syntax was specifically designed to allow elements to be reused outside the context of an Atom feed document. For instance, it is not uncommon to find atom:link elements being used within RSS 2.0 feeds.

Barriers to adoption
* Despite the emergence of Atom as an IETF Proposed Standard and the decision by major companies such as Google to embrace Atom, use of the older and better-known RSS formats has continued.
* RSS 2.0 support for enclosures led directly to the development of podcasting. While many podcasting applications, such as iTunes, support the use of Atom 1.0, RSS 2.0 remains the preferred format.
* Many sites choose to publish their feeds in only a single format. For example CNN and the New York Times offer their web feeds only in RSS 2.0 format.
* News articles about web syndication feeds have increasingly used the term "RSS" to refer generically to any of the several variants of the RSS format such as RSS 2.0 and RSS 1.0 as well as the Atom format.

No comments:

Post a Comment