Jump to content

RSS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Spankman (talk | contribs) at 13:26, 3 May 2006 (Already linked above. This page is not a menu for external websites.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

RSS = Really Simple Syndication
RSS
Filename extension
.rss, .xml
Internet media type
application/rss+xml
Type of formatSyndication
Extended fromXML

RSS is a family of web feed formats, specified in XML and used for Web syndication. RSS is used by (among other things) news websites, weblogs and podcasting. The abbreviation is variously used to refer to the following standards:

  • Really Simple Syndication (RSS 2.0)
  • Rich Site Summary (RSS 0.91, RSS 1.0)
  • RDF Site Summary (RSS 0.9 and 1.0)
  • Real-time Simple Syndication (RSS 2.0)


Web feeds provide web content or summaries of web content together with links to the full versions of the content, and other metadata. RSS in particular, delivers this information as an XML file called an RSS feed, webfeed, RSS stream, or RSS channel. In addition to facilitating syndication, web feeds allow a website's frequent readers to track updates on the site using an aggregator.

Usage

Web feeds are widely 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.) Since mid-2000, use of RSS has spread to many of the major news organizations, including Reuters, CNN, PR Newswire, Business Wire, and the BBC. These providers allow other websites to incorporate their "syndicated" headline or headline-and-short-summary feeds under various usage agreements. RSS is now used for many purposes, including marketing, bug-reports, or any other activity involving periodic updates or publications. Many corporations are turning to RSS for delivery of their news, replacing email and fax distribution.

As the mainstream media attempts to realize the full potential of RSS, the new media is utilizing RSS by bypassing traditional news sources. Consumers and journalists are now able to have news constantly fed to them instead of searching for it.

A program known as a feed reader or aggregator can check a list of feeds on behalf of a user and display any updated articles that it finds. It is common to find web feeds on major websites and many smaller ones. Some websites let people choose between RSS or Atom formatted web feeds; others offer only RSS or only Atom.

RSS-aware programs are available for various operating systems. Client-side readers and aggregators are typically constructed as standalone programs or extensions to existing programs such as web browsers. Browsers such as Opera browser and Mozilla Firefox are moving toward integrated feed reader functions.

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 combine existing web feeds into new feeds, e.g., taking all football related items from several sports feeds and providing a new football feed. There are also search engines for content published via web feeds like Feedster or Blogdigger.

On Web pages, web feeds (RSS or Atom) are typically linked with the word "Subscribe", an orange rectangle, Livemark, or with the letters XML or RSS. Many news aggregators such as My Yahoo! publish subscription buttons (File:Addtomyyahoo4.gif) for use on Web pages to simplify the process of adding news feeds.

History

Before RSS several similar formats already existed for syndication, but none achieved widespread popularity or are still in common use today, as most were envisioned to work only with a single service. For example, in 1997 Microsoft created Channel Definition Format for the Active Channel feature of Internet Explorer 4.0, which became mildly popular. Dave Winer also designed his own XML syndication format for use on his Scripting News weblog, which was also introduced in 1997[1].

RDF Site Summary, the first version of RSS, was created by Dan Libby of Netscape in March 1999 for use on the My Netscape portal. This version became known as RSS 0.9. In July 1999, responding to comments and suggestions, Libby produced a prototype tentatively named RSS 0.91[2] (RSS standing for Rich Site Summary), that simplified the format and incorporated parts of Winer's scripting news format. This they considered an interim measure, with Libby suggesting an RSS 1.0-like format through the so-called Futures Document[citation needed].

Soon afterwards, Netscape lost interest in RSS/XML, leaving the format without an owner, just as it was becoming widely used. A working group and mailing list, RSS-DEV, was set up by various users and XML notables to continue its development. At the same time, Winer unilaterally posted a modified version of the RSS 0.91 specification to the Userland website, since it was already in use in their products. He claimed the RSS 0.91 specification was the property of his company, UserLand Software.[3] Since neither side had any official claim on the name or the format, arguments raged whenever either side claimed RSS as its own, creating what became known as the RSS fork.

