Google Wave

Written on June 5, 2009 – 3:04 pm | by Jayakrishnan
This entry is part 1 of 5 in the series Google Wave

wavelogo

According to Google, Google Wave is a new model for communication and collaboration on the web. The five posts ( including this one )  tries to address five questions (Well we can draft the post in such a way as to address many questions but after all it is a matter of personal choice).

1. What is Google Wave? (This post will take care of that).

2. What does it mean to the existing online communication model?

3. What goes into the making of Wave?

4. Google Wave Protocol?

5. Google Wave Enhancements and beyond ?

ss1

The above is a screen shot of Google Wave in its development stage.

Now answering the potential question What is a Wave?

A wave is equal parts conversation and document which means people can communicate and colabrate with richly formatted text, photos, videos, maps, and more in real time enhancing productivity and user experience.

A wave is shared which means a user can share the wave with anyone ,reply to the wave at any point can edit the contents ofwave at any point and if required can view the history of all the changes made to the particular wave.

A wave is live which means the user s can view any changes made to the wave in realtime.

Next post: What does it mean to the existing online communication model?

Post to Twitter Tweet This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Facebook Facebook Post to MySpace MySpace Post to Ping.fm Ping This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Posted in » WebNo Comments

Google Wave & the Existing communication model.

Written on June 8, 2009 – 11:22 pm | by Jayakrishnan
This entry is part 2 of 5 in the series Google Wave

wavelogo1Speaking of Goolge Wave it offers the functionality of an email program , instant messenger ,a collaborative document sharing and editing tool. The concepts aren’t new just that the many existing concepts have been married together to create a new experience.In Goolge wave anyone can be part of wave and people could be added to an existing wave . Any part of the wave could be edited by anyone within the wave.

This is radically different and the whole beauty of it is that all the changes made is archived and we could view the changes made to the wave giving us an explanation of what happened to wave ,when it happened and by whom. This makes wave a perfect tool for collabration and communication among office environments .We can reply to messages within a conversation string and we also could  reorganize conversations but as I said earlier all these changes are archived for future reference. Simply speaking it offers wiki style functionality.

In the existing communication model all communication tools exist individually. With Google waves all that can be brought under one single platform. Extensions can be used to iplement Twitter and Facebook extension thereby enabling communication through all potential channels in the web under one single tool. In plain speaking it offers a better communication experience than the existing tools by bringing it all under one paltform.

There is also a playback feature which enables someone who has joint lately to see how the whole conversation developed. This actually helps him to be a part of the wave much better.

Post to Twitter Tweet This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Facebook Facebook Post to MySpace MySpace Post to Ping.fm Ping This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Posted in » WebNo Comments

Google Wave Implementation

Written on June 16, 2009 – 3:46 pm | by Jayakrishnan
This entry is part 3 of 5 in the series Google Wave

wavelogo2

Google Wave is infact  three things: a tool, a platform and a protocol. At the heart of Goolge Wave architecture is  Operational Transformation (OT),  which is a  theoretical framework meant to support concurrency control. Waves are hosted XML documents these support concurrent modifications and also latency updates.

Google Wave is built using JavaScript and HTML5 on the client side. It runs on  browsers like Chrome, Firefox, Safari. It also supports mobile platforms (iPhone, Android), and  on the server side we have Java + Python but the  server side can be implemented with anything a developer chooses. The tool was built with GWT and uses Google Gears to enable  drag and drop functionality which is not yet included in HTML 5 (Canvas supports drag nd drop in HTML5) .A dedicated server is required  to handle concurrent communications which is needed especially for large teams. The server can be located outside  the cloud or within a private enterprise or,it can be in someone’s home.

The paltform comes in open source api and developers can extend it using  robots and gadgets. Gadgets are tiny programs which run  inside of a wave and robots are “automated wave participants.” Wave can  be embedded in  blogs and other comunication mediums.

Post to Twitter Tweet This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Facebook Facebook Post to MySpace MySpace Post to Ping.fm Ping This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Posted in » Web2 Comments

Google Wave Protocol

Written on June 17, 2009 – 3:58 pm | by Jayakrishnan
This entry is part 4 of 5 in the series Google Wave

wavelogo3

Data Model

The main elements of Google Wave’s data model are:

Wave – Each wave has a globally unique wave ID and consists of a set of wavelets.

Wavelet – A wavelet has an ID that is unique within its containing wave and is composed of a participant list and a set of documents. The wavelet is the entity to which Concurrency Control / Operational Transformations apply.

Participant – A participant is identified by a wave address, which is a text string in the same format as an email address (local-part@domain). A participant may be a user, a group or a robot. Each participant may occur at most once in the participant list.

Document – A document has an ID that is unique within its containing wavelet and is composed of an XML document and a set of “stand-off” annotations. Stand-off annotations are pointers into the XML document and are independent of the XML document structure. They are used to represent text formatting, spelling suggestions and hyper-links. Documents form a tree within the wavelet.

Wave View – A wave view is the subset of wavelets in a wave that a particular user has access to. A user gains access to a wavelet either by being a participant on the wavelet or by being a member of a group that is a participant (groups may be nested).

Operational Transformation

The operational transformation is an integral part of wave. Any wave which is being edited shows up to all users currently under a wave. Users can see in real time what the others are typing and also the server is notified of the changes being happening wait for the server to accept changes. It is cached in case of latency. After the server replies all the actions are carried out in bulk. operations are carried out in a character basis to the server as well as to all the clients unless it involves large scale data manipulation like the upload of images or playing music. All XML documents which are  exchanged between the client and the server carry a checksum which helps in the rapid identification of erroneous communications.

Client-Server Protocol

Operations. Wavelets, the basic component of a wave, go through a series of changes called operational transformations. These changes need to be propagated and applied to each client otherwise a client gets out of sync.

Operation Sequencing. All operations applied to wavelets are sent in strict order. An operation is not sent until the server has responded to the previous one. The server orders the operations based on a version number. Each client needs to apply the operations respecting the proper order.

Opening a wavelet. To start communicating on a wavelet, a client sends an Open Request containing the Wave ID and the Wavelet ID to the server. The server responds with a snapshot – the serialized state of the wavelet – or a history hash of the corresponding version.

Server-client Communication. The server sends to the client one of the following: a delta (a sequence of one or more operations), a version number or a history hash.

Client-server Communication. The client sends: a delta or a version number.

Recovery. When the communication fails, the clients starts by reopening the servlet by sending a history of hashes previously received from the server.

Post to Twitter Tweet This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Facebook Facebook Post to MySpace MySpace Post to Ping.fm Ping This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Posted in » WebNo Comments

Google Wave Enhancements and Beyond

Written on June 18, 2009 – 2:38 pm | by Jayakrishnan
This entry is part 6 of 5 in the series Google Wave

wavelogo4Google wave enhancements is through gadgets and robots. Gadgets are small programs running inside of a wave, while robots are “automated wave participants.” Wave can also be embedded in other mediums like blogs. An example for robots would be Twitter integration called  “Twave” . Usage of robots can be used in feed aggregation and integration of other Web 2.0 sites including Slideshare to import and view slides and just about anything. Gadgets are programs running inside wave . For example a gadget showing weather forecasts can be embedded within a wave and the possibilities are endless.

samplegadgets

The above is just a peek into extensions which enhances Wave application. Goolge Wave can be our all in one communication tool and with needing to open Twitter ,Facebook or any of the other applications. With its drag and drop methods entire project management system could be built around the Wave platform.

Wave embeds can be embedded onto any blog and can be customized .The picture below shows an example.

embedsample

The possibilities what we can do with wave is endless  and its upto the developers to carry it forward.

Post to Twitter Tweet This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Facebook Facebook Post to MySpace MySpace Post to Ping.fm Ping This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Posted in » WebNo Comments
Get Adobe Flash playerPlugin by wpburn.com wordpress themes