Archive for March, 2010

Wave getting better at talking to the rest of the world

March 2, 2010

Yes, yes — one of these days I’ll get back to Catching the Wave.  But in the meantime, keeping up with the news: the Google Wave Developers blog announced today that they’ve come out with a major revision of the Robots API.

To explain what’s going on here, I need to briefly get into the kinds of automata that Wave allows.  There are two types:

  • The obvious ones are gadgets.  A gadget is something that you see on the screen, generally, and tends to be interactive.  So the Google Map embedded in a wave would be a gadget, or the various implementations of thumbs-up / thumbs-down voting.
  • Subtler, but more important for conversations, are robots.  A robot is an external process that can listen to and modify a conversation.  The most obvious and trivial kind of robot that people started playing with initially was the censorbot: one that would keep an eye on the conversation and bleep out bad words.  But there are lots of others doing all sorts of things — and in particular, mediating between Wave conversation and other media like IM.

The new API has all sorts of new capabilities, but two aspects seem most immediately interesting.  First, a robot can pro-actively push data into a conversation.  This implies to me that you can start building really powerful, really interactive bridges between Wave and other services.  For example, an IM bridge becomes considerably more useful when you can send IMs and have them immediately reflected in a persistent Wave.

Second, again most obviously useful for bridging, is the new Proxying-For capability.  Basically, the robot can say that a change is being made on behalf of a specific person.  This opens up *breathtaking* opportunities for abuse, but you really have to trust the robot before you allow it into your wave in the first place anyway.

Put together, it sounds to me like Google is putting a major emphasis behind allowing Wave to interact with outside systems.  That’s smart: they’re trying to make this a key new component of the Internet ecosystem, and the more other parts they can hook into, the more it will be.

What sort of things would you be interested in hooking Wave to?  We’ve seen a lot of examples: pushing bug reports into waves; stockmarket information; IM and email bridges; and so on.  What else?  The sweet spots here appear to be recording transient events, and making it easy to hold conversations around those events as they happen.  I can see lots of obvious applications based simply on email and IM bridging, but I’d bet there are far more off-the-wall possibilities here, like live game scoreboards…