The RSS-DEV group went on to produce RSS 1.0[4] in December 2000 based on a draft proposal of amendments to the specification presented by Tristan Louis[citation needed]. Like RSS 0.9 (but not 0.91) this was based on the RDF specifications, but was more modular, with many of the terms coming from standard metadata vocabularies such as Dublin Core.

Nineteen days later, Winer released by himself RSS 0.92[5], a minor and supposedly compatible set of changes to RSS 0.91 based on the same proposal. In April 2001, he published a draft of RSS 0.93[6] which was almost identical to 0.92. A draft RSS 0.94 surfaced in August, reverting the changes made in 0.93, and adding a type attribute to the description element.

In September 2002, Winer released a final successor to RSS 0.92, known as RSS 2.0 and emphasizing "Really Simple Syndication" as the meaning of the three-letter abbreviation. The RSS 2.0 spec removed the type attribute added in RSS 0.94 and allowed people to add extension elements using XML namespaces. Several versions of RSS 2.0 were released, but the version number of the document model was not changed.

In November, 2002, the New York Times began offering its readers the ability to subscribe to RSS news feeds related to various topics. In January, 2003, Winer called the New York Times' adoption of RSS the "tipping point" in driving the RSS format's becoming a de facto standard.

In July, 2003, Winer and Userland Software assigned ownership of the RSS 2.0 specification to his then workplace, Harvard's Berkman Center for the Internet & Society[7].

Winer was criticized for unilaterally creating a new format and raising the version number. In response, RSS 1.0 coauthor Aaron Swartz published RSS 3.0[8], a non-XML textual format. The format was possibly intended as a parody and only a few implementations were ever made.

In January 2005, Sean B. Palmer, Christopher Schmidt, and Cody Woodard produced a preliminary draft of RSS 1.1.[9] It was intended as a bugfix for 1.0, removing little-used features, simplifying the syntax and improving the specification based on the more recent RDF specifications. As of July 2005, RSS 1.1 had amounted to little more than an academic exercise.

In August 2005, Jonathan Avidan launched his own project to create an "RSS 3"[10], though apparently without backing from anyone in the RSS industry, and the project failed to take off. Sean B. Palmer and Morbus Iff, claiming to be acting on behalf of Aaron Swartz, sent a cease-and-desist notice for abuse of the RSS 3 name[11].

In November 2005, Microsoft proposed its Simple Sharing Extensions [1] to RSS, informally named "Real Simple Synchronization" [2] by Colm Smyth.

In December 2005, the Microsoft IE team and Outlook team announced in their blogs that they will be adopting the feed icon first used in the Mozilla Firefox browser File:Livemark.png, effectively making the orange square with white radio waves the industry standard for both RSS and related formats such as Atom. Also in February 2006, Opera announced they too will add the orange square in their next release of Opera 9.

Incompatibilities

As noted above, there are several different versions of RSS, falling into two major branches (RDF and 2.*). The RDF, or RSS 1.* branch includes the following versions:

  • RSS 0.90 was the original Netscape RSS version. This RSS was called RDF Site Summary, but was based on an early working draft of the RDF standard, and was not compatible with the final RDF Recommendation.
  • RSS 1.0 and 1.1 are an open format by the "RSS-DEV Working Group", again standing for RDF Site Summary. RSS 1.0 is an RDF format like RSS 0.90, but not fully compatible with it, since 1.0 is based on the final RDF 1.0 Recommendation.

The RSS 2.* branch (initially UserLand, now Harvard) includes the following versions:

  • RSS 0.91 is the simplified RSS version released by Netscape, and also the version number of the simplified version championed by Dave Winer from Userland Software. The Netscape version was now called Rich Site Summary, this was no longer an RDF format, but was relatively easy to use. It remains the most common RSS variant.
  • RSS 0.92 through 0.94 are expansions of the RSS 0.91 format, which are mostly compatible with each other and with Winer's version of RSS 0.91, but are not compatible with RSS 0.90. In all Userland RSS 0.9x specifications, RSS was no longer an acronym.
  • RSS 2.0.1 has the internal version number 2.0. RSS 2.0.1 was proclaimed to be "frozen", but still updated shortly after release without changing the version number. RSS now stood for Really Simple Syndication. The major change in this version is an explicit extension mechanism using XML Namespaces.

