A Summary of Google Wave

Published 2009-06-04

A while back I posted a review of the abandoned project Google Wave, and later wrote this summary of it for people who didn't want to watch an hour long video about it.

The Google Wave Video Review

Google Wave is a product developed by Lars Rasmussen and Stephanie Hannon, the original developers of the Google Maps program. The product, Google Wave, is a communication and collaboration tool which is similar to e-mail but "upgradeable" with robot extension API's.

A great portion of the internet is communication of information, in the form of e-mail, instant messages, blogs, wikis, and so on. The method of collaboration for each of those is still rather primitive. Consider, for example, the act of replying to an e-mail: You need to copy the message to a new message, make your own comments, and then send. Now there are two copies of the original message floating around.

For those familiar with Google email, Gmail, you will recognize the idea of a "conversation", where a replied message is attached to the original message in a way. This way, the Gmail reader has the entire conversation easily clickable instead of having to track down through dozens of different emails to find the original questions.

This use of "conversations" in Gmail still relies on the same copy and paste, which results in multiple copies of the emial floating around. The only change is really in the graphical interface. The new idea of the Wave completely changes that by getting rid of the copies.

As I type up a new message it is stored on the remote server. When I select you as the recipient, the server does not send you the message, instead the actual message is retained in the server. When you make a reply to me, you actually modify the original wave, either by appending data (the standard reply method), by inserting reply text in the original, or even by altering the original text. The original message is now on the server with the modification made to it.

(If you are familiar with code revision control, Subversion and the like, you might get a better understanding if I called it code revision control for e-mail)

The modification made to the message is stored, and to maintain accountability who modified it is stored. In the interface, there is a sort of "playback" button, so you can go back in the documents history and see who made what modification. This method of revision control is absolutely amazing for any kind of collaborative document work.

Let me give some examples, which were given in the video, as to how this method of revision works:

On a simple, almost silly, level an online chass game is sent through a Wave. I send it to you with my first move already made. You make your move (modifying the document through javascript probably) and send it back to me. We do this back and forth a few times. To review how the chess game has unfolded, use the "playback" feature, drag the playback bar to wherever in the game you have doubts and you can see what moves were made. The important thing to note is that there is only one copy of the message, starting from the original to the present version. You could think of each message as a wiki page, if you are familiar with how they are edited, although they are shared privately between whoever is on the Wave's contact list.

This seemingly silly example also demonstrates the potential to utilize java within a wave, the java making alterations to the message. A how-to document could be sent in a wave to some developers, each developer can modify the original how-to document, and there is only one final copy. If you reach a point where you could perhaps call it in alpha stage, you can start a new Wave with the alpha stage document, so no past history is available on the new wave, only the old wave.

E-mail and instant messaging are protocols from back in the 60's, based purely on analog communication methods. The new Wave protocol allows instantaneous communication, based entirely on real-time networked communication methods. The document changes are so much in real-time, that as I type on my computer, the other reader can see what I am typing. Of course, there are times when this is undesirable, and this feature can be turned off. However, considering the collaborative document, there is no reason five or more people cannot work on the same document at the same time.

Again, the concept of a Wave is, roughly, a personal communication and collaboration tool. A Wave is a bit of communication, anything that can be transmitted through standard HTML, that is published in real time. The possibilities are nearly endless, if you look on YouTube you might be able to find some examples already.

A second thing Google debuted at the show was Spelly, their spell checker, which checks the way things are spelled based on a large algorithm which takes context into account, along with a lot of other statistical analysis models. What this means is you won't get something like "Let's meat tomorrow" getting past the spell checker. This alone is something very impressive.

I hope I have piqued your interest enough to check it out, you can read about it on the following links, but a video demonstration is helpful to explain things which words cannot. "A picture is worth a thousand words" type of idea.

Links of interest: