waving android

I am currently a software engineer at Google, where as a member of the Android platform team I build frameworks and user interfaces.

The blog here at is mostly historical; you can find more recent posts on .

Universal Subscription Mechanism, and del.icio.us editorializing

January 23rd, 2005

Two quick somewhat belabored points. First, I mentioned this over in my del.icio.us feed, but I think it demands the very-slightly-wider distribution of this page: USM, the Universal Subscription Mechanism, is a pretty simple idea that aims to patch a hole in the current RSS/Atom subscription scenario.

Quickly, the way you subscribe to an RSS feed right now varies greatly based on a number of factors specific to your particular system configuration. By far, the most common mechanism is to find the RSS feed on your favorite website, click on it, see a bunch of XML junk, copy the URL from the browser’s location bar, and paste that into your RSS reader somehow. If your RSS reader is well-designed, you might be able to drag a link into its window. If you read RSS with a web-based application, you need to copy the URL over to the application’s web page, or use a JavaScript bookmarklet to do the job for you. If you read RSS through your browser (i.e. Firefox) there’s some other procedure. This is a usability nightmare.

Why doesn’t this happen when, for example, you click on a Word doc or a PDF or a zipfile? These are all data types that your browser can’t handle, and yet Things Just Seem To Work. This is because web browsers (since the Mosaic days) have been able to automatically connect these data types to helper applications on your system. Ideally, RSS would work the same way: You’d click on an RSS feed (or Atom, of course) and it would launch your reader app. Unfortunately, this doesn’t work.

Basically, an RSS feed isn’t required to contain its own URL, which makes it difficult to integrate RSS reader software into the Web user experience like any other helper app. You can currently click on an RSS feed and expect your system to launch your RSS reader as the correct helper app for that data type; unfortunately, the reader won’t be able to subscribe to that feed on a permanent basis, because the URL isn’t contained therein. It’s even worse than it appears: Many web servers do not correctly report a distinct MIME type for RSS/Atom data; some report application/xml or text/xml, or even the dreaded application/octet-stream. (There’s no way to distinguish RSS/Atom data from any other XML in the first two cases, and there’s no type information carried in the third.) The point of USM is to set down some ground rules to make sure both these issues (URL of feed in the feed data itself, and sane MIME types) are dealt with. The alternatives are: (1) the feed:// URI scheme (a bastardization of the URI specification and usage model) and (2) what Dave Winer calls the solution to the Yahoo problem, namely a central web site which manages all your client-side subscription preferences for you (patently absurd.)

The second thing is that I originally linked USM on del.icio.us, editorializing as I did so:

essentially a call for (1) RSS/Atom MIME types to be adhered to, and (2) the URL of a feed to be in the feed itself somewhere, so that RSS readers may be correctly implemented as browser helper applications (obviating this feed:// URI nonsense)

Unfortunately, there’s no way to link to an individual user’s mention of an individual link, so there’s no way to point directly to that commentary as Randy Morin attempts to do here. I think these little del.icio.us mini-comments ought not to get lost, especially since so many people are now using the service to distribute PageRank to friends and search engines with ever finer granularity. So, I have a feature request for you, Joshua: can we have permalinks for individual users’ del.icio.us bookmark entries?

newer: older: