Recently, Dave Winer pointed out that there’s a problem in how people go about subscribing to to RSS feeds, and made a proposal to address it. Dave’s idea—essentially One Great Big subscription dispatcher—should work, near as I can tell, so any problems would be around business and politics, not technology. John Robb does some more thinking, as does Phil Windley. If we can’t find the business creativity, Atom has another solution that RSS could maybe borrow.
The Problem · There may be some to whom it’s not obvious. All over the web, you see these ugly little orange “XML” stickers, but to subscribe you have to get the URI they’re pointing at and paste it into your feed-reader somehow, which is awkward and maybe a little too geeky for non-geeky ordinary people.
The Atom Solution · The rough-consensus dust hasn’t settled yet, but Atom feeds are probably going to contain pointers to themselves, like so:
<feed xmlns="...atom's namespace...">
<head>
<link href="http://www.tbray.org/ongoing/" />
<link rel="self" href="http://www.tbray.org/ongoing/ongoing.atom" />
...
And so on.
So if you had a little Atom logo and you clicked on it, here’s what would happen:
The browser goes and fetches the URI.
Most servers will
send the feed back
correctly labeled as application/atom+xml
.
Your browser will look at the label and hand the feed off to your aggregator, or whatever else it’s been configured to do with Atom files.
Your aggregator will get the feed, peek inside it for the
<link rel="self" ... />
, pull the URI out, and subscribe you
(it might ask you first, depending on your preferences).
There you go, all neat and tidy, one-click subscription, no server magic required.
Can RSS Be Atomic? · Well, sure, it would be easy enough to add a pointer-to-myself to RSS feeds. The easiest would be to do exactly like Atom:
<link rel="self" href="feed URI" />
Or alternatively:
<link rel="self">...feed URI...</link>
The second is more in the RSS2 style.
Alternatively, you could use a namespaced extension, in fact I guess you
could borrow the <atom:link>
element, once Atom gets its
official namespace.
That doesn’t quite solve the problem, because RSS, unlike Atom, is
often
served with the wrong label (“Media-type” in Web-Architecture lingo);
so it would be hard to configure browsers to do the right thing.
But if the reward was one-click subscription, maybe we could get the world’s
server operators to goose their config files and start serving RSS as
application/rss+xml
instead of text/xml
.
The One Big Server Solution · Dave suggests that someone (like him) run the server and have it funded by the vendors in the space on a co-operative basis. This might work, but I’d be happier if it were self-sustaining and had a business model. The business model could be more or less anything but aggregation, because this thing is supposed to be a neutral playing field.
I suppose my employer would be another candidate to run such a service, we have the infrastructure and the connectivity and it wouldn’t take that much maintenance, and I don’t see us getting into the feed-aggregation business so we’re reasonably neutral.
I’d be delighted to hear someone come up with a business model, and I’d be delighted for the world’s feeds to start becoming self-locating, and if Dave can make his thing go, that would be fine too. Because we really do need one-click subscription to work.