Resources

Last night I had the pleasure of presenting to the GDG Schaumburg group about my experiences helping clients define and create Android apps. The talk expands the focus from just discussing the technological aspects of building Android apps and covers the important components (people and process) needed to successfully launch an app. I wanted to do something adifferent than just an Android toolbelt talk and, judging from the post-talk feedback and discussion, it resonated with the crowd.

I've refreshed the Android Crash Course(PDF version) as we're currently in the process of ramping up a developer at work. It is still a work in progress and, as always, I'd love to get feedback or suggestions on this and how it could be more helpful. Thanks.

Last week I had the pleasure of attending this year's Google I/O. Before I got too far removed from the conference I thought I would try to capture my impressions and thoughts about last week.

Keynote

The keynote clearly wasn't as tight as WWDC keynotes and frankly not as cohesive as past I/O conferences. Lots of bits were spilled last week in the aftermath, and I will spare you a retread of the common complaints. I do think though that a majority of the problems stemmed from the lack of a unifying theme or major tent-pole announcement. It is tough to build a substantive keynote around the smaller, more strategic moves Google announced. That being said, I cannot argue with the complaints about the "blocking and tackling" problems Google had during the keynote especially at a conference this big.

Android Announcements

When the keynote came and went without an official Android bump to the API level, many took that as Google wavering on their commitment to the platform. Watching the keynote live I had the opposite impression, and the subsequent Android sessions during the week reaffirmed that.

The Google Play Services and the r13 Android Support Library UI enhancements showed us how Google plans to curb the fragmentation issues which have plagued the platform. By packaging these enhancements in libraries that are compatible back to Froyo and immediately available for integration, Google enabled developers to get these new features and services into the hands of users immediately. This eliminates the dependency Google had previously on hand-set manufactures to integrate new Android releases on their current and older devices.

Many have questioned the long term viability of the Android platform for Google as companies like Amazon and Samsung seek ways to circumvent or minimize Google's influenence on their products. The approach that Google adopted has provided a way forward that serves their needs as well as developers. That is a big deal.

Comparison to WWDC

The content and variety of sessions at both conferences is excellent. On the whole, WWDC's sessions appeared to be more polished and rehearsed when compared to the I/O sessions. I found the I/O sessions tended to be a little more light-hearted and included more variety in the session structure (fireside chats, interactive labs) which added to the enjoyment of the sessions and kept the sessions from becoming monotonous. Both conferences provide a tremendous amount of access to the engineering teams directly working on the frameworks and services developers interact with on a daily basis. These opportunities for interaction are easily the most valuable parts of each conference. While the Apple labs at WWDC predominantly allowed for one-on-one interaction with their engineers, Google made their engineers available in an Office Hours setting that had the engineers holding court for small groups around white boarded areas in the conference hall. If you had very specific questions, the WWDC labs could not be beat for access and personal attention. If you were interested in picking up some tips and inside scoop about your favorite Google developer topics, then the I/O office hours are great.

My biggest gripes about I/O are mainly with the logistics and the infrastructure at the conference. The most popular talks were being held in rooms that could have easily been filled if they were four times the size. The bigger tracks like Android and Chrome could have benefitted from being clustered on one floor near each other instead of being spread over two. That would've made bouncing between sessions easier and eased up the congestion around the escalators and the other traffic hotspots on the floors. The session rooms themselves were stuffy and hot during the talks and especially so in the popular sessions which typically had crowds sitting along the walls and in the aisles. While the range of these complaints range from the minor (too crowded at times) to major (uncomfortably hot rooms) annoyancess they still detract from an otherwise great conference experience. The best thing about these issues are that they fixable. Hopefully Google will make some changes to eliminate these issues from future conferences.

External Conference Activities

The best parts of conferences are social interactions and Google I/O was no different. I kicked off the week at the Meatup.io, made my way out to Twitter for their Mobile Showcase lightning talks and capped the week off by going to a meetup-style talk on Android testing at a local startup. It was great to meet so many great developers and engineers at these events and it was nice to be able to thank so many of the project creators and maintainers in person for their contributions to Android's open-source community.

Summary

I had a fantastic time at Google I/O. I'm still chewing on and trying to process all the great content, conversations, and code that I was exposed to last week. I highly recommend Google I/O, and if you are fortunate to get an opportunity to attend a future event, I strongly urge you to go. Being around 6,000 passionate and excited developers is an amazing way to spend a week learning and exploring new technologies and services.