Filename extension | .atom, .xml |
---|---|
Internet media type | application/atom+xml |
Developed by | Internet Engineering Task Force |
Initial release | RFC 4287 December 2005 |
Type of format | Web syndication |
Container for | Updates of a website and its related metadata (Web feed) |
Extended from | XML |
Open format? | Yes |
Website | www |
The name Atom applies to a pair of related Web standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol (AtomPub or APP) is a simple HTTP-based protocol for creating and updating web resources. [1]
Web feeds allow software programs to check for updates published on a website. To provide a web feed, the site owner may use specialized software (such as a content 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 various metadata.
The Atom format was developed as an alternative to RSS. 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 remain backward 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 an IETF proposed standard in RFC 4287 (December 2005), and the Atom Publishing Protocol was published as RFC 5023 (October 2007).
The blogging community uses web feeds to 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 2016 [update] people 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 and wiki sites offer their web feeds in the Atom format.
A feed reader or "aggregator" program can be used to check feeds and to display new articles. Client-side readers may also be designed as standalone programs or as extensions to existing programs like web 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.
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." [3]
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: [4]
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).
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.
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.
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. There are several reasons for this:
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. [10]
In June 2003, Sam Ruby set up a wiki to discuss what makes "a well-formed log entry". [11] This initial posting acted as a rallying point. [12] 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 the Blogger API and LiveJournal XML-RPC Client/Server Protocol as well.
The project aimed to develop a web syndication format that was: [13]
In short order, a project road map [13] was built. The effort quickly attracted more than 150 supporters, including David Sifry of Technorati, Mena Trott of Six Apart, Brad Fitzpatrick of LiveJournal, 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. [14] Also, Dave Winer, the key figure behind RSS 2.0, gave tentative support to the new endeavor. [15]
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) [16] before settling on Atom. After releasing a project snapshot known as Atom 0.2 in early July 2003, discussion was shifted off the wiki.
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. Google's Data APIs (Beta) GData are based on Atom 1.0 and RSS 2.0.
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 (IETF). The group eventually chose the IETF and the Atompub working group [17] 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) and Paul Hoffman. Initial development was focused on the syndication format.
The Atom Syndication Format was issued as a Proposed Standard in IETF RFC 4287 in December 2005. The co-editors were Mark Nottingham and Robert Sayre. This document is known as atompub-format in IETF's terminology. The Atom Publishing Protocol was issued as a Proposed Standard in IETF RFC 5023 in October 2007. Two other drafts have not been standardized. [18]
An example of a document in the Atom Syndication Format:
<?xml version="1.0" encoding="utf-8"?><feedxmlns="http://www.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://www.w3.org/1999/xhtml"><p>Thisistheentrycontent.</p></div></content><author><name>JohnDoe</name><email>johndoe@example.com</email></author></entry></feed>
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"/>
A Uniform Resource Identifier (URI), formerly Universal Resource Identifier, is a unique sequence of characters that identifies an abstract or physical resource, such as resources on a webpage, mail address, phone number, books, real-world objects such as people and places, concepts. URIs are used to identify anything described using the Resource Description Framework (RDF), for example, concepts that are part of an ontology defined using the Web Ontology Language (OWL), and people who are described using the Friend of a Friend vocabulary would each have an individual URI.
RSS is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many different websites in a single news aggregator, which constantly monitors sites for new content, removing the need for the user to manually check them. News aggregators can be built into a browser, installed on a desktop computer, or installed on a mobile device.
WebDAV is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents directly in an HTTP web server by providing facilities for concurrency control and namespace operations, thus allowing Web to be viewed as a writeable, collaborative medium and not just a read-only medium. WebDAV is defined in RFC 4918 by a working group of the Internet Engineering Task Force (IETF).
Web standards are the formal, non-proprietary standards and other technical specifications that define and describe aspects of the World Wide Web. In recent years, the term has been more frequently associated with the trend of endorsing a set of standardized best practices for building web sites, and a philosophy of web design and development that includes those methods.
On the World Wide Web, a web feed is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe a channel to it by adding the feed resource address to a news aggregator client. Users typically subscribe to a feed by manually entering the URL of a feed or clicking a link in a web browser or by dragging the link from the web browser to the aggregator, thus "RSS and Atom files provide news updates from a website in a simple form for your computer."
Timothy William Bray is a Canadian software developer, environmentalist, political activist and one of the co-authors of the original XML specification. He worked for Amazon Web Services from December 2014 until May 2020 when he quit due to concerns over the terminating of whistleblowers. Previously he has been employed by Google, Sun Microsystems and Digital Equipment Corporation (DEC). Bray has also founded or co-founded several start-ups such as Antarctica Systems.
Channel Definition Format (CDF) was an XML file format formerly used in conjunction with Microsoft's Active Channel, Active Desktop and Smart Offline Favorites technologies. The format was designed to "offer frequently updated collections of information, or channels, from any web server for automatic delivery to compatible receiver programs." Active Channel allowed users to subscribe to channels and have scheduled updates delivered to their desktop. Smart Offline Favorites, like channels, enabled users to view webpages from the cache.
JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
Microformats (μF) are predefined HTML markup created to serve as descriptive and consistent metadata about elements, designating them as representing a certain type of data. They allow software to process the information reliably by having set classes refer to a specific type of data rather than being arbitrary.
In computing, a news aggregator, also termed a feed aggregator, content aggregator, feed reader, news reader, or simply an aggregator, is client software or a web application that aggregates digital content such as online newspapers, blogs, podcasts, and video blogs (vlogs) in one location for easy viewing. The updates distributed may include journal tables of contents, podcasts, videos, and news items.
Sitemaps is a protocol in XML format meant for a webmaster to inform search engines about URLs on a website that are available for web crawling. It allows webmasters to include additional information about each URL: when it was last updated, how often it changes, and how important it is in relation to other URLs of the site. This allows search engines to crawl the site more efficiently and to find URLs that may be isolated from the rest of the site's content. The Sitemaps protocol is a URL inclusion protocol and complements robots.txt
, a URL exclusion protocol.
In blogging, a ping is an XML-RPC-based push mechanism by which a weblog notifies a server that its content has been updated. An XML-RPC signal is sent from the weblog to one or more Ping servers, as specified by originating weblog), to notify a list of their "Services" of new content on the weblog.
FeedSync for Atom and RSS, previously Simple Sharing Extensions, are extensions to RSS and Atom feed formats designed to enable the bi-directional synchronization of information by using a variety of data sources. Initially developed by Ray Ozzie, Chief Software Architect at Microsoft, it is now maintained by Jack Ozzie, George Moromisato, Matt Augustine, Paresh Suthar and Steven Lees. Dave Winer, the designer of the UserLand Software RSS specification variants, has given input for the specifications.
Sam Ruby is a prominent software developer who has made significant contributions to web standards and open source software projects. In particular he has contributed to the standardization of syndicated web feeds via his involvement with the Atom standard and the Feed Validator web service.
GeoRSS is a specification for encoding location as part of a Web feed. (Web feeds are used to describe feeds of content, such as news articles, Audio blogs, video blogs and text blog entries. These web feeds are rendered by programs such as aggregators and web browsers.) The name "GeoRSS" is derived from RSS, the most known Web feed and syndication format.
Web syndication technologies were preceded by metadata standards such as the Meta Content Framework (MCF) and the Resource Description Framework (RDF), as well as by 'push' specifications such as Channel Definition Format (CDF). Early web syndication standards included Information and Content Exchange (ICE) and RSS. More recent specifications include Atom and GData.
In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.
XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.
The Open Publication Distribution System (OPDS) catalog format is a syndication format for electronic publications based on Atom and HTTP. OPDS catalogs enable the aggregation, distribution, discovery, and acquisition of electronic publications. OPDS catalogs use existing or emergent open standards and conventions, with a priority on simplicity.
The Salmon Protocol is a message exchange protocol running over HTTP designed to decentralize commentary and annotations made against newsfeed articles such as blog posts. It allows a single discussion thread to be established between the article's origin and any feed reader or "aggregator" which is subscribing to the content. Put simply, that if an article appeared on 3 sites: A, B and C, that members of all 3 sites could see and contribute to a single thread of conversation regardless of site they were viewing from.
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.