Last month I attended the Google IO 2010 Conference in San Francisco along with my colleague Dr. Hans Dulimarta. The conference is Google’s annual developer’s conference where the company announces their new product initiatives and also offer in-depth sessions on various Google technology platforms. The event attracted a sell-out audience of over 5,000 technologists from all over the world, and was indeed well worth attending. Among the key new announcements Google made was the next version of the Android mobile platform (version 2.2, dubbed “Froyo”) which should start showing up on devices near you this summer. The company also handed out some rather nifty free gear to attendees. Weeks before the event attendees were sent a free Android handset (either a Motorola Droid or the Google Nexus One, depending on your country of origin) with a free 30 day service plan. At the event itself, Google handed out free HTC EVO 4G handsets with a free 30 day service plan to every attendee!
The two areas of primary interest to me relating to my courses and mobile lab at GVSU are Google’s offerings in cloud computing and mobile technology. We use both the Google App Engine platform and Android mobile platform in a variety of CS courses and research projects.
I attended in-depth technical sessions on App Engine. Many of the new improvements to the platform and knowledge I acquired in the sessions pertain to performance optimizations. Two particular topics I learned about and plan to integrate into my future distributed computing lab assignments are Memcache (high performance distributed memory object caching system) and asynchronous URL fetching. Both of these are useful techniques for improving efficiency of applications deployed in the Google Cloud on App Engine. One of the students in our lab has already incorporated these techniques into one of our App Engine projects since we learned of them at Google IO.
I also attended a number of sessions on the Android platform. The new 2.2 release of Android contains a whole host of new interesting features. From an end user perspective, features such as support for native tethering should be very interesting (assuming the operators don’t cripple or charge for it…), and the performance improvements yielded by the new JIT compiler should also bring some welcome improvements. And of course if Flash is something you can’t live without, you’ll like 2.2 as well! From a developer’s perspective, we’re excited about the new Android Cloud to Device Messaging API which allows applications running in the cloud to push messages to Android mobiles. These messages are “abstract” notifications and can be responded to programmatically by applications running on the mobile phone. This sort of functionality will make it possible to tightly integrate off-device interactions with code running on the device. For example, consider a desktop web browsing experience where a user encounters an address. One could click on an address displayed on a web page, drag it over to a mobile phone icon, and the map pops automatically on the user’s mobile device.
I also attended an interesting session where Android user interface “best practice” patterns were presented by Googlers. The presentation used the recently released Android Twitter client as a case study to present how Android user interfaces can and should be implemented to provide highly usable interfaces. UI is an area where I believe the Apple iPhone continues to hold a fairly significant advantage over Android, from both a developer and end user perspective. Nevertheless, I did leave the conference with the impressions that Google knows this very well, and is working hard to make sure the Android UI moving forward is compelling alternative.
Although Google offers a significantly discounted registration rate for faculty, I was rather disappointed to discover there did not seem to be much of a presence with regard to attendees from academia. I think this is unfortunate, given the pervasiveness of Google technologies within CS curriculum these days, as well as in the general university environment (gmail, Google docs, etc). Perhaps Google should allocate more of the special rate admission seats for academics? After all, we do have a significant amount of influence on the next generation of developers… 🙂 That said, I did very much enjoy meeting up with a lot of Motorola friends, and folks from other companies that I’ve crossed paths with prior to becoming an academic.
All in all, Google IO was a very informative conference – a literal “drinking from the fire hydrant” experience. It also wins the prize in terms of generous free gear handouts! I’m looking forward to attending next year. If you didn’t make it to the conference yourself, beginning this week, Google is publishing the Google IO presentations on YouTube freely accessible to all. Enjoy.