For the most part, later versions in each branch are backward-compatible with earlier versions (aside from non-conformant RDF syntax in 0.90), and both versions include properly documented extension mechanisms using XML Namespaces, either directly (in the 2.* branch) or through RDF (in the 1.* branch). Most syndication software supports both branches. Mark Pilgrim's article "The Myth of RSS Compatibility" discusses RSS version compatibility in more detail.

The extension mechanisms make it possible for each branch to track innovations in the other. For example, the RSS 2.* branch was the first to support enclosures, making it the current leading choice for podcasting, and as of mid-2005 is the format supported for that use by iTunes and other podcasting software; however, an enclosure extension is now available for the RSS 1.* branch, mod_enclosure [3]. Likewise, the RSS 2.* core specification does not support providing full-text in addition to a synopsis, but the RSS 1.* markup can be (and often is) used as an extension. There are also several common outside extension packages available, include a new proposal from Microsoft for use in Internet Explorer 7.

The most serious compatibility problem is with HTML markup. Userland's RSS reader—generally considered as the reference implementation—did not originally filter out HTML markup from feeds. As a result, publishers began placing HTML markup into the titles and descriptions of items in their RSS feeds. This behaviour has become widely expected of readers, to the point of becoming a de facto standard, though there is still some inconsistency in how software handles this markup, particularly in titles. The RSS 2.0 specification was later updated to include examples of entity-encoded HTML, however all prior plain text usages remain valid.

Atom

In reaction to recognised issues with RSS (and because RSS 2.0 is frozen), a third group began a new syndication specification, Atom, in June 2003, and their work was later adopted by Internet Engineering Task Force (IETF).

The relative benefits of Atom and the two RSS branches are currently a subject of heated debate within the Web-syndication community. Supporters claim that Atom improves on RSS by relying on standard XML features, and by specifying a payload container that can handle many different kinds of content unambiguously. Opponents claim that Atom unnecessarily introduces a third branch of syndication specifications, further confusing the marketplace.

For a comparison of Atom 1.0 to RSS 2.0 from the point of view of Atom's developers see Atom Compared to RSS 2.0.

BitTorrent and RSS

The peer-to-peer application BitTorrent has also announced support for RSS. Such feeds (also known as Torrent/RSS-es) will allow client applications to download files automatically (also known as Broadcatching). Most common BitTorrent clients already offer RSS support.

Example

The following is an example of an RSS 1.0 file.

<?xml version="1.0"?>

<rdf:RDF 
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/">

 <channel rdf:about="http://www.xml.com/xml/news.rss">
   <title>XML.com</title>
   <link>http://xml.com/pub</link>
   <description>
     XML.com features a rich mix of information and services 
     for the XML community.
   </description>
   <image rdf:resource="http://xml.com/universal/images/xml_tiny.gif" />
   <items>
     <rdf:Seq>
       <rdf:li resource="http://xml.com/pub/2000/08/09/xslt/xslt.html" />
       <rdf:li resource="http://xml.com/pub/2000/08/09/rdfdb/index.html" />
     </rdf:Seq>
   </items>
   <textinput rdf:resource="http://search.xml.com" />
 </channel>

 <image rdf:about="http://xml.com/universal/images/xml_tiny.gif">
   <title>XML.com</title>
   <link>http://www.xml.com</link>
   <url>http://xml.com/universal/images/xml_tiny.gif</url>
 </image>

 <item rdf:about="http://xml.com/pub/2000/08/09/xslt/xslt.html">
   <title>Processing Inclusions with XSLT</title>
   <link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link>
   <description>
    Processing document inclusions with general XML tools can be 
    problematic. This article proposes a way of preserving inclusion 
    information through SAX-based processing.
   </description>
 </item>

 <item rdf:about="http://xml.com/pub/2000/08/09/rdfdb/index.html">
   <title>Putting RDF to Work</title>
   <link>http://xml.com/pub/2000/08/09/rdfdb/index.html</link>
   <description>
    Tool and API support for the Resource Description Framework 
    is slowly coming of age. Edd Dumbill takes a look at RDFDB, 
    one of the most exciting new RDF toolkits.
   </description>
 </item>

 <textinput rdf:about="http://search.xml.com">
   <title>Search XML.com</title>
   <description>Search XML.com's XML collection</description>
   <name>s</name>
   <link>http://search.xml.com</link>
 </textinput>
</rdf:RDF>

The following is an example of an RSS 2.0 file.

<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Liftoff News</title>
    <link>http://liftoff.msfc.nasa.gov/</link>
    <description>Liftoff to Space Exploration.</description>
    <language>en-us</language>
    <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
    
    <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Weblog Editor 2.0</generator>
    <managingEditor>editor@example.com</managingEditor>
    <webMaster>webmaster@example.com</webMaster>
    
    <item>
      <title>Star City</title>
      <link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link>
      <description>How do Americans get ready to work with Russians aboard the
        International Space Station? They take a crash course in culture, language
        and protocol at Russia's Star City.</description>
      <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
      <guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid>
    </item>
    
    <item>
      <title>Space Exploration</title>
      <link>http://liftoff.msfc.nasa.gov/</link>
      <description>Sky watchers in Europe, Asia, and parts of Alaska and Canada
        will experience a partial eclipse of the Sun on Saturday, May 31st.</description>
      <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
      <guid>http://liftoff.msfc.nasa.gov/2003/05/30.html#item572</guid>
    </item>
    
    <item>
      <title>The Engine That Does More</title>
      <link>http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp</link>
      <description>Before man travels to Mars, NASA hopes to design new engines
        that will let us fly through the Solar System more quickly.  The proposed
        VASIMR engine would do that.</description>
      <pubDate>Tue, 27 May 2003 08:37:32 GMT</pubDate>
      <guid>http://liftoff.msfc.nasa.gov/2003/05/27.html#item571</guid>
    </item>
    
    <item>
      <title>Astronauts' Dirty Laundry</title>
      <link>http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp</link>
      <description>Compared to earlier spacecraft, the International Space
        Station has many luxuries, but laundry facilities are not one of them.
        Instead, astronauts have other options.</description>
      <pubDate>Tue, 20 May 2003 08:56:02 GMT</pubDate>
      <guid>http://liftoff.msfc.nasa.gov/2003/05/20.html#item570</guid>
    </item>
  </channel>
</rss>

See also

Notes and references

  1. ^ Winer, Dave, 12 December, 1997. Scripting.com: Scripting News in XML
  2. ^ Libby, Dan, 10 July, 1999. RSS 0.91 Spec, revision 3
  3. ^ Winer, Dave, 4 June, 2000. RSS 0.91: Copyright and Disclaimer
  4. ^ RSS-DEV Working Group, December 9, 2000. RDF Site Summary (RSS) 1.0
  5. ^ Winer, Dave, 25 December, 2000. RSS 0.92 Specification
  6. ^ Winer, Dave, 20 April, 2001. RSS 0.93 Specification
  7. ^ Berkman Center, 15 July, 2003. RSS 2.0 Specification moves to Berkman
  8. ^ Swartz, Aaron, 6 September, 2002. The Road to RSS 3.0 and RSS 3.0
  9. ^ Palmer, Sean B. and Christopher Schmidt, 23 January, 2005. RSS 1.1: RDF Site Summary
  10. ^ Avidan, Jonathan, August 2005. RSS 3 Project
  11. ^ Palmer, Sean B., 20 August, 2005. RSS 3: Cease and Desist Notice

Specifications

History and context

Tutorials and references

Books

  • Chapter (PDF) from book RSS and Atom: Understanding and Implementing Content Feeds and Syndication