Jump to content

Atom (web standard)

From Wikipedia, the free encyclopedia

Atom
Filename extension
.atom,.xml
Internet media type
application/atom+xml
Developed byInternet Engineering Task Force
Initial releaseRFC4287December 2005;18 years ago(2005-12)
Type of formatWeb syndication
Container forUpdates of a website and its related metadata (Web feed)
Extended fromXML
Open format?Yes
Websitewww.ietf.org/rfc/rfc4287.txt
User interface of a feed reader

The nameAtomapplies to a pair of relatedWeb standards.TheAtom Syndication Formatis anXMLlanguage used forweb feeds,while theAtom Publishing Protocol(AtomPuborAPP) is a simpleHTTP-based protocol for creating and updating web resources.[1]

Web feeds allowsoftwareprograms to check for updates published on a website. To provide a web feed, the site owner may use specialized software (such as acontent management system) that publishes a list (or "feed" ) of recent articles or content in a standardized, machine-readable format. The feed can then be downloaded by programs that use it, like websites that syndicate content from the feed, or by feed reader programs that allow internet users to subscribe to feeds and view their content.

A feed contains entries, which may be headlines, full-text articles, excerpts, summaries or links to content on a website along with variousmetadata.

The Atom format was developed as an alternative toRSS.Ben Trott,an advocate of the new format that became Atom, believed that RSS had limitations and flaws—such as lack of on-going innovation and its necessity to remainbackward compatible—and that there were advantages to a fresh design.[1]

Proponents of the new format formed the IETF Atom Publishing Format and Protocol Workgroup. The Atom Syndication Format was published as anIETFproposed standard inRFC4287(December 2005), and the Atom Publishing Protocol was published asRFC5023(October 2007).

Usage

[edit]

Thebloggingcommunity usesweb feedsto share recent entries' headlines, full text, and even attached multimedia files.[2]The providers allow other websites to incorporate a blog's "syndicated" headline or headline-and-short-summary feeds under various usage agreements. As of 2016people use Atom and other web-syndication formats for many purposes, including journalism, marketing, bug-reports, or any other activity involving periodic updates or publications. Atom also provides a standard way to export an entire blog, or parts of it, for backup or for importing into other blogging systems.

It is common to find web feeds on major websites, as well as on many smaller ones.[citation needed]Some websites let people choose between RSS- or Atom-formatted web feeds; others offer only RSS or only Atom. In particular, many blog andwikisites offer their web feeds in the Atom format.

Afeed readeror "aggregator" program can be used to check feeds and to display new articles.Client-sidereaders may also be designed as standalone programs or as extensions to existing programs likeweb browsers.

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., taking all football-related items from several sports feeds and providing a new football feed.

Atom compared to RSS 2.0

[edit]

When Atom emerged as a format intended to rival or replaceRSS,CNETdescribed the motivation of its creators as follows: "Winer'sopponents 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. "[3]

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

Date formats

[edit]

The RSS 2.0 specification relies on the use ofRFC822formatted 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 byRFC3339(which is a subset ofISO 8601;seeAppendix A in RFC 3339for differences).

Internationalization

[edit]

While theRSSvocabulary 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 ofInternationalized Resource Identifiers,which allow links to resources and unique identifiers to contain characters outside the USASCIIcharacter set.

Modularity

[edit]

The elements of the RSS vocabulary are not generally reusable in otherXMLvocabularies. 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

[edit]

Despite the emergence of Atom as an IETF Proposed Standard and the decision by major companies such asGoogleto embrace Atom, use of the older and better-known RSS formats has continued. There are several reasons for this:

  • RSS 2.0 support forenclosuresled directly to the development ofpodcasting.While many podcasting applications, such asiTunes,support the use of Atom 1.0, RSS 2.0 remains the preferred format.[5]
  • Many sites choose to publish their feeds in only a single format. For example,CNNandThe New York Timesoffer 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.[6][7]

Development history

[edit]

Background

[edit]

Before the creation of Atom the primary method of web content syndication was 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 the official specification document stated that it was purposely frozen to ensure its stability.[8]

Initial work

[edit]

In June 2003,Sam Rubyset up a wiki to discuss what makes "a well-formed log entry".[9]This initial posting acted as a rallying point.[10]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 form the basis of a more robust replacement for blog editing protocols such as theBloggerAPI andLiveJournalXML-RPCClient/Server Protocol as well.

The project aimed to develop a web syndication format that was:[11]

  • "100% vendor neutral,"
  • "implemented by everybody,"
  • "freely extensible by anybody, and"
  • "cleanly and thoroughly specified."

In short order, a project road map[11]was built. The effort quickly attracted more than 150 supporters, includingDavid SifryofTechnorati,Mena TrottofSix Apart,Brad Fitzpatrickof LiveJournal,Jason ShellenofBlogger,Jeremy ZawodnyofYahoo,Timothy Appnel of theO'Reilly Network,Glenn Otis Brown ofCreative CommonsandLawrence Lessig.Other notables supporting Atom includeMark Pilgrim,Tim Bray,Aaron Swartz,Joi Ito,and Jack Park.[12]Also,Dave Winer,the key figure behind RSS 2.0, gave tentative support to the new endeavor.[13]

