Google Wave: Waves, Wavelets, Blips…What is all of this?
The next big wave from Google is the Google Wave. In the recent Google I/O event, Google showed a demo of its latest upcoming project, the Google Wave. From the looks of it, Google Wave is the convergence of Email, Instant Messaging, Collaboration and Social Networking.
When Google launched Gmail, the traditional email way of ‘Reply’, ‘Reply to All’ concepts changed dramatically as Gmail introduced the new concept of conversations. Gmail automatically grouped related emails in a single conversation for ease of management of emails. With Google Wave, you just start a new wave, instead of creating an email. You then drag and drop your contacts to this new wave which is immediately visible to the selected contacts real time. Now moving ahead from the conversation concept, the wave obviously takes the inverted tree structure. Therefore, any single conversation within this wave can branch out in its own. For example the wave lets the participants to add, modify content real time under any nodes which is immediately available for the rest to view and edit.
Now if it is quite confusing, think of the combination of Email and Instant Messaging into a single interface. That is the wave. Participants can reply, chat, in real time. In traditional IM clients including Google Talk, half the time is spent on waiting for the other party to type something. While he/she is typing, you only see ’so and so is typing’ until the user hits the submit button. In Google Wave, since it is real-time, as you start typing, the other participant can view as you type, letter by letter (that’s true). This makes the conversation quite fast and saves tremendous amount of time compared to normal IM clients.
In addition to Email and IM, Google Wave now combines collaboration in to the same interface. So teams can easily create a wave, edit it simultaneously, embed images, links etc into this wave and makes real-time collaboration between teams fast and easy. This is especially true for enterprises where some still practice the common shared folder with multiple sub folders and multiple versions which makes organizing the documents a nightmare. Even with SharePoint you need to check in and check out which makes real-time multiple edits impossible. With Google Wave real time multiple edits works great.
Google Wave APIs makes it easy for developers to create Google wave extensions. There is no limit to how these extensions can be used. At least in the demo, a few great extensions were shown. One very interesting and useful feature was the automatic language translator. So if you happen to have a Chinese girl friend and you no nuts about Chinese language then you could use the Google Wave to type in English while your Chinese girlfriend will see real time Chinese translation of what you have typed. She then can reply in Chinese which is automatically translated on the fly and you see the English version of the text as she types in Chinese word by word.
A few more promising features in the demo included, integration to blogs, twitter and other external sites. Where you can embed and converse between a Wave and a blog or a twitter which is quite cool as when someone replies to a blog comment, it is automatically embedded in the Wave real time. Another rich feature is the images integration into Waves. You could just drag and drop images to your waves, share them, comment on them etc with relative ease.
The best part of all this is of course Google’s trademark search facility in Google Wave. You can search anything and everything in your Google Waves which makes the whole experience richer.
Google Wave Terminology
A wave is a threaded conversation, consisting of one or more participants. The wave is a dynamic entity which contains state and stores historical information. A wave is a living thing, with participants communicating and modifying the wave in real time. A wave serves as a container for one or more wavelets defined below.
A wavelet is a threaded conversation that is spawned from a wave (including the initial conversation). Wavelets serve as the container for one or more messages, known as blips. The wavelet is the basic unit of access control for data in the wave. All participants on a wavelet have full read/write access to all of the content within the wavelet. As well, all events that occur within the Google Wave APIs operate on wavelet level or lower.
When you spawn a wavelet from within a wave, you do not inherit any access permissions from the parent wavelet. During the lifetime of a wave, you may spawn private conversations, which become separate wavelets, but are bundled together within the same “wave.” Since events occur at the wavelet level or below, the context of an event is restricted to a single wavelet. A wavelet may be created and managed with a robot as its only participant. This allows the robot to use the wavelet effectively as a private data document. These data documents are never rendered/revealed to the user and may contain structured or unstructured data about the wavelet.
A blip is the basic unit of conversation and consists of a single messages which appears on a wavelet. Blips may either be drafts or published. Blips manage their content through their document, defined below. Blips may also contain other blips as children, forming a blip hierarchy. Each wavelet always consists of at least one root blip.

A document is the content attached to a blip. This document consists of XML which can be retrieved, modified or added by the API. Generally, you manage the document through convenience methods rather than through direct manipulation of the XML data structure.
Posted by pmfiorini on Jun 11 2009 in Google Wave

