Justin du Coeur (jducoeur) wrote,
Justin du Coeur

Google Wave: Game Tech comes to communication

I confess, I haven't been following the Google Wave news as closely as I should -- that's for a few reasons, not least that it's depressing to contemplate that CommYou *may* get utterly squished by Wave before I even get the second release finished. (I think it's unlikely to be as deep a conversational platform as I'm trying to build, but it may get enough right to suck away all the oxygen.)

But some of the bits are damned interesting, and tangential enough to my concerns that they don't bother me so much. One of the most interesting is today's release of the source code for Google's Operational Transformation. It turns out that Wave is designed around having *every single user action* sent to the server, not just the end results. Quoting from the Ars article:
The architecture of Google Wave is largely built around the concept of Operational Transformation. In Wave, individual operations are immediately performed locally and then get transmitted to the server, where all of the operations will converge. Then, the updated operational state history will be propagated back out to the individual clients. Applying the user's actions immediately in the local user interface rather than first propagating all events and rendering them linearly in true chronological order will help to ameliorate the perception of lag. Google refers to this behavior as "optimistic" user interaction.
To the game programmers in the audience, this should sound familiar. It sounds like what they've done is to generalize one of the standard architectural elements from games -- the user does something, his computer tells the server about it, and the server figures out the final result while his local machine makes guesses about What Happened. It's more or less exactly the system I was building in the latter days of Looking Glass -- just not limited to firing arrows and things.

I'm fascinated by the idea of this generalization, and can see the potential. We played with bits of this at Buzzpad (three startups ago -- we produced what remains the best co-browsing system ever built, and were making steps in co-editing when we ran out of time), but they've taken the idea and reduced it to general principles. Regardless of whether Wave's conversational capabilities are good or not, this is probably an idea whose time has come: there's enough cloud computing power and Internet speed to pull it off as a general-purpose architecture. I have no idea where it'll take us, but I'm willing to bet that it's going to open a lot of new doors for collaborative software, and maybe realize Buzzpad's long-neglected vision...
Tags: technology

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded