Web Technology : RSS Feeds

By Rajeev Kumar

RSS is a technology that is being used by millions of web users around the world to keep track of their favorite websites. In the ‘old days’ of the web to keep track of updates on a website visitors had to ‘bookmark’ websites in their browser and manually return to them on a regular basis to see what had been added. RSS has become a valuable technology for everything from casual web users to webmasters. According to a recent Yahoo survey only 12% of internet users are aware of RSS and a mere 4% have knowingly used RSS. RSS exists as a means to gather and display information quickly and easily. It's an easy way for you to keep up with news and information that's important to you, and helps you avoid the conventional methods of browsing or searching for information on websites. Now the content you want can be delivered directly to you without cluttering your inbox with e-mail messages. This content is called a "feed." RSS is written in the Internet coding language known as XML (eXtensible Markup Language), which is why you see RSS buttons commonly labeled with this icon:

RSS stands for more than one thing. Usually, RSS stands for "Really Simple Syndication". But it can also mean "Rich Site Summary" or "RDF Site Summary", where RDF stands for "Resource Description Framework." RDF Site Summary is the first version of RSS created in March 1999. This version became known as RSS 0.9. In July 1999, a new version RSS 0.91 was produced and renamed RSS as "Rich Site Summary". A new version RSS 2.0 was released in September 2002 and now RSS became Really Simple Syndication.

The technical acronym for RSS is “Really Simple Syndication”, an XML format that was created to syndicate news, and be a means to share content on the web. Now, to geeks and techies that means something special.

