Google IO 2009
A few hours ago I left the Moscone Center in San Francisco at the conclusion of Google IO, the developers conference. This was my first Google dev-con and it was as I expected — full of good content, good food, and knowledgeable people. I was particularly interested in the sessions around Google App Engine (GAE), Google Web Toolkit (GWT), and Android (mobile). There were some pleasant surprises, such as each attendee receiving a free Google Android G2 phone (HTC Magic) as well as the announcement of Google Wave, the new real-time collaborative program framework. It was a conference for coders, that is for certain.
Unless you’ve been living in a cave, you’ve probably heard about Java support in GAE. Getting GAE/Java up and running couldn’t be easier because it’s packaged as an Eclipse plug-in. When you’re setting it up, you also get GWT bundled right in. And deploying your first Hello World application? Easy as microwave popcorn. Ola Bini (ThoughtWorks) of JRuby notoriety gave a session at Google IO on JRuby on GAE, which means that Rails fanatics should be happy to know that their apps should deploy on GAE with little modification. Ola also built a demo of (probably) the first 3rd-party Google Wave robot extension (with early access to Wave sandbox)… written in Ioke, a folding programming language (designed by Ola) that runs on top of the JVM, deployed on GAE. A demo without the fancy IDEs.. just Emacs and deployed at the CLI.
Google Wave was announced at the keynote presentation (HQ YouTube video) on Thursday morning. I walked in a few minutes late, and they were showing real-time chat between two different client computers. Imagine onKeyPress event triggers, as opposed to waiting to hit Send. That’s what I saw on the big screens. There was a huge applause, which puzzled me, because I used to use this all of the time back in the days of ICQ chat. But as the demo went on, it became far more impressive… far more compelling from a product/service development standpoint. Google built a set of APIs that allow us to construct real-time collaborative apps — built entirely on GWT. Wave keeps a history/timeline that tracks revisions and can be played back by the user to see the state of the collaborative work (whether it be a wiki, blog post, map, anything really) at any given point in time. And because it’s based on GWT (AJAX), the same code can be deployed on mobile devices, such as Android and iPhone.
Google also made the conference fun. Kicking it off by giving away a free HTC Magic… I felt like a kid (but from a movie) under the Christmas tree (in real life, I usually received an envelope with cash). Wednesday (day 1) night, there was a nice “after hours” party (21 and up), with lots of drinks, food, authentic party-rousing DJ (Mike Relm), Maker Faire gadgeteers, and video games. I played Missile Command and Centipede, and pwnd. There was also a bar-code scavenger hunt with our new Android phones. I haven’t heard what the first place winner received. I shared a lunch table with the winner, Abraham, a few hours before the hunt ended, and he was guessing the prize was a t-shirt, whereas I imagined it was a Google-branded hybrid SUV that gets 130 MPG.
To sum it up, I thought it was a great conference. I only wish I could have attended more sessions. I look forward to playing with Google Wave, deploying actual production JRuby apps on GAE, tooling around with my new Android phone, and hacking my first Android app. It was also very affordable ($50 academic, $300/early-bird). I’ll definitely be back next year.


