Towards a programmable web: PubSubHubbub for Google Alerts

AUG 19, 2009
Why shouldn't the web itself be programmable? A programmable web enables one application to be extended by another to create new applications that people haven't imagined before. This goes beyond mash-ups, which primarily combine data sources together into new views. A programmable web is reactive and relies on Web Hooks for event-driven notification, syncing, chaining, modification, and extension.

One simple example of programming the web itself is the post commit-hook on Project Hosting, which lets developers call their own web service every time someone commits to their repository. An advanced example is the Wave Robots API, which gives developers the power to enhance and modify the behavior of Wave in new ways that no-one has envisioned. The magic of this programmable approach is that these services come to *your* webapp whenever something requires attention; there's no need to poll for events or data that you're interested in.

In keeping with this goal of programmability, over the past few weeks we've enabled the PubSubHubbub protocol for many Google services, including FeedBurner, Reader shared items, and Blogger. This protocol provides web-hook notifications when Atom and RSS feeds are updated, delivering web applications near-real-time information about what's new or changed.

Today we're happy to announce that we have gone a step further and added PubSubHubbub support to Google Alerts. This gives developers the means to write web applications that process newly relevant search results as they become available. Think of it as an AJAX search API that tells *you* when it finds new results. Acting upon these notifications your app could update your website, email friends, send an SMS-- the possibilities are endless.

Like the huge number of Maps mash-ups out there, we hope to see a whole new class of applications built on top of these notifications. So give the protocol a try and tell us what you've built in our Google Group!

By Brett Slatkin, Google Developer Team