Wikipedia defines RSS as follows: “RSS is a family of Web feed formats used to publish frequently updated works such as blog entries, news headlines, audio, and video in a standardized format. An RSS document (which is called a "feed," "web feed," or "channel") includes full or summarized text plus metadata such as publishing dates and authorship. Web feeds benefit publishers by letting them syndicate works quickly and automatically. They benefit readers who want to subscribe to timely updates from favored websites or to aggregate feeds from many sites into one place.” For better understanding about RSS, suppose you have 50 sites and blogs that you like to visit regularly. Going to visit each website and blog everyday could take you hours. With RSS, you can “subscribe” to a website or blog, and get “fed” all the new headlines from all of these 50 sites and blogs in one list, and see what’s going on in minutes instead of hours. What a time saver! That one place where your RSS list is created is called an RSS Reader, and it gathers all the headlines from all the websites and blogs you have subscribed to. Let us see some more definitions as defined by various sites: -
 * RSS (n) RSS is a Web content syndication format. Its name is an acronym for Really Simple Syndication. RSS is a dialect of XML. (Source: Harvard – http://blogs.law.harvard.edu/tech/rss)
 * RSS (n) RSS is a format for syndicating news and the content of news-like sites, including major news sites like Wired, news-oriented community sites like Slashdot, and personal weblogs. (Source: http://www.xml.com)
 * RSS (n) Really Simple Syndication (RSS) is a lightweight XML format designed for sharing headlines and other Web content. (Source: http://www.webreference.com)
 * RSS (n) Really Simple Syndication (RSS) is an XML-based format for content distribution (Source: http://www.cnet.com)
 * RSS (n) RSS is an XML-based format for syndicated content. (Source: http://www-3.ibm.com)
 * RSS (n) RSS is an acronym for Rich Site Summary, an XML format for distributing news headlines on the Web, also known as syndication. First started by Netscape as part of the My Netscape site, it expanded through Dave Winer and Userland. RSS started off in an RDF format. (Source – http://www.newsmonster.org)


 * Instant Information - Using RSS Feeds, information is updated in real-time.
 * Single Source - All information aggregated in a single location.
 * Rapid Scanning - RSS feed readers highlight unread headlines and hence scanning is fast.
 * Categorizing - In RSS Feeds, information can be categorized by theme and hence easy to see favourite feeds.

Concept of RSS begins in 1995 when Advanced Technology group led by Ramanathan Guha developed Meta Content Framework at Apple Computer’s. However RSS was born in 1997, when Dave Winer developed scriptingNews in 1997. First version of RSS was created by Ramanathan V. Guha at Netscape in March 1999, when RDF Site Summary was used on the portal of Netscape. This version is known as RSS 0.9 and was simply XML with an RDF header. Dave Winer improved his scriptNews by including the features of RSS 0.9 at UserLand Software company. Later on Dan Libby of Netscape developed a new version RSS 0.91 in July 1999 that was renamed as Rich Site Summary. In this version, RDF header was removed. Winer published a modified version of the RSS 0.91 specifications on the UserLand website, covering how it was being used in his company’s products. In Y2K, the RSS-DEV Working group lead by Rael Dornfest and Guha at O’Reilly Media developed RSS 1.0 in December. This version is often confused as being a new version of 0.91, but it was a completely new format with no ties to RSS 0.91. Instead, this new version reclaimed the name RDF Site Summary from RSS 0.9 as it reintroduced support for RDF and added XML name spaces support adopting elements from standard metadata. Further Winer also released RSS 0.92, which is a minor set of changes aside from the introduction of the enclosure element, which permits audio files to be carried in the RSS feeds and helped spark podcasting. He also claimed for RSS 0.93 and RSS 0.94, but hardly used. September 2002 is a mile stone year for RSS. In this year in September, Winer released a major new version of the format RSS 2.0. Now RSS is known as Really Simple Syndication. Later on, Winer and UserLand Software assigned the copyright of the RSS 2.0 specification to Harvard's Berkman Center for the Internet & Society in July 2003.

The first RSS feed icon (orange square with radio waves : ) was adopted by Microsoft in December 2005, which became industry standard for RSS feeds.

Some more icon you can see on various sites for representing RSS / XML are as follows:

An RSS Advisory Board was launched by Dave Winer with Brent Simmons and Jon Udell, whlse purpose was to maintain and publish the specificatio and answer questions about the format in 2003. Another RSS Advisory Board was launched by Rogers Cadenhead with a desire to continue the deveopment of the RSS format and resolve ambiguities in January 2006. Presently, three main versions of RSS are being used. These are RSS 0.91, RSS 1.0 and RSS 2.0. As the findings of www.syndic8.com in January 2007, Of these, RSS 0.91 accounted for 13% of worldwide RSS usage is RSS 0.91, 67% is RSS 2.0 and 17% is RSS 1.0. As of August 2008, the syndic8.com website was indexing 438,102 RSS Feeds.

As discussed earlier that RSS Feeds are created using XML format. Hence to cerate one’s own RSS Feeds to be delivered through website, knowledge of XML is must. XML is a markup language much like HTML. In the next subsections, we will try to understand how to write XML codes for RSS Feeds. However there are several RSS Feed creation software also availagle, for which knowledge XML programming is not needed.

Before learning how to write RSS Feeds using XML, let us try to learn basics of XML.


 * Basics of XML

XML stands for eXtensible Markup Laungauge, which was designed to transport and store. XML is very easy to learn. Like HTML (Hyper Text Markup Language), tags are basic thing in XML. But XML tags are not predefined. One may define his / her own tags. XML is a W3C Recommendation. It is just plain text. Software that can handle plain text can also handle XML.

Structre of XML documents: -

XML documents form a tree structure given as below: -

.....

The elements in an XML document form a tree type of structure. The tree starts at root and branches to the lowest level of the tree. All elements can have sub elements terms as child elements. The relationship between various elements of an XML document are described using the terms parent, child and siblings. Parent elements have children and children on the same level are known as siblings. All elements can have text content and attributes. Let us take an example of XML document which contains a note regarding meeting from Director to All Scientist: -  All Scientists Director Meeting Please make your presence in the meeting to be held tomorrow with Google representatives regarding sharing of our union database.

In the above XML program, first line is the XML declaration. It defines the XML version (1.0). The next line describes the root element, called note, of the. The next 4 lines describe 4 child elements of the root (to, from, heading and body) and finally the last line defines the end of the root element. Following are basic syntax rules of XML: - For some special characters, there are predefined entity references: -
 * The first element must be a root element, which is the parent of all other elements.
 * Name of an XML element can contain letters, numbers and other characters, but it must not start with a number or punctuation character. Also it must not start with letters xml, XML, Xml etc. and it can not contain spaces.
 * All XML elements must have a closing tags.
 * XML tags are case sensitive and hence opening and closing tags myst be written with the same case.
 * XML elements must be properly nested.
 * Tags may contain some special property i. e. additional information about elements with associated values, which is called tag’s attribute and their value. XML attributes must be quoted.


 * Comment line may be given as : [[Image:rsstable2.jpg]].


 * Making RSS Using XML

After learning basics for XML, now let us try to understand how to write RSS using above concepts. Here is the structure an RSS Feed using XML: -

Description of the above code: - The first line in the document is the XML declaration which defines the XML version used in the document. The next line is the RSS declaration which identifies that this is an RSS document (in this case, RSS version 2.0). The next line contains the element. This element is used to describe the RSS feed. In fact, RSS Feed is a series of items, these items are chained together to create what is called a “Channel”. The Channel appears at the top of the file and tells the use how the items relate to each other. The element has three required child elements: Each element can have one or more elements. The open channel tag occurs before the first item and the close tag appears after the last item. Each element defines an article or news or detailed information or story in the RSS feed. The element has three required child elements: At the end of each item, there must be closed tag of item element. Finally, the two last lines close the channel and rss elements. Besides above, following elements may be used under, which are optional: - Following are some sub-elements for element, which are optional: - After creation of the RSS, it may be published on the web using following steps: - Results may be seen using a RSS Reader or RSS Aggregation. Now-a-days browsers have build-in RSS reading facility.
 * - Defines the title of the channel
 * - Describes the channel (e.g. Free web building tutorials)
 * - Defines the hyperlink to the channel
 * - Defines the title of the item
 * - Describes the item
 * - Defines the hyperlink to the item
 * - it defines one or more categories for the feed.
 * - it notifies about copyrighted material.
 * - it specifies the program used to generate the feed (about this more details are in next subsection).
 * it allows an image to be displayed when RSS Reader present a feed.
 * it specifies the language the feed is written in.
 *  - it defines the last publication date for the content of the feed.
 * - it defines the e-mail address to the webmaster of the feed.
 * - it specifies the e-mail ID to the author of the item.
 * - it defines one or more categories the item belong to.
 * - it allows an item to link to comments about that item.
 * - it allows a media file to be included with the item.
 *  - it defines the last publication date for the item.
 * - it specifies a third party source for the item.
 * 1) Name the RSS file with an .xml extension.
 * 2) Upload the RSS file to the desired web directory on the web server.

There are several RSS Feed creation software are available which crates RSS Feeds that comply with RSS specifications. Some are free, some may be get as free trial for some days and some are to be purchased. FeedForAll is one of the Feed creation software which is easy to use desktop application that allows users to create and edit RSS feeds. Some other software are MyRSSCreator, FeedFire, etc. For users who only need an RSS feed for their personal website, they can use services provided by some of the most popular blog managers such as Blogger, Radio, which offer built-in RSS Services.

After creation of the RSS, it may be published on the web using following steps: - Results may be seen using a RSS Reader or RSS Aggregation. Now-a-days browsers have build-in RSS reading facility.
 * 1) Name the RSS file with an .xml extension.
 * 2) Upload the RSS file to the desired web directory on the web server.

Now it is time to read the RSS Feeds after creation and publishing the same. RSS Feeds are read using RSS Reader. RSS Reader, which is also termed as Feed Reader or RSS Aggregator, is software which can be web based or desktop based. The user subscribes to a feed by entering the feed’s link into the Reader by clicking an RSS icon in a browser that initiates the subscription process. The RSS Reader checks the user’s subscribed feeds regularly for new work, downloads any updates that it finds and provides a user interface to monitor and read the feeds. There are many feed readers going around with a variety of approaches and features. Some the them are freely available, some are purchasable. Some work as web services and some are limited to Windows or Linux platform. However a good place to start is with a couple of free and easy to use web based one like Google Reader and Bloglines. In the following sub-sections, list of some RSS Reader for Windows / Linux platforms. Now some browsers have also built-in RSS Reading facility such as Mozilla, IneternetExplorer7. In these browsers, simply type the URL of the RSS Feed and you can get the feed result.

Following table gives list of some of the RSS Reader and their source URL for Windows platform. Before using the same, related FAQs / Documents must be read.

Following table gives list of some of the RSS Reader and their source URL for Linux platform. Before using the same, related FAQs / Documents must be read.

RSS started out with the intent of distributing news related headlines. The potential for RSS is significantly larger. Let us list the uses of RSS feeds in the following activities: To the various user communities such as Webmasters, Web Surfers and Content Developer, RSS Feeds are very much beneficial. RSS Feeds provide Webmasters and Content Developers an avenue to provide concise summaries to prospective surfers. Let us summarize the benefits or RSS Feeds to these communities: -
 * Airlines - report flight delays
 * Auction Items - auction vendors can provide feeds containing items that have been recently added to ebay or other auction sites
 * Bookmarks and other external links - perfect for sharing lists of external links
 * Calendars - listings of past or upcoming events, deadlines or holidays
 * Document listings - lists of added or changed pages, so that people don't need to constantly check for updates
 * Entertainment - listings of the latest tv programs or movies at local theatres
 * Forum Headlines - support forums can provide a listing of new forum threads
 * Job Openings - placement firms and newspapers can provide a classifieds feed of job vacancies
 * Law Enforcement - let the community know of location and status of sex offenders as they move into a community.
 * New Homes - realtors can provide updated feeds of new home listings on the market
 * News & Announcements - headlines, notices and any list of announcements
 * Press Distribution - feed for press with new releases
 * Product Sales or Specials - one look at amazon.com opens the mind to the endless product sale potential using RSS. Currently Amazon delivering a headline-view of the top 10 bestsellers in that category or set of search results.
 * Schools - schools can relay homework assignments and quickly announce school cancellations.
 * Search results - to let people track changing or new results to their searches

As the web has become more crowded webmasters have been striving to provide fresh and up to date content for their website visitors. Many webmasters have discovered they can easily utilize the information in RSS feeds to provide fresh web content. As discussed earlier, RSS feeds are composed in XML, which is a very simple markup language. Similar to HTML, XML uses tags to identify fields. Webmasters can easily parse the RSS feed and dynamically create web pages that contain headlines and summaries. The feeds will continuously update, supplying a steady stream of automatically generated fresh content. RSS allows webmasters to:

1.) Provide fresh and relevant content on their website, which encourages users to return.

2.) Constantly changing content means that search engine spiders will visit more frequently. 3.) Automate content delivery.

The benefits of RSS feeds are not limited to webmasters, surfers too benefit from the technology as well.

The beauty of RSS is that readers can quickly scan headlines (titles) and read articles of interest. Because the information is condensed and provided in a single location users can generally review more information in a shorter time frame. Additional information is only a click away. Best of all readers choose the feeds they wish to see, there is no spam with RSS. If you are not completely thrilled with the content appearing in a feed simply remove it from the newsreader. The technology is a pull technology rather than push technology, meaning the content is not forced on the consumers, who pull the content they want to see.

RSS allows for users to:

1.) Easily locate information.

2.) Read condensced information or 'soundbytes' with clearly marked and dated topic material.

3.) Classify and categorize information in an easy to navigate manner.

4.) Maximize their time without having to deal with spam.

RSS feeds can be viewed in a news aggregator or reader, which constantly updates and shows unread feeds. It is found the functionality of the newsreaders to be similar to a simple email client. Consumers generally enter the URL of any RSS feeds that interest them. Topics with a common theme can be segregated into related groups.

While the benefits to users and webmasters are clear the distribution opportunities made available to content developers should not be overlooked. Information contained in the RSS feed can be easily syndicated, increasing content distribution and reach. RSS allows for content developers to:

1.) Increase exposure in niche markets.

2.) Communicate with user bases and reach potential customers via an alternate communication method.

3.) Disseminate relevant information.

4.) Define themselves as an industry expert.

5.) Automate content delivery.

RSS has effectively standardized the format for content delivery and has effectively defined the accepted standard for content distribution and syndication. RSS will likely rival email as a means of content distribution in another few years. The shear simplicity makes the technology very appealing. The distribution potential, while albeit difficult to measure, is still attractive to all parties making the likelihood that RSS popularity will only continue to grow.