After this point, discussion became chaotic, due to the lack of a decision-making process. The project also lacked a name, tentatively using "Pie," "Echo," "Atom," and "Whatever" (PEAW)[14]before settling on Atom. After releasing a project snapshot known asAtom 0.2in early July 2003, discussion was shifted off the wiki.

Atom 0.3 and adoption by Google

[edit]

The discussion then moved to a newly set up mailing list. The next and final snapshot during this phase wasAtom 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,andGmail.Google's Data APIs (Beta)GDataare based on Atom 1.0 and RSS 2.0.

Atom 1.0 and IETF standardization

[edit]

In 2004, discussions began about moving the project to a standards body such as theWorld Wide Web Consortiumor theInternet Engineering Task Force(IETF). The group eventually chose the IETF and the Atompub working group[15]was formally set up 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) andPaul Hoffman.Initial development was focused on the syndication format.

TheAtom Syndication Formatwas issued as a Proposed Standard in IETFRFC4287in December 2005. The co-editors were Mark Nottingham and Robert Sayre. This document is known asatompub-formatin IETF's terminology. TheAtom Publishing Protocolwas issued as a Proposed Standard in IETFRFC5023in October 2007. Two other drafts have not been standardized.[16]

Example of an Atom 1.0 feed

[edit]

An example of a document in the Atom Syndication Format:

<?xml version= "1.0" encoding= "utf-8"?>

<feedxmlns="http:// w3.org/2005/Atom">

<title>ExampleFeed</title>
<subtitle>Asubtitle.</subtitle>
<linkhref="http://example.org/feed/"rel="self"/>
<linkhref="http://example.org/"/>
<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
<updated>2003-12-13T18:30:02Z</updated>


<entry>
<title>Atom-PoweredRobotsRunAmok</title>
<linkhref="http://example.org/2003/12/13/atom03"/>
<linkrel="alternate"type="text/html"href="http://example.org/2003/12/13/atom03.html"/>
<linkrel="edit"href="http://example.org/2003/12/13/atom03/edit"/>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<published>2003-11-09T17:23:02Z</published>
<updated>2003-12-13T18:30:02Z</updated>
<summary>Sometext.</summary>
<contenttype="xhtml">
<divxmlns="http:// w3.org/1999/xhtml">
<p>Thisistheentrycontent.</p>
</div>
</content>
<author>
<name>JohnDoe</name>
<email>johndoe@example</email>
</author>
</entry>

</feed>

Including in HTML

[edit]

The following tag should be placed into the head of an HTML document to provide a link to an Atom feed.

<linkhref="atom.xml"type="application/atom+xml"rel="alternate"title="Sitewide Atom feed"/>

See also

[edit]

References

[edit]
  1. ^abTrott, Benjamin (29 June 2003)."Why We Need Echo".Six Apart — News and Events.Archived fromthe originalon 16 February 2008.
  2. ^See alsopodcasting,vodcasting,broadcasting,screencasting,vlogging,andMP3 blogs.
  3. ^Festa, Paul (4 August 2003)."Battle of the blog, Dispute exposes bitter power struggle behind Web logs".news.cnet. Archived fromthe originalon 6 August 2009.Retrieved6 August2008.The conflict centers on something called Really Simple Syndication (RSS), a technology widely used to syndicate blogs and other Web content. The dispute pits Harvard Law fellow Dave Winer, the blogging pioneer who is the key gatekeeper of RSS, against advocates of a different format.
  4. ^"RSS 2.0 and Atom 1.0 Compared".Atom Wiki.Archivedfrom the original on 4 December 2007.Retrieved4 December2007.
  5. ^"Making a Podcast".Apple Inc.Archivedfrom the original on 11 January 2008.Retrieved4 December2007.
  6. ^Quain, John R. (3 June 2004)."Fine-Tuning Your Filter for Online Information".New York Times.Archivedfrom the original on 15 December 2016.Retrieved4 March2017.
  7. ^Tedeschi, Bob (29 January 2006)."There's a Popular New Code for Deals: RSS".New York Times.Archived fromthe originalon 17 July 2006.
  8. ^"RSS 2.0 Specification (RSS 2.0 at Harvard Law)".cyber.harvard.edu.Archivedfrom the original on 5 June 2022.Retrieved14 June2022.
  9. ^Ruby, Sam (16 June 2003)."Anatomy of a Well Formed Log Entry".Archived fromthe originalon 30 October 2012.Retrieved28 August2005.
  10. ^Bray, Tim (23 June 2003)."I Like Pie".Archivedfrom the original on 7 February 2006.Retrieved16 February2006.
  11. ^ab"Roadmap".Atom Wiki.Archivedfrom the original on 11 December 2007.Retrieved4 December2007.
  12. ^"Roadmap — Supporters".Atom Wiki.Archivedfrom the original on 11 December 2007.Retrieved4 December2007.
  13. ^Winer, Dave (26 June 2003)."Tentative endorsement of Echo".Archived fromthe originalon 8 February 2006.
  14. ^"ongoing by Tim Bray · Schemaware for PEAW 0.2".tbray.org.Archivedfrom the original on 30 March 2009.Retrieved19 January2009.
  15. ^"Atompub working group".Archived fromthe originalon 18 October 2007.
  16. ^Internet Engineering Task Force."Atompub Status Pages".Archivedfrom the original on 17 December 2007.Retrieved4 December2007.
[edit]