Friday, July 10, 2009 by Dave Winer.
It’s got a weird name, and I found the spec somewhat hard to understand.
But thanks to Brad Fitzpatrick and Brett Slatkin from the team at Google that implemented it, I now understand what Pubsubhubbub does.
It allows you to receive updates of RSS feeds without polling.
It makes it possible to build a distributed Twitter-like system with components that are not made by a single company, and with servers not run by a single company.
It makes instant updates possible for RSS.
It makes it possible to build a Twitter without the limitations of Twitter. (For example, no 140-character limit, the ability to handle enclosures, categories without #hashtags.)
The protocol it defines seems reasonable (I’ll have to implement one side of it to be sure) and because it has the backing of Google, one of a very small number of companies with the resources to make something like this work, it has a chance of gaining traction and when it does, scaling.
In fact, it’s part of one of the components I asked Google to implement in a blog post here on May 28, as Brett pointed out in our phone conversation earlier today. It’s nice to see that at least a few people at Google see the possibility of assembling a Twitter-like notification system with the Small Pieces, Loosely Joined approach.
Drilling in one more level, here’s how it flows.
- Any feed that wants to participate in this network must add a bit to the feed that indicates which ping server is handling notifications on its behalf. There can be more than one.
- When a subscribing application initially parses the feed and notices this bit, it sends a notification to each server saying “I want to be notified when this feed updates.”
- When the feed updates, it pings each of the servers it has registered with saying “I have updated.”
- The server then pings each of the subscribers saying “He updated.”
The subscriber must have a known address, therefore must not be behind a firewall or NAT. For client apps, they need some kind of proxy that has a known address. This limit is signficant, but certainly not insurmountable.
I would like to see them understand RSS syntax in addition to Atom syntax, and I understand from the spec that that is forthcoming.
Update: http://superfeedr.com/ has also implemented this protocol.
Dave Winer, 54, pioneered the development of weblogs, syndication (RSS), podcasting, outlining, and web content management software; former contributing editor at Wired Magazine, research fellow at Harvard Law School, entrepreneur, and investor in web media companies. A native New Yorker, he received a Master’s in Computer Science from the University of Wisconsin, a Bachelor’s in Mathematics from Tulane University and currently lives in Berkeley, California.