Atom (standard)
From Free net encyclopedia
{{Infobox file format | name = Atom | icon = Image:Feed-icon.svg | extension = .atom, .xml | mime = application/atom+xml | owner = | creatorcode = | genre = Syndication | containerfor = | containedby = | extendedfrom = XML | extendedto = }} Template:For
Atom is the name of a specific web feed format. Web feeds, from a user's perspective, allow Internet users to subscribe to websites that change or add content regularly. To use this technology, site owners create or obtain specialized software (such as a content management system) which, in the machine-readable XML format, presents new articles in a list, giving a line or two of each article and a link to the full article or post. Unlike subscriptions to many printed newspapers and magazines, most web subscriptions are free.
Web feeds in general provide web content or summaries of web content together with links to the full versions of the content, and other meta-data in a developer-friendly standardized format. Atom in particular delivers this information as an XML file called an Atom feed, webfeed, Atom stream, or Atom channel. In addition to facilitating syndication, web feeds allow a website's frequent readers to track updates on the site using an aggregator.
Atom, from a technical perspective, is an open standard that includes both:
- an XML-based web syndication format used by weblogs, news websites and web mail and,
- an HTTP-based protocol for remote editing of Atom-based weblogs
The development of Atom was motivated by perceived deficiencies in the RSS 2.0 format and associated XML-RPC APIs [1]. Atom is now a formal IETF proposed standard detailed in the recently released RFC 4287.
Contents |
Usage
Web feeds are used by the weblog community to share the latest entries' headlines or their full text, and even attached multimedia files. (See podcasting, vodcasting, broadcasting, screencasting, Vloging, and MP3 blogs.) These providers allow other websites to incorporate their "syndicated" headline or headline-and-short-summary feeds under various usage agreements. Atom and other web syndication formats are now used for many purposes, including marketing, bug-reports, or any other activity involving periodic updates or publications.
A program known as a feed reader or aggregator can check webpages on behalf of a user and display any updated articles that it finds. It is common to find web feeds on major Web sites, as well as many smaller ones. Some websites let people choose between RSS or Atom formatted web feeds; others offer only RSS or only Atom. In particular, many Blog and Wiki sites offer their web feeds in the Atom format.
Client-side readers and aggregators are typically constructed as standalone programs or extensions to existing programs like web browsers. Browsers are moving toward integrated feed reader functions, such as Safari RSS, Opera, Firefox and Internet Explorer. Such programs are available for various operating systems.
Web-based feed readers and news aggregators require no software installation and make the user's "feeds" available on any computer with Web access. Some aggregators syndicate (combine) web feeds into new feeds, e.g., take all football related items from several sports feeds and provide a new football feed. There are also search engines for content published via web feeds like Technorati and Blogdigger.
On Web pages, web feeds (Atom or RSS) are typically linked the word "Subscribe" or with an orange rectangle, Image:Livemark.png.
Atom Compared to RSS 2.0
The main starting point and motivation for the development of Atom was the perceived deficiencies in widely adopted RSS 2.0 syndication format [2]. The intention was to ease the difficulty of developing applications with web syndication feeds. A brief description of the main issues of RSS 2.0 addressed by Atom 1.0 follows [3], [4]:
- 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 in contrast uses an explicitly labeled (i.e. typed) payload container.
- RSS 2.0 has a "description" element which can contain either a full entry or just a description. Atom has separate “summary” and “content” elements. Atom thus allows the inclusion of non-textual content that can be described by the summary.
- Atom standardizes autodiscovery in contrast to the many non-standard variants used with RSS 2.0.
- Atom is within an XML namespace whereas RSS 2.0 is not.
- Atom specifies use of the XML's built-in xml:base for relative URIs. RSS 2.0 does not have a means of differentiating between relative and non-relative URIs.
- Atom uses XML's built-in xml:lang attribute as opposed to RSS 2.0's use of its own "language" element.
- Atom 1.0 includes an XML schema. RSS 2.0 does not.
- In Atom, it is mandatory that each entry has a globally unique ID.
- Atom 1.0 allows standalone Atom Entry documents whereas with RSS 2.0 only full <rss> documents are supported.
- RSS 2.0 was copyrighted by Harvard University and it was purposely frozen. Atom is an open and evolvable standard that has undergone the IETF standardization process.
- Atom specifies that dates be in the format described in RFC 3339 (which is a subset of ISO 8601). Date format in RSS 2.0 was underspecified and has led to many different formats being used.
Development History
Background
Prior to the creation of Atom, the primary method for web content syndication was via the RSS family of formats.
Members of the community who felt there were significant deficiencies with this family of formats were unable to make changes directly to RSS 2.0, because it was not an open standard. RSS 2.0 was copyrighted by Harvard University and in the official specification document it stated that it was purposely frozen "no significant changes can be made and it is intended that future work be done under a different name". [5]
Initial Work
In June 2003, Sam Ruby set up a wiki to discuss what makes "a well-formed log entry". This initial posting acted as a rallying point. [6] People quickly started using the wiki to discuss a new syndication format to address the shortcomings of RSS. It also became clear that the new format could also form the basis of a more robust replacement for blog editing protocols such as Blogger API and LiveJournal XML-RPC Client/Server Protocol.
The project aimed to develop a web syndication format that was: [7]
- "100% vendor neutral,"
- "implemented by everybody,"
- "freely extensible by anybody, and"
- "cleanly and thoroughly specified."
In short order, a project road map was built. The effort quickly attracted more than 150 supporters including David Sifry of Technorati, Mena Trott of Six Apart, Brad Fitzpatrick of Live Journal, Jason Shellen of Blogger, Jeremy Zawodny of Yahoo, Timothy Appnel of the O'Reilly Network, Glenn Otis Brown of Creative Commons and Lawrence Lessig. Other notables supporting Atom include Mark Pilgrim, Tim Bray, Aaron Swartz, Joi Ito, and Jack Park. [8] Also, Dave Winer, the key figure behind RSS 2.0, gave tentative support to the Atom endeavor (which at the time was called Echo.)[9]
After this point, discussion became chaotic, due to the lack of a decision-making process. The project also lacked a name, with "Pie," "Echo," and "Necho" used before settling on Atom. After releasing a project snapshot known as Atom 0.2 in early July 2003, discussion was shifted off the wiki.
Atom 0.3 and Adoption by Google
The discussion then moved to a newly set up mailing list. The next and final snapshot during this phase was Atom 0.3, released in December 2003. This version gained widespread adoption in syndication tools, and in particular it was added to several Google-related services, such as Blogger, Google News and Gmail.
Atom 1.0, Microsoft support and IETF standardization
In 2004, discussions began about moving the project to a standards body such as the World Wide Web Consortium or the Internet Engineering Task Force. The group eventually chose the IETF, and the Atompub working group was formally setup in June 2004, finally giving the project a charter and process. The Atompub working group is co-chaired by Tim Bray (the co-editor of the XML specification) and Paul Hoffman. Initial development was focused on the syndication format.
The final draft of Atom 1.0 was published in July 2005 and was accepted by the IETF as a "proposed standard" in August of 2005. Work then continued on the further development of the publishing protocol and various extensions to the syndication format.
Microsoft, in its release of Internet Explorer 7 Betas in late 2005 and early 2006, added Atom support to its integrated feed browser and web feed platform. Microsoft now consistently uses the term web feed to describe the technology instead of the format-specific RSS term.
The Atom Syndication Format was issued as a proposed "internet official protocol standard" in IETF RFC 4287 in December 2005. [10] The co-editors of RFC 4287 were Mark Nottingham and Robert Sayre.
Example of an Atom 1.0 Feed
An example of an Atom Feed document:
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <subtitle>Insert witty or insightful remark here</subtitle> <link href="http://example.org/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name>John Doe</name> <email>johndoe@example.com</email> </author> <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> </entry> </feed>
See also
- Category:Atom
- Sam Ruby
- Tim Bray
- XML
- Web syndication
- Syndication format family tree
- List of content syndication markup languages
External links
- Atom standard
- RFC 4287 - The formal standard
- Comparison of RSS and Atom Web Feed Formats
- The Atom API - Xml.com column by Mark Pilgrim
- Atom advocacy / evangelism:
- AtomEnabled.org - An unofficial website following the Atom project
- Planet Atom - A fusion of atom-related news
- Atom Syndication Format - Introduction - Overview
- Atom history & motivation
- Anatomy of a Well Formed Log Entry - the weblog post that started it all
- Why we need Echo (June 2003) - Motivation and goals of the Atom project
- Atom working group links
- Atom Wiki - The main place for work on Atom.
- Atom Protocol Mailing List - WG discussion of the publishing protocol
- Atom Syntax Mailing List - WG discussion of the syndication format
- IETF Atom Publishing Format and Protocol working group (atompub)zh-min-nan:Atom
ca:Atom de:Atom (XML-Format) et:Atom es:Atom fr:Atom ko:Atom it:Atom lv:Atom (standarts) hu:Atom (szabvány) pl:Atom (standard) pt:Atom ru:Atom fi:Atom sv:Atom (XML-format) zh:Atom ja:Atom