Towards a programmable web: PubSubHubbub for Google Alerts
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