Thoughts on Google I/O 2013

18 05 2013

Google I/O 2013 has ended and while we saw a few new things on the Android front, this year’s event was much more dialed back than 2012 as far as the platform is concerned. There was no Android update announced, much to the chagrin of some bloggers. In my opinion, this isn’t that big of a deal as the platform is in a very stable, viable place right now. The platform along with the Android Design Guidelines provide the foundation for developers to deliver almost everything possible in their apps.

There was an update to the suite of services labeled as Google Play Services, which includes APIs such as Maps, Google+ sign-in, Cloud Messaging, and Game Services. How Google is leveraging Play Services is very clever and hints at how Google intends on getting around manufacturers and carriers dragging their feet on OS updates. Google isn’t the reason for fragmentation in the market, it’s the carriers and manufacturers taking months to release updates and in some cases, never releasing them. I think we’ll see more of this sort of update in the future, getting updates to critical APIs in a push that doesn’t rely on carriers and manufacturers to cycle through their own development and test processes.

There was the announcement of Android Studio and a new build system, Gradle. Android Studio is based on the community edition of IntelliJ and while I’ve never used that IDE myself, several of my colleagues have and swear by it. I’ll be taking a closer look over the next few weeks even though the IDE is considered a Preview release. It appears to be pretty functional. While Tor Norbye stated in the intro session they plan on keeping both Eclipse/ADT and Android Studio functionally equivalent, he did let one tidbit slip out that caught my attention. He stated that “some things are just easier to do” and “some things we just can’t do in Eclipse” when discussing the features of Android Studio. This makes me wonder just how viable it will be to expend resources on two different platforms when one is clearly easier to deliver functionality for. Eclipse/ADT may stick around for a year or two, but I wouldn’t be surprised if support is dropped some time in the future.

I’m surprised it took as long as it did for Google to move away from Ant as their build system. As someone who has been using Maven since 2007, I loathe every time I have to look at an Ant script. The move to Gradle makes sense and is even a bit forward thinking on their part. I look forward to introducing dependency management and artifact repositories into my projects.

While there was a strong emphasis on gaming this year with the introduction of Google Play Gaming Services and nearly every period of the first day dedicated to gaming sessions, there were a few things of major interest to the enterprise community. Many, if not all, of our mobile clients are leveraging Google Map APIs in their native applications. I encourage all to revisit their code and take a look at the new Fuse Location provider with significant battery savings.

The biggest announcement for the enterprise centered around the Developer’s console, particularly support for Beta Testing. I wrote a blog over two years ago about Android in the Enterprise and how it just wasn’t ready yet. One of the issues I had was the inability to distribute software internally. That’s been fixed somewhat by the addition of a private channel for Google Apps customers, although I’d like to see this expanded a bit to allow enterprises to also leverage this feature. However, at nearly every one of my clients we’d have to figure out a way to distribute an application to our testers for system testing. This almost always involved system admins, network admins, etc to get some hosted disk space on an Apache server, email blasts to all the testers with a URL or IR code for them to download. This should be a thing of the past with the new Beta Testing feature. Smaller enterprises could even leverage this feature to target their production internal applications via this channel. While I’m most excited about this feature, the full fledged integration of Google Analytics right into the Developer Console is also a welcome addition. Provided you’re using GA for analytics in your app, all this information will be side by side with all the other analytics you get for free from the Google Play Store.