Google sent a love letter to developers yesterday by way of a three and a half hour keynote presentation at Google I/O 2013. Take a minute and watch this opening video from the keynote and tell me if you don’t feel inspired as a developer, or as a user of technology, for that matter:
It’s really not about us. It’s about you: developers, who are building the most amazing and magical experiences that make those platforms and services come alive.
– Vic Gundotra, Senior Vice President, Engineering
But words, spoken or shown on a giant screen in Moscone Center, are empty unless there are actions to back them up. Fortunately for us, the keynote was a parade of actions taken by Google to make our jobs as developers easier and more enjoyable.
Let’s get the devil’s advocate stuff out of the way first, though. Sure, I understand that the “Don’t Be Evil” corporation has a reputation lately of being a little more, well, evil. Take the reaction to sunsetting Google Reader, for example. Those types of decisions are open for criticism, but as far as developer relations go, Google has a history of taking care of developers and listening to their feedback. That trend continued today with a long list of developer-friendly announcements. (Feel free to continue this discussion in the comments!)
Why Google Loves Web Developers
Though Android was first up in the docket, Google spent plenty of time talking about Chrome and the web. Developers would love to see web technologies become first class citizens for native app development, but that just ain’t happening yet. Google did, however, talk about improvements to Chrome and some new file formats that will help improve the experience of web applications on mobile devices.
First up was support for a few new file formats for compressed images and videos. Google showed side-by-side comparisons of images in JPEG and the more recent WebP format, which is free and supports lossless compression, transparency, and animation. The images looked nearly identical but the WebP file was 31% smaller. (This is currently only supported in the beta version of Chrome for Android.)
They also showed two videos simultaneously that compared the standard H.264 versus the VP9 format. The videos were again nearly identical, but the bitrate was much lower for VP9 and the overall file size was nearly a third of the size of the H.264 file.
This is a big deal for web developers because a high speed internet connection on a mobile device is not a given. We need to be aware that users around the world are accessing our content from all sorts of networks, and while speed is certainly an issue, cost is too. Anything that Google or developers can do to reduce file sizes helps to speed things up and keep costs down.
Google has been hard at work improving Chrome on mobile devices, too. Performance increased by 50% in the past year for the mobile version of Chrome, according to their own Octane benchmark.
Why Google Loves Android Developers
It seemed like everyone who took the stage yesterday said “Thank you” to developers. It felt like some real recognition of how developers have contributed to Google’s success by creating such an amazingly rich ecosystem of apps. They announced that over 48 billion apps have been downloaded to date from Google Play, and that more payments have been made to developers in the first four months of this year than all of last year. Revenue per user is 2.5 times what it was last year globally.
The other phrase that was repeated often was “we listened to your feedback”. Many of the new features released have been asked for by the development community, including some really exciting ones like the ability to publish to alpha and beta testers within Google Play, using Google+ circles for authorization. The Google Play Developer Console also offers a new translation service to more easily globalize our apps, and it will analyze apps and give feedback on how they might be improved to make more money from them.
Games! Cross-Platform Games!
Another big change for Android developers is the introduction of Google Play Game Services. This is like Apple’s Game Center that allows easy multiplier gaming in apps, but it is cross-platform, meaning that it will work on Android, iOS, and the web. The Game Services will allow developers to easily hook into multiplayer functionality that includes things like leaderboards and integration with your Google+ circles.
Game Center is pretty slick, but if developers and users adopt this, it could blow Game Center out of the water. There is no technical reason to dictate that you can’t play a multiplier game with any device you choose, and it is very refreshing to see Google provide these types of services.
One IDE to Rule Them All: Android Studio
The biggest announcement in the eyes of many Android developers was the unveiling of a new-ish tool called Android Studio. Since Android’s inception, the officially supported Integrated Development Environment (IDE) has been Eclipse, an open source IDE built in and for Java that frankly has come a long way in the past few years. It has a reputation for being slow, clunky, and buggy, though, and many an experienced Android developer use a more polished and powerful product by JetBrains called IntelliJ IDEA.
Android Studio is a new package based on IntelliJ IDEA. I downloaded the preview and at its core it is the same as using IntelliJ IDEA. It does have some new branded and integrated features that should make developers happy. For example, instead of clunky string resource identifiers, we will now be able to see the actual string values pulled in and displayed in layout files and code, as if we had hard-coded the string. We also will see real-time updates to layout files as we edit them in XML or the Graphical Layout Editor.
This early access preview doesn’t have many features that differentiate it from IntelliJ, or Eclipse, for that matter. But as Tor Norbye (an engineer on the Android team) says, “We have big plans for Android Studio.”
Having used both tools, I am excited to see official support move to IntelliJ. I have long defended Eclipse as a robust tool that shows how open source software can be very effective and useful. The support community around Eclipse is large and helpful as any question about an Eclipse bug or oddity on StackOverflow will show. But IntelliJ is the more powerful and feature-rich IDE, and becoming the officially supported tool means that the community of developers using it will grow quite a lot, which means better support for everyone and more voices pushing the envelope for Android development tools.
The Hidden Meaning Behind These Android Updates
In other news for Android developers, there were some exciting new APIs released as well. For location-based apps, there are new APIs regarding a “fused location provider” (which will be better on battery life), geofencing (one of my favorites), and activity recognition, which means you’ll be able to tell if the user is walking, biking, or driving. Google+ sign in was enhanced to allow users to sign in seamlessly across devices, upstream messaging was added to Google Cloud Messaging service, and some new UI features were even snuck in without any fanfare during the keynote.
Dustin Earley from Android and Me wrote a post called “Google updating Android without updating Android is the biggest news out of I/O 2013” that sums the hidden meaning behind all these updates. In it he says, “Google’s answer to fragmentation has been fully realized at Google I/O 2013.” This is good news for developers (and everyone, really). His observation is really astute. The new features today are part of different support libraries like Google Play Services that don’t require a new version of Android for developers to take advantage of them. We can start writing apps right away that make use of the new location APIs, for example, which means we can reach a much wider audience than waiting for the latest version of Android to trickle through the system to end users.
The rest of these announcements are not necessarily meaningful from a developer perspective, though some are certainly ripe with opportunity for developers, like Google Play for Education:
- Google Play for Education was announced, which looks like a great resource for educators.
- The new Hangouts app is a cross-platform messaging service with apps for the web, Android, and iOS.
- A new Google Play Music: All Access service looks to compete with Spotify.
- Many enhancements were made to how photos are stored and edited in the cloud through Google+.
- Google Now (voice search) was improved with more results, and it’s now available on the desktop version of Chrome.
- Improvements were made to Google Maps to give more real-time, context-aware information.
- There were no hardware announcements except for a special Samsung Galaxy S4 that runs stock Android. It’s cool, but expensive at $649.
- There was no mention at all of Google Glass (though it was in attendance on audience member’s faces).
- Developers still can’t access Google+ through an API. (Don’t you trust us, Google?)
All in all it was an exciting day for the tech world, and the rest of the world as this technology spreads to developing nations and people who have never used anything like this before. It’s an exciting time to be a developer, and that enthusiasm and excitement showed in everyone who presented, all the way up to one of the top dogs himself, Larry Page:
I think today we’re still just scratching the surface of what’s possible. That’s why I’m so excited … I cannot wait to see what comes next. I got goosebumps while I was watching some of these presentations here.
I cannot wait either. I wonder what will be revealed at WWDC?