4.2.6. RSS Feed

RSS is a technology originally created by Netscape for distributing and syndicating content for their web portal service in 1999. The company has since lost interest in developing the technology, but the refinement process was picked up by Userland Software.

RSS was originally targeted for news distribution, but xml.com [11] states: “Pretty much anything that can be broken down into discrete items can be syndicated via RSS: the "recent changes" page of a wiki, a changelog of CVS checkins, even the revision history of a book.”

Mark Nottingham describes RSS as follows: “RSS is an XML-based format that allows the syndication of lists of hyperlinks, along with other information, or metadata, that helps viewers decide whether they want to follow the link.” [12]

RSS is a mass of XML data. This data is read and interpreted by an application. The application can be a desktop application displaying the data to the user or it can be, for example, a web application that extracts parts of the feed and displays them on a web site. RSS feeds can be accessed through standard HTTP connections.

There are multiple versions of the RSS standard in use. The most popular versions today are 0.9.x and 1.0. Both versions are still actively developed by a number of organizations. The 2.0 specification has also been released. All versions are based on the original Netscape specifications.

Due to their simplicity, 0.9.x versions remain as the best option for simple content distribution and syndication needs. The Marmalade system will use RSS version 0.91. The basic structure of an RSS 0.91 feed is shown in Example 1.

<?xml version="1.0"?> <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

Example 1 - The XML structure of RSS version 0.91

The Marmalade 1.0 system will give users access to bug reports using RSS feeds. These feeds can be read using an RSS reader application. The timed refresh feature of the applications offers an automatic solution to the bug tracking requirement stated by Thomas J. Shelford: “Everyone on the team should have access to the bug database and should be checking it frequently.” [13, p. 192]