Google I/O had its strong points, particularly at the keynotes. It also had some weak points in that a few of the sessions I attended seemed more to be product plugs than actual technology sessions. Here is my high level summary of Google I/O

App Engine
Before Google Wave was announced, App Engine was the most interesting subject at I/O, to me at least. Because I’ve built a few services in my day, App Engine appealed the most to me in that it offered a way to create services that are hosted in Google’s cloud. Google has ramped up its performance support, and automatically scales your service based upon the traffic that you are getting. The big news at I/O was that we can now build java applications on App Engine.

What was even more interesting to me, however, was a session led by Brett Slatkin named “Offline Processing on App Engine: a Look Ahead”. In this session Brett addressed some of the major concerns App Engine developers have when it comes to offline services. For most of us looking for a service engine in the cloud, we can’t assume that all we need is a service that responds directly to user requests. We live in an age of mashing data via background services that have to crunch through data and metadata from numerous sources. App Engine doesn’t have an adequate solution for that currently. However, it seems that this year they will push forward with a task queue/executor model that relies on user injected web hooks to permit background services to run on queue. This model will also permit developers to have a something akin to multithreading.

HTML 5

HTML 5 was definitely a recurring theme at Google I/O. It took up 1/2 of the first keynote. Google, along with Mozilla, Opera and Apple, consider HTML 5 to be a standard worth investing in. Some of the new elements introduced are section, audio, video, progress, nav, meter, time, aside, canvas, and datagrid. There is also great support for geolocation.

Google Web Toolkit

GWT is an interesting platform that allows you to right Java code that automatically gets converted into Javascript by the GWT compiler. This allows for a simple way to create AJAX apps using Java. Google also created a plugin for Eclipse to make debugging and deploying very easy. To testify to the richness of GWT, Google announced that Wave was completely built on GWT.

Google Wave

The announcement of Google Wave came on the 2nd keynote. I highly recommend you watch the keynote. Google Wave is a Product, a Platform and a Protocol, as Google demonstrates. The product aspect is best explained as a super fast web-based system to communicate & collaborate using rich text, photos, videos and more. I was blown away at the speed and apparant ease of collaboration. There is a part in the keynote where the two presenters were both editing the same document and you can see both changes occurring simultaneously. This was all done with preserving the history of all editing, in the cloud.

Its a platform because it offers a rich set of APIs for us developers to plug into and begin extending. A neat translation extension was demonstrated where two people could be chatting live in 2 different langauges and Google Wave would translate on the fly! You can take a look at the Google Wave APIs here.

Its a protocol because it is built upon a network protocol named the Google Wave Federation Protocol. This means that anyone can be a wave provider and communicate with other wave provider via the shared protocol. A draft specification can be seen here.

Summary

Google I/O was a very interesting conference. It exposed me to platforms and APIs that I hadn’t been aware of. Google Wave was an amazing showcase that has huge potential for the future. The new Android phone was a definite perk that no one was expecting.