Archive

Posts Tagged ‘technical background’

Dissecting Google’s Wave Technology

May 30th, 2009

Reading time: 6 - 10 minutes

 

Google has presented Wave at IO 2009 a couple of days ago. As the main developer of our in-house “Wave like” technology I have mixed emotions about what they have presented. To us at Corvalius it was not a surprise given the timeframe that we had put on the commoditization of such a technology. We didn’t expect to be Google the one that develop this kind of technology, but we are glad to know that we are in that same league.

Those that has been following the roadmap of Corvalius and the unpublished work that we have been doing at the Labs+Academics division in the last year where dumbfounded to see Google unveiled a similar technology and in such advanced state.

At Corvalius we knew that it was ready for primetime given the recent advance of broadband penetration and the cultural shift that is happening. And we also have found by ourselves how easy is to rethink almost every business process and application using this new model of REAL real-time collaboration.

First I have to say that I really like what I saw, and the demo was flawless in almost every possible aspect, kudos to Google’s Wave Team on that, its great to see innovation in such a raw form from the guys that did it in the first place.

Now strictly speaking of the Wave’s Technology demo I have a couple of interesting insights that I would like to share with those that didn’t have the inclination or haven’t researched the groupware algorithms in detail.

Google’s Wave is based on Jupiter, given the published work (we can just only speculate until they publish the source code of the server), they use a variation of the dOPT concurrency control where dOPT stands for “Distributed Operational Transform Algorithm“ that in theory allows achieving consistency in n-way communication patterns. However, as noted by several researchers dOPT fail in what it is called the TP2 Puzzle (picture).

image

The Waves team, avoided this problem using Jupiter’s approach where you have a central server that acts as the authority and therefore create partition the space into several 2-way connection. The problem is that there is still another variant of the TP2 puzzle that can be created using 2-way communication; the approach for that has been to rely on the ordering and not being able to send more than 1 update at the same time (that is why the protocol wait for the server to acknowledge –ACK- the delta).

There are other way to solve the TP2 Puzzle, that is to rely on a safe Operational Transformation that is more costly performance wise, but that is formally proved that it can handle real n-way communication without a central authority. At Corvalius we didn’t want people to rely on a central server so even though the approach has greater complexity we moved on that path. The biggest difference is that we delegate to the clients the transformation resolution and therefore do not require big data-centers (those that Google has already in place), even though we can easily make use of them for other interesting uses ;).

Both approaches have their pros and cons, the only question that I really have (so if someone of the wave’s team likes to shed some light on the issue I would really appreciate it) is: “In the Federated example, Wave have a potential n-way communication scenario, even though the approach with the server’s protocol has already ruled out the TP2 by construction. Can it be ensured that is the case when you move into a more P2P scenario with multi-servers environments you will still be able to satisfy the TP2 property?”.

This is an old technology example (not integrated into an actual product) of our implementation of the “wave like” intentional preserving resolution algorithm, that we showed at the Demofest of the Latin American Microsoft Research Summit 2009. This video is the demo proposal that we sent for evaluation, so it was supposed to be amateurish, but shows what the core technology provides.

 

Now on more concrete details over the demo, given that we have implemented a similar technology of what the waves team is using, we can say 2 things:

- The technology itself is: “A hell of technology” no matter who the provider of it is.
- The Waves demo is just a glimpse of what this technology can do in the RIA space.

For the first assertion I can say that nothing of what you saw in the Wave’s Demo is possible without the reconciliation algorithm and the properties it satisfies. So expect to see a complete new breed of applications and ways of doing things (we are at the dawn of a revolution similar to that of the personal computer). Moreover, the most impressive work that the Waves team did is in the UI space not on the tech-side mostly by leveraging the properties that the reconciliation process bring with it. That points straight into the next assertion.

For the second I would like to dig deeper into what we have been seeing lately, there are 2 very different camps regarding RIA technology; those that believes that the browser should be the desktop (Google’s camp) and those that believe the browser is just a little too limited to be the desktop (Microsoft’s camp). I personally can say, I DONT CARE the form it takes, as chance favor neither one nor the other is completely right but I see things are changing and who knows where we will end up?.

With Silverlight 3 introduction with out of browser experience I foresee that the distinction is going to get blurry pretty fast, moreover Google’s Gear already has moved to fill some of that space too. So we are in pretty interesting times.

Now with that in mind, what if you move out of the browser and start using this technology outside of it? That is our view at Corvalius, we don’t care if you use it inside the browser (through Silverlight in our case) or natively outside the browser in a typical Winforms application; we don’t care if you rely on a central server to resolve the changes as Waves do, or you have the OT Framework embedded into your own applications for your own use. What we care about is that new ways of interacting create huge possibilities for new and impressive applications and ways to do your stuff.

We believe that even though Google’s Wave is an excellent portrait of how technology is already changing our culture, as in the Transformer’s movie, “There is more than meets the eye”.

  • Share/Bookmark

Academics, Corvalius, Technology ,