Thursday, May 28, 2009

Google Jumps into the Cloud Wave (AJAX over XMPP)

Busy day for cloud interoperability related news. Google just announced a new service called Google Wave, described as an open communication and collaboration platform & protocol based on hosted XML documents (called waves) supporting concurrent modifications and low-latency updates. In simple terms Google Wave can be thought of like an ajax spreadsheet over XMPP.

According to Google, "The platform enables people to communicate and work together in new, convenient and effective ways. We will offer these benefits to users of Google Wave and we also want to share them with everyone else by making waves an open platform that everybody can share. We welcome others to run wave servers and become wave providers, for themselves or as services for their users, and to "federate" waves, that is, to share waves with each other and with Google Wave. In this way users from different wave providers can communicate and collaborate using shared waves. We are introducing the Google Wave Federation Protocol for federating waves between wave providers on the Internet."

A wave provider operates a wave service on one or more networked servers. The central pieces of the wave service is the wave store, which stores wavelet operations, and the wave server, which resolves wavelet operations by operational transformation and writes and reads wavelet operations to and from the wave store. Typically, the wave service serves waves to users of the wave provider which connect to the wave service frontend (see "Google Wave Data Model and Client-Server Protocol") More importantly, for the purpose of federation, the wave service shares waves with participants from other providers by communicating with these wave provider's servers. The wave service uses two components for this, a federation gateway and a federation proxy and is based on open extension to XMPP core [RFC3920] protocol to allow near real-time communication between two wave servers.

Google has also released an open source Google Wave Federation Protocol, with the canonical copy maintained in Subversion hosted at: The intellectual property related to this protocol is licensed under a liberal patent license. If you'd like to contribute to the specification, please review the community principles.

It looks very cool. More details to follow.

#DigitalNibbles Podcast Sponsored by Intel

If you would like to be a guest on the show, please get in touch.