XML

A Brief History of RSS

Although the topic has lived slightly beneath the surface of the mainstream Web, few recent web technologies have caused as much excitement and feverish debate as RSS. What is seemingly a very simple technology has caused quite a bit of infighting among its creators, early adopters, and just about anyone else interested enough to weigh in on the matter. Before we get into that, let's quickly assess what RSS is. RSS is a technology that allows you to syndicate web content, which means that you can subscribe to web sites and easily find out about new publications to a site without actually having to visit the site. Using special software called a news aggregator, you can monitor news feeds from multiple sites and effectively keep tabs on a wide range of information without having to stop by every different site on a regular basis. You can think of RSS as providing somewhat of a "stock ticker" for web content it allows you to keep constant tabs on when your favorite sites post something new.

Now back to the history of RSS. Before I give you my official history of RSS so that you can understand what exactly this lesson is all about, I'd like to offer up a recount of the origins of RSS as written by a good friend of mine, Stephen Tallent:

"There was a fork in RSS land. The original RSS, version 0.91, 0.92, etc. was just simple XML. A crew didn't like it, or the persons involved with it, and splintered off and created what they called RSS 1.0, and built it using RDF style XML that bared little to no resemblance to 0.9x other than by name. That of course spawned a huge religious war and the original crew then developed RSS 2.0, having nothing to do with 1.0, and 2.0 was just an enhanced version of 0.92, still using standard XML. Then another whole crew forked off again and started ATOM, but I digress."

As Stephen points out, RSS has spawned several different versions over the past few years, all of which are still around in one form or another. It all began back in 1999 with the first incarnation of RSS, which originally stood for RDF Site Summary. This version of RSS was created by Netscape and became known as RSS 0.9. By the way, you need to pay close attention to version numbers in this discussion because they have a lot to do with the different flavors of RSS. Netscape quickly followed up on version 0.9 of RSS with version 0.91, and promptly changed the acronym to Rich Site Summary.

RDF stands for Resource Description Framework, which is another whole can of beans. For the purposes of this discussion, all you need to know is that RDF is a specification designed to allow web content creators to add metadata to their content.

It wasn't long at all before Netscape began to back away from RSS, and ultimately ceased development on it. Ironically, RSS was just starting to gain in popularity, so a group called RSS-DEV took up the cause and continued working on the project. This is where the first drama officially takes place in the RSS story. Back in 1997, a guy by the name of Dave Winer of Userland Software created a technology similar in some ways to RSS. Just after the creation of the RSS-DEV group, Winer entered the RSS fray by releasing his own version of RSS 0.91, which had the advantage of already being used by his company's products. The RSS-DEV group followed up with RSS 1.0 and Winer countered with RSS 0.92. Winer's branch of RSS became known as the Userland branch due to its heavy usage within his company.

In 2002, the most stable version of RSS was published by Winer in the form of RSS 2.0, with the acronym changing once more to become Really Simple Syndication. RSS 2.0 was designed to be compatible with RSS 0.92, and also includes features that allow it to be extended to support additional features such as media objects. The RSS-DEV group continued down their path and released a draft of RSS 1.1 in 2005. As of this writing, RSS 2.0 is the de facto standard version of RSS while RSS 1.1 is still somewhat of an "emerging technology."

To summarize, there are two main functional branches of RSS that you may encounter as you begin to explore syndication around the Web. Different versions of RSS within each branch are reasonably similar to each other. Following are the two branches and the versions of RSS that fit into each:

  • RSS 1 BranchRSS 0.90, 1.0, and 1.1

  • RSS 2 BranchRSS 0.910.94 and 2.0

So the question you have to be asking yourself is why I'm bothering to painstakingly document all of the different versions of RSS so carefully? The reason is because the underlying XML language varies quite a bit based upon the RSS language that you choose to use when syndicating your web content. Without knowing what they are and a little about how they differ, you wouldn't know which flavor of RSS to choose. But I'll help you. Given the current state of affairs, it makes sense to focus on the latest version of RSS, which is RSS 2.0. All of the latest RSS-powered web browsers and news aggregator software supports RSS 2.0, which is really all you need to know. The remainder of this tutorial focuses on RSS 2.0 as you learn more about news feeds and how they are created and syndicated.

I stopped short of mentioning Atom in this brief historical discussion of RSS. You can think of Atom as a third branch of RSS that competes more with RSS 2.0. There are strong voices arguing for both technologies, so all I can really tell you is that RSS 2.0 seems to have the widest industry support at the moment, which is why I've chosen to cover it exclusively in this lesson. The good news is that if you get comfortable with RSS 2.0 you won't have much trouble learning Atom if the tide should eventually turn away from RSS 2.0.