Textuality · Antarctica · XML.com · Dad
People who hang around with bloggers all know what RSS is (if you don't, I'll introduce it.) RSS is headed for some interesting times as regards client software, traffic management, and business model, and it would be reasonable to expect some breakage along the way.

RSS for the Uninitiated The history of RSS is fraught and complicated and I'm not going there. To summarize, RSS is a little XML language that you use to describe changes in a web site. Usually this is called an "RSS feed". Then all kinds of different programs can read the RSS feed and give you clickable news summaries that mean you don't actually have to visit all those websites unless you know there's something there you want to read.

If you want to learn more about the history and details, type "RSS" into any search engine. There are a bunch of different RSS variations but don't let that bother you, the software out there can deal with it.

Most people, once they start using RSS to check the news, just don't go back, the amount of time and irritation saved is totally, completely addictive.

The Problem of Being Away from Your Home Machine I use a program called NetNewsWire for RSS, a nice little desktop application that regularly visits the RSS feeds of the places I read (New York Times, BBC, C|Net, Kuro5hin, some bloggers) and lets me see at a glance which have new stuff. It works great (it's Mac-only, but there are nice ones for Windows and others that run through a browser i.e. anywhere).

The problem is, as soon as I go to another computer, NetNewsWire isn't there and there's no quick way for me to check the world and see what's happening. This is particularly maddening when I'm on the road and walk up to a kiosk or someone else's computer under time pressure and want to find out what's happening double-quick.

I have a similar situation with my home page, which is a hand-crafted HTML file sitting on my hard disk. For those times when I'm not using that computer, there's a copy on my public web site so I can always get at it.

So what I want is a file out on the Web that summarizes the RSS feeds I want to read, that I can point any old RSS software at and find out what's happening in the world.

What To Read RSS With? It seems obvious to me that I should aggregate and read RSS feeds right there in my browser. Much and all as NetNewsWire is a truly great little piece of software, why do I have to use a non-Web-browser to chase Web content? Right now the RSS offerings from Userland and others do the work on the server and generate a pure-HTML interface. That's fine, but NetNewsWire shows that in principle you don't need a server at all, you just need to know which RSS feeds to read and you're self-contained.

Which brings us to...

The Traffic Problem When I turn on my laptop in the morning, NetNewsWire goes out and scans 21 RSS feeds. Then it checks up on them at 30-minute intervals after that (this is configurable). I don't know how typical that is, but I know there are people who track way more than I do. There's a problem here - if RSS becomes as wildly popular as a lot of prognosticators (including me) predict, there is going to be an ungodly traffic bulge every morning, and then at half-hour intervals all day.

People who read RSS through web-based products like the Userland offering are going to present a much smaller load to the sites providing the RSS. But I think that RSS-reading is going to get wired into Mozilla and IE and Safari and people will just do it from their desktop.

Fortunately, I think the Web's caching mechanisms will hold up under the load assuming everyone plays by the rules. Unfortunately, at the moment we're not...

The Media-type Problem Web engineers know, but most people don't have to, that when a web server sends a page to your browser, it also sends along some things called "HTTP Headers" including one called "Media-type" that tell the browser what kind of thing it's sending, for example an HTML page or a JPG image or a Quicktime movie or whatever. This allows the browser to wake up the right software without having to peek inside the data to figure out what it is.

At the moment, there doesn't seem to be much agreement about what Media-type to use for RSS files. Userland, which is kind of the RSS industry leader, serves them as text/xml. Infoworld, a fairly sophisticated tech pub, uses text/html. Mark Pilgrim, a popular blogger who thinks really hard about these things, uses application/rss+xml.

Web Architecture weenies would probably be happier with Mark Pilgrim's choice, but one way or another I think it's probably important that the community get its act together and decide what Media-type to use and start using it. This will help solve two problems:

  1. When someone writes RSS-reader code to live in the Web Browser, it's going to need a consistent Media-type to be able to recognize RSS.
  2. To manage the traffic load we're going to have to do some caching. Fortunately, RSS contains some publication and expiry-date data to help intermediate software do this, but to do this it has to recognize the data as RSS and read this stuff. This isn't going to happen until RSS gets served with the proper Media-type.

The Business Model Problem I hate to be a wet blanket but I just don't see RSS readers persisting for too long as a standalone application class, this stuff just belongs in the browser. It will take a couple of years for it to get cooked into mainstream browsers in a mature enough form to be usable, so the guys with the RSS-reader software should make hay while the sun shines and start figuring out their Next Big Thing.

RSS was driven by the Weblog-technology companies and I suspect they'll continue to do just fine, Weblogging ain't going away any time soon. Also, anyone who does any kind of publishing software had better start offering a real-easy-to-use RSS interface and sooner rather than later or they're just not going to be in the game.

-Tim Bray, Jan 2003

Some RSS docs: 2.0, 1.0, 0.92.
RSS RFC (expired)