Google Wave: Reinventing online communication

By Sterling “Chip” Camden
Contributing Writer, [GAS]

It seemed impossible to me that I could be the only one having these kinds of ideas – and I was correct.  Who else would you expect to be pondering the future of online communication but the folks at Google?

Lars and Jens Rasmussen came to Google in 2004 as the creators of what became Google Maps, but they were already thinking about what should come next.  They began by asking some questions about the state of online communication:

  • Why do we have to live with divides between different types of communication — email versus chat, or conversations versus documents?
  • Could a single communications model span all or most of the systems in use on the web today, in one smooth continuum? How simple could we make it?
  • What if we tried designing a communications system that took advantage of computers’ current abilities, rather than imitating non-electronic forms?

To answer those questions, they produced Google Wave, which will be launched later this year but is now being opened for developer preview.  Wave provides hosted conversations, to which participants are invited.  Replies are automatically threaded, and you can see updates as they are being typed (optionally).  Shared edits are tracked and can be retraced.  A wave can contain various kinds of media (images, video, maps, etc.), blurring the line between a message thread and a document.  It could easily take the place of email, chat, blog, twitter, wiki, and social site all at the same time.

The initiating server acts as the authority for a wave, but replying wavelets can be hosted on other wave servers.  Communication between all parties is secured using TLS.

Wave starts with an open protocol based on XMPP, an XML format used by Jabber and other messaging services.  But the Wave protocol extends XMPP to provide far more features than simple chat.  In fact, all of the features listed above are included in the protocol, rather than being layered on at the client level.  That means that third parties can produce their own products that use the protocol to interact with Wave and with each other – which Google is encouraging.  They’re not only publishing libraries in Python and Java to support this, they also plan to open source the entire project.

Of course, Google will provide its own Wave client (pictured below), which I expect will garner the lion’s share of user accounts – at least at first.

google_wave_client
Click to Enlarge

The fact that participants have to be added to a conversation by the authoritative server solves the problem of comment spam on blogs, but I have to wonder about how they intend to handle what I like to call “cold spam” – spam messages that come out of nowhere.  I presume (but cannot verify) that when you’re added as a participant, you get the option to decline – but if a spammer has your Wave user ID, then perhaps they could still annoy you to death with participant requests.  Besides advising users to be careful about sharing their IDs, how does Wave plan to protect them?  Do they have a plan for defeating dictionary attacks, for example?  How easy will it be to ban a user – or a third-party server domain?

Provided the security and spam threats are neutralized, I can see this protocol becoming the wave of the future (forgive me) in online communications, especially for business transactions that are currently being communicated over email (but shouldn’t be).  I certainly plan to give it a try.