Depending on which version you’re looking at, RSS can stand for Rich Site Summary, RDF Site Summaries, or Really Simple Syndication. It’s an XML language that – used in combination with specialized software packages called RSS aggregators or news aggregators- allows a user to subscribe to a web site or section of a web site and receive quick summaries when that site is updated.
To fully understand the impact that RSS will have in the future, we must look to the past. In 1997, companies such as PointCast and Marimba introduced new software clients that allowed for content to be “pushed” to customers. Using those specialized tools, customers could receive information from several news sources. This approach showed companies such as Microsoft and Netscape that there might be some value in providing content to users. Microsoft introduced Channel Definition Format (CDF) with Internet Explorer 4.0, while Netscape started working on RSS .90 (Rich Site Summary) as a way to receive data for its My Netscape portal.
The “push” bubble eventually deflated with the fortunes of PointCast, and CDF petered out. RSS would have suffered the same fate were it not for the efforts of Dave Winer, founder of UserLand and one of the earliest adopters of the format. At the time, UserLand was working on a new tool called Radio UserLand, which would aggregate RSS and allow readers to create “weblogs” by commenting on some of the stories they received via RSS feed. Netscape agreed to add some of the features that UserLand requested in a new iteration of RSS, known as RSS 0.91.
The RSS world stayed relatively quiet until August 2000, when a group of developers decided that it needed to be extended. At that point, controversy exploded over what direction RSS should take.
RSS Forks: RSS 1.0 and RSS 2.0
The proponents of a new set of extensions wanted RSS to become more a part of the overall concept of the semantic web, using the World Wide Web Consortium’s proposal for the Resource Description Framework (RDF) to become the new basis for RSS. RDF was basically a new extensible framework for describing and exchanging metadata.
To understand why such a move was considered so controversial, you’ll need a little more background about RDF and its place in web development circa 2000. When Tim Berners-Lee unveiled the concept of the “semantic web,” in which computers would be able to intelligently exchange information about documents and make decisions based on those exchanges, the proposal was met with some skepticism. As a result, RDF, which was seen as the core of this new concept, was seen as largely an academic effort with little or no value in the commercial space.
One of the most contentious issues surrounding RDF was the concept of namespaces. With a namespace, you could create a particular type of XML definition, using those definitions in an embedded fashion just by naming them. For example, let’s assume that I wanted to create my own XML language. I could start the document as follows:
This statement basically says that we have an XML document using an XML namespace (xmlns); in this namespace, if a tag begins with tristan: the program should look at the tristan language defined by the document located at .
Using this model, the authors of the new RSS 1.0 specification could extend RSS into a format that could do more than just distribute data. However, doing so kept the new specification from being backwardly compatible with previous versions, and made it more complicated to implement. This didn’t sit well with Dave Winer – who, as the only remaining author still working with RSS, had babysat the specification for years and felt that its magic came from its simplicity.
Over the next few months, battles erupted on several mailing lists, including the main Yahoo! Groups where such things are discussed: xml-dev (the syndication mailing list) and rss-dev. At issue was whether RSS 1.0 should still be called RSS, because it no longer worked with other formats.
Attempting to bring some of the advantages of the new format into something that would not be as complex and would still be backwardly compatible, Dave Winer authored RSS 2.0 and presented it to the community in August 2002, as part of a new set of offerings in Radio UserLand. By naming the new standard RSS 2.0, Winer raised the ire of the RSS 1.0 community. The new format was seen by those developers as being incompatible with RSS 1.0 (which itself is incompatible with previous versions), and the naming would confuse users looking to implement the new format.
After the Fork
The prediction that different formats would confuse the marketplace has proven to be incorrect. On the contrary, RSS adoption rates have increased since 2002, with RSS readers supporting both the RSS 1.0 and 2.0 specifications equally.
Aggregators such as Radio UserLand (Windows or Mac), NetNewsWire (Mac only), and NewsGator (Windows only) support all the formats, which simplifies the decision of which format to implement. Recent changes to the RSS 2.0 specifications have allowed for support of namespaces, which means that the extensibility of RSS 1.0 is no longer a core advantage. As a result, implementing RSS 1.0 feeds instead of RSS 2.0 is only necessary if the feeds need to be integrated with other RDF applications.
In August 2003, Dave Winer and UserLand agreed to release the RSS 2.0 specification under a Creative Commons Attribution/Share Alike license, which means that you’re free to build anything you want on top of the specification as long as you credit the original authors and allow for redistribution of your changes in the same fashion. This setup has the potential of breathing new life into the format.
Microsoft has already sworn support for RSS 2.0 in Longhorn, announcing that the new Windows operating system will support the specification as a core operating system service.
RSS Grows Up
Although it was originally slated to distribute updates about different content web sites, recent uses of RSS have turned it into a much more advanced format. For example, Feedster offers a search engine for RSS feeds, allowing the user to search through RSS data in a fashion much like searching Google for web pages and other documents.
RSS has also appeared as a new way to distribute other types of data, such as the following:
- Mailing lists: Yahoo! Groups supports the format for all its mailing lists. This example shows an RSS feed for the rss-dev mailing lists.
- Google News searches: Gnews2RSS allows the user to create an RSS feed for a particular keyword or keyphrase.
- Monitoring Google search results: Google Alert enables you to monitor the Google index for changes in pages based on a certain keyword or key phrase.
Increasingly, RSS is becoming the basic glue for tracking changes around the Internet. The indexes of services such as Weblogs.com, Daypop, Popdex, and Blogdex use underlying RSS feeds to assess pages that RSS creators consider to be important currently. These tools represent a new form of collaborative editing as stories seen important by weblog creators and other RSS distributors rise and fall on a daily basis.
Based on this data, services such as Technorati allow users to enter a URL and see who has linked to that URL. The advantage of using RSS as the source for this type of data is that it provides much more granular information in terms of context for the links. For example, you can get an idea as to the importance of one type of link versus another. If mined properly, this is a rich trove of data for anyone trying to push an idea or new product over the Internet.
With the support of companies such as the New York Times, Business Week, Microsoft, IBM, and the BBC, RSS is slated to go through a new period of growth in 2004. You should familiarize yourself with the format and investigate how you could use it in your company during the first quarter of 2004. Companies that don’t have an RSS strategy in place by the end of 2004 might be behind the curve; their competitors will probably have already implemented some level of RSS support in their web sites.
In a later article, we’ll investigate RSS implementation issues, providing details as to how the formats differ and what you need to consider to simplify implementation.