We've moved! Come visit our new blog:

Blog Archive

Thursday, June 04, 2009

Google Wave @ Google I/O

The high point of presenting Google Wave at I/O? The joy of seeing crazy smart developers react to the product and technology as we showed it publicly for the first time. The low point? Typing twephanie's Twitter password in clear text on the big screen (luckily, a team member reset it before anything questionable happened!). We had the chance to continue the Google Wave conversations through breakout sessions, which we are happy to now make available in the Google I/O series of videos now available online, and in office hours with the engineering team.

Douwe Osinga kicked off the series with a deep dive into the Google Wave APIs using demos and code samples to show how waves can be embedded into other sites as well as how to extend Wave with both client- and server-side code. After the wow of the chess gadget and the 'Rosy' robot demos during the keynote, developers flocked to the Programming with and for Google Wave session to learn how to start building extensions themselves. Notice how Douwe's good humor persevered through even tougher network problems than we had in the keynote.

The next session, Google Wave: Under the Hood, focused on core technologies behind Google Wave, diving into the heavy lifting we did in platform design to make it simple for developers to build concurrent applications. David Wang introduced the technology stack behind Google Wave's real-time collaboration and concurrency controls followed by an explanation of the operational transformation algorithms by Alex Mah. Dan Danilatos explained how the AJAX editor renders wave content and sends and receives fine-grained changes down to the level of keystrokes. Finally, Casey Whitelaw unveiled the natural language processing magic behind 'Spelly' our context-sensitive spelling system.

In the third and final session, Adam Schuck outlined the team's experience using Google Web Toolkit to build the Google Wave client. Adam went from GWT skeptic to zealous GWT advocate over the course of building Google Wave. In his talk, Adam covered some recent advances in GWT which enabled Google Wave to look and feel like a desktop application with comparable performance. He also discussed the use of WebDriver (an automated web testing tool) which is integral to the project's success.