Do you remember that Beyonce song “Oh boy you looking like you like what you see…dip it pop it twork it stop it check on me tonight.”. The first time I saw the term pubsubhubbub, the tune is playing in my head. Who created this crazy word? The concept, however, is quite nice.
Following is a simple description of pubsubhubbub from Google.
A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom and RSS.
Parties (servers) speaking the PubSubHubbub protocol can get near-instant notifications (via webhook callbacks) when a topic (feed URL) they’re interested in is updated.
The protocol in a nutshell is as follows:
- An feed URL (a “topic”) declares its Hub server(s) in its Atom or RSS XML file, via
- The hub(s) can be run by the publisher of the feed, or can be a community hub that anybody can use. (Atom and RssFeeds are supported)
- A subscriber (a server that’s interested in a topic), initially fetches the Atom URL as normal. If the Atom file declares its hubs, the subscriber can then avoid lame, repeated polling of the URL and can instead register with the feed’s hub(s) and subscribe to updates.
- The subscriber subscribes to the Topic URL from the Topic URL’s declared Hub(s).
- When the Publisher next updates the Topic URL, the publisher software pings the Hub(s) saying that there’s an update.
- The hub efficiently fetches the published feed and multicasts the new/changed content out to all registered subscribers.
The protocol is decentralized and free. No company is at the center of this controlling it. Anybody can run a hub, or anybody can ping (publish) or subscribe using open hubs.
Google has provided an open source reference implementation of the hub (the hard part of the protocol) that runs on Google App Engine, and is open for anybody to use. (One more point goes to Google Apps for the head-to-head between Google App and Microsoft Office Live. )
If you have read to this far, you are at least as interested in this topic as me, who probably has some experience with RSS readers. Here’s my simple way of telling the story: in RSS era, if you subscribe to a site or blog, your RSS reader needs to go to the source URL and check it periodically looking for updates, which means a lot of unnecessary traffic, but with Pubsub…whatever, you don’t need to check it anymore, your subscribed site will ping you once there is an update.
Revolutionary? Probably not. Less Carbon emission? Definitely.
So pub stands for publish, sub subscript, hub, you can think it as the little transmitter you installed on your site, but what is bub?