Google's move to introduce a Wave of synchronicity

By Scott M. Fulton, III | Published May 28, 2009, 6:40 PM

Google Wave logoIt's not unusual to see something emerging from Google's laboratories that folks in the general press fail to understand, and the company's marketing is partly to blame there. The public introduction during this morning's I/O Developers' conference of a Web programming construct called Google Wave generated headlines ranging in scope from a new competitor for Microsoft SharePoint, to a next generation social network, to a series of browser extensions for Chrome to rival the Mozilla Jetpack project, and finally to the company's evil plan to conquer and corrupt HTML 5.

Excluding the latter, it could very well be all of these items. Essentially, Wave is an architecture, and not really a very new one. It's an old solution to a very old problem: that of synchronicity in distributed applications. As database architects know better than anyone, the problem with maintaining a distributed database is that multiple users may make changes that conflict with each other, leading to disparity and multiple versions. Currently, transactional modeling solves that problem, but a more direct and simpler approach from a mathematical standpoint would be simply to translate every operation, or every change a user requests to a database -- every command from client to server -- into a figurative mathematical language so that the terms of the command take into account the changes simultaneously being ordered by all the others.

It's a simple concept on paper. Accomplishing it has been relatively impossible up to now, mainly because the speed and connectivity have not yet existed to deploy a transformational database matrix on a massive scale. But "Google" has come to mean massive scale, and now it's giving the concept a try.

Operational transformation (OT) -- a way of rewriting every transaction to take into account all the others, prior to executing it -- could lead to some very sophisticated, connective applications. One way that it works is by upsetting the typical hierarchy of database architecture. Whereas typically you might think of a database as a thing in the core to which changes happen, OT reverses the concept by generating a kind of change model that bears a striking resemblance to a Feynman state-change diagram in quantum physics. Here, the database or "document" that ends up being the beneficiary of change, is used to represent the change itself, or what the architecture calls a wavelet. It then passes through the state change diagram like a blowing piece of paper pierces through a barbed-wire fence.

"Under the basic theory of OT, a client can send operations sequentially to the server as quickly as it can. The server can do the same. This means the client and server can traverse through the state space via different OT paths to the same convergent state depending on when they receive the other parties operations," reads a Google white paper on OT. "When you have multiple clients connected to the server, every client and server pair have their own state space. One short coming of this is the server needs to carry a state space for every connected client which can be memory-intensive. In addition, this complicates the server algorithm by requiring it to convert clients' operations between state spaces."

A demonstration of a connectivity application using Google Wave mounted (where else?) through Google Chrome.

A demonstration of a connectivity application using Google Wave mounted (where else?) through Google Chrome.

The difficulties in implementing OT described here could be shifted entirely to the server side, on Google's end. Developers, meanwhile, can simply concentrate on getting their signals across, sending messages that trigger their systems to traverse the "state spaces," without them having to know what a state space is. So one could take the code for Google Docs, let's say, and rewrite it so that multiple users are capable of editing a document concurrently. It requires a client/server architecture with a massive server scale, but Google may be the one to pull this off.

It doesn't take a big leap of logic to take that same altered, synchronized word processor and convert it into an instant messaging app. If everyone's writing, drawing, and embedding links and images to the same file in real-time, then the document itself becomes a de facto messaging tool. Change the front end a bit -- or what open source developers call the "chrome" -- and you essentially have a better Google Chat than Google Chat, one where you can see what everyone is typing as they type it.

As Google engineer Lars Rasmussen wrote this morning, "In Google Wave you create a wave and add people to it. Everyone on your wave can use richly formatted text, photos, gadgets, and even feeds from other sources on the Web. They can insert a reply or edit the wave directly. It's concurrent rich-text editing, where you see on your screen nearly instantly what your fellow collaborators are typing in your wave. That means Google Wave is just as well suited for quick messages as for persistent content -- it allows for both collaboration and communication. You can also use 'playback' to rewind the wave and see how it evolved."

But that's just the front end, from the user's perspective -- more accurately, it's the first test application of the architecture Google is implementing. The architecture itself is the major undertaking here.

Deployment of services will take place through a client-side gadget that communicates using a derivative of the existing OpenSocial API, coupled with server-side applications written in such common languages as Python and Java. So Google isn't re-inventing the wheel here either. But since Wave isn't really an app yet, and isn't a fully-fleshed out architecture yet, and doesn't have a complete platform yet, it may lack the impetus and momentum that .NET and Java have to enable good ideas to come to fruition. It does have the scale it needs, however, and that's the biggest ace in Google's hand right now.

Comments

View comments by with a score of at least

Aliens will change the name of this tiny planet... Google Earth {lol}

Score: 0

|

And I, for one, welcome our new Google overlords.

Score: 0

|

I remember using ytalk and it was interesting and sometimes amusing to see what others were typing. Typos, things they realized they didn't want to say after all, etc.

Score: 0

|

Sounds like a technology with many advantages.

I'm interested to know more about how you would handle revision history (versioning). Many companies have versioning controls on their documents and workflows set to allow the correct people to sign off a document before it's 'published' to a wider audience.

Therefore a fully live system like this has no check's & balances to ensure the right verified document data is published correctly and also have revision history tagged somehow?

Score: 4

|

And humanity became self-aware, in a Google wave.

Score: 1

|

Let's not be rash -- I'm doubtful humanity will /ever/ become self aware.

Score: 2

|

PDC 2009: What have we learned this week?

There was the freebie that no one will forget, the heebie-jeebies courtesy of Scott Guthrie, and a teensy bit clearer picture of how this cloud thingie should work.

Live report: Will Google Chrome OS change Linux?

The mysteries of just what Chrome OS is, and how much of an operating system it truly is, may be resolved today.

PDC 2009: Microsoft cares about Web browser performance

The effort to give users of the world's dominant Web browser the impression of quality, is a personal one for the man who leads that battle.

Nokia re-affirms its commitment to Symbian, sort of

Maemo won't necessarily be replacing Symbian in the Nokia N-Series, but that's definitely a place where it will be found.

E-book readers will be in short supply this holiday season

E-readers are hot this year, and a lot of compelling new products have been released, but are there enough electrophoretic displays to go around?

Sony looks to finally open a single storefront for downloads

Sony has had many different download portals for movies, music, e-books, and games, and now it's looking to make a single shop for all of it.

Tuning out the tablet: Time to give the endless speculation a rest

Wide Angle Zoom: Wishing and hoping and thinking and praying....won't put an iTablet on the market.

Five improvements for IT managers in 2010

If businesses are to improve their efficiency for next year, they need to stop and reassess the basic tenets of their job.

AOL's spinoff from Time Warner to shed 2,500 jobs

As AOL moves toward become an independent company again, it will cut nearly a third of its workforce.

Gartner: SMS-based money transfer will be bigger than mobile browsing, search

Gartner issues its predictions for the 10 things our phones will be doing in 2012.

Don't forget to upgrade to Firefox 3.6 beta 3 today

Mozilla has released the latest beta its Firefox 3.6 browser software, just over one week after beta 2.