XML Developer Tip
(Receive this column in your inbox,
click Edit your Profile to subscribe.)
Atom: XML-based publishing and Web syndication
Last fall (Autumn, 2003, that is) an initiative got underway at the IESG/IETF to define "... a common syntax for syndication, archiving, and publishing." According to Robin Cover's excellent summary of this work in progress, which now also involves the W3C as well as the IETF, Sam Ruby of the Emerging Technologies Group at IBM gets credit for most of the core ideas and design work in this area, which is now a cause celebre on numerous Internet wikis and weblog development sites.
How Atom is most commonly understood, however, is as a more general and powerful replacement for RSS (Really Simply Syndication or RDF Site Summary). RSS serves as the basis for most news headline feeds, Website metadata syndication, and content syndication—and is most strongly associated in many people's minds as the XML foundation for Web blogging. Much like RSS, Atom is developing as a consensus process from volunteers in the global Web community, but unlike RSS, Atom is intended to provide ways to keep content and metadata separate and distinct, and to provide mechanisms for delivery of all kinds of content from binary code to multimedia to the text and graphics most commonly associated with RSS feeds today.
In fact, Atom is intended to be extensible to support all kinds of application specific needs—such as licensing, access controls, content categorization, versioning, related resources, and more. Also, its core capabilities are built around primitives that should be familiar to anyone who's grappled with content creation and management issues already: sources or authorship, date stamps, resource identifier and locations, and numerous forms of content. The Atom API is described as presenting "... a technique for using XML and HTTP to edit content," where Cover explains "edit" to mean "ready, write, modify, delete" or HTTP GET, POST, PUT, DELETE operations.
Those who are interested in syndicating and managing collections of content will find Atom both interesting and challenging. It's not yet even reached draft recommendation status (nor is it completely clear if it will be an IETF, W3C, or joint specification effort). There are, however, some useful documents available for those interested in learning more:
- Atom syntax description
- Atom project roadmap
- Sam Ruby's "Atom in Depth" (presented at XML Conference 2003)
- Mark Pilgrims article for XML.com "The Atom API"
- The Atom Wiki front page
Cover's article (cited in the first paragraph here) includes more pointers and information, and is updated regularly (last touched on May 5, 2004).
Ed Tittel is a writer, trainer, and consultant based in Austin, TX, who writes and teaches on XML and related vocabularies and applications. E-mail Ed at email@example.com.