Pubsubhubbub and the Real-Time Web
Ever heard of Pubsubhubbub? First, try to say it ten times in-a-row.
After you failed to do this, have you ever experienced these nicely auto-updating searches on Twitter, like in this Google search?
How is it possible to do this?
Google has implemented this with a contract with Twitter to allow them to read every tweet as it's posted. In real time.
I'm sure you like the idea. Everyone likes this.
Do you use a Feed reader? If so, wouldn't it be cool if your news, blog posts, and every other thing you subscribed to would be pushed to your computer as they get published? No clicking on "Refresh", no waiting.
Have you tried Google Buzz? If so, have you tried it together with Google Reader, Picasa or Blogger itself? If you publish something on one of these sites, Google Buzz picks it up in real time, just like it should be.
How can Google Buzz do this? Is there a standard?
There is a standard! Its name is the word you couldn't say 10 times.
It's an extension to the ATOM-Feed format, specifying a "hub" where subscribers can subscribe to this feed and get pinged when new content arrives on the feed they subscribed to.
Google Buzz automatically checks the pages you've specified in your Google Public Profile (My Own) and allows you to "buzz" your new activities on the page if it provides an ATOM- or RSS-Feed. It gets interesting if the feed on the page specifies a Pubsubhubbub-Hub with something like:
If this is specified in the ATOM-Feed, Google Buzz will subscribe to the specified hub and will receive notifications from your new activities in real-time!
I think this will be the next big thing on the internet: The Real-Time-Web
Everyone who provides a site with an useful activity-feed for an user should implement the Pubsubhubbub-Protocol. It is a really big improvement compared to normal polling and it'll even reduce your server-load, as fewer clients have to poll every n minutes (or even seconds).
So web-developers out there: Implement Pubsubhubbub. The name is evil, but the protocol is clean, simple and will improve the internet. And it's almost a no-brainer to implement.