Jargon: pubsubhubbub

pubsubhubbub is an open-source protocol that establishes a Publisher-Subscriber agreement between feed servers (pub) and subscribers (sub) via a broker (hub).  It is thus an extension to the existing RSS & Atom protocols for feeds. With this, subscribers will no longer have to keep polling the feed URL, but instead will be notified of updates. Publishers will specify a hub address as part of the feed specification, and all subscribers will register themselves with the hub (instead of the feed itself). The publishing tool will notify the hub of updates, which will in turn efficiently multicast the update to all subscribers.

The word appears funny, but can be broken down into 3 parts: pubsub, hub & bub.

Pub-Sub is derived from the Publisher-Subscriber arrangement wherein one component registers itself with another for event notifications. It is common development pattern that helps avoid repeated polling to detect updates, and a sibling of the MQ (message-queue) paradigm. Java, through its java.util.Observable class helps mark classes that can notify its subscribers (or observers) of events.

Hub comes from the fact that there is an additional component which acts as an event channel or Broker (another design pattern).

About Bub, I really don’t know 🙂

This protocol is decentralized and free without a controlling company. Anybody can run a hub, or anybody can ping (publish) or subscribe using open hubs. The team has even provided an open source reference implementation of the hub that runs on Google App Engine, and is open for anybody to use.