Android and More at Google I/O 2011
Google I/O 2011 is officially over. I attended mostly Android talks, so I can’t comment too much on the other platforms’ sessions, but here’s a recap of what happened in the Android world, as well as some additional stuff at the end.
Big announcements of the Android keynote, which I recapped in a previous post:
- Android 3.1 rolling out–include resizable widget, USB APIs, and other improvements.
- “One OS Everywhere” refers to the next Android release, Ice Cream Sandwich, which will reunite the forked phone/tablet OSes back into one improved OS that includes new Honeycomb features not yet on phones.
- More reliable upgrades for users? Google said they are working with carriers and manufacturers to develop new guidelines for updating Android devices.
- Hardware! The Android Open Accessory Development Kit allows you to create new hardware to use with Android devices. Unfortunately I missed the talk and did not get a voucher to pick up an ADK starter kit.
- Google TVs will get Honeycomb and Android Market soon; also Android@Home allows you to connect your Android device to home appliances.
Wow these Android sessions were packed. The Android sessions were mostly held in a room with a capacity of 1,000 people, and it seemed like there were always people standing or sitting on the floor as well. Here are some of the highlights of some of the talks I went to, and links to the recorded videos. For videos of other talks, check out the I/O site.
Android Protips: Advanced Topics for Expert Android App Developers (Video)
Reto Meier presented some advanced tips for Android development, specifically how to make your app Fresh, Psychic, Smooth, and Adaptive. He presented the slides from his tablets, and has a blog post about how he did it, complete with source code for his tablet apps (fun fact: the app live-tweeted presentation updates on slide transitions). I highly recommend watching this talk if you haven’t already.
Android Development Tools (Video)
Developers are very happy when you improve their development tools. I think there was more applause at this session than any other session that I attended, excluding the keynotes (but can you really complete with free Samsung Galaxy Tabs and Chromebooks)? They announced improvements for a bunch of tools. Some highlights:
- Graphical layout tool has better preview functionality, even for custom views. You can also preview animations that are specified in xml in the graphical layout editor. Better refactoring options such as “Extract Include” which will extract a section of xml and make it a separate xml file, and also find and replace other occurrences of the same xml. Also “Extract Style” will extract common style elements from multiple views.
- If you prefer editing directly in xml, there is better auto-complete for properties. For example to set “android:layout_width” you can start typing “widt” and auto-complete will help you select “android:layout_width,” which can save a lot of time typing “android:layout_”. If you set a string directly in xml, you can use Eclipse Quick Fix to “Extract Android String” and it will let you name the string and add it to your strings.xml file.
- TraceView has been around for awhile, but it is more integrated in Eclipse, so you can profile methods easily from your development environment.
Android Market for Developers (Video)
Eric Chu presented on Android Market updates, which are live as of today. Going beyond just “top free,” “top paid,” and “more from developer” categories, Android Market now has sections for “top trending,” “top new free,” “top new paid,” and “top grossing.” On top of that, there is now an “Editor’s Choice” and “Top Developer” badge that indicates apps that are curated by the Android team and apps that are from reputable developers that have reliably published quality apps.
He also announced multiple apk support, so you can upload different apks for different versions, and the market will handle serving up the appropriate apk to the user, depending on your specifications. Another very useful developer tool gives you the ability to see all the devices that can download your app from Android Market. You can exclude specific devices from being able to download your app as well.
One statistic that stuck out during this talk was that even though in-app billing has only been launched for 45 days, in-app purchases account for 12% of all market revenue, and on average, an app with in-app billing monetizes 25X better than a regular paid app.
Memory Management (Video)
Patrick Dubroy did an amazing job outlining the fundamentals behind memory management, garbage collection memory leaks and memory analysis tools. In the talk, he went through an example where he introduces a memory leak in an app, demonstrated how we can tell via Logcat that there is a leak, and used Heap Dump and Eclipse Memory Analyzer to track down the leak. He also gave a nice explanation of dominator trees and shallow vs retained heaps. Also in pre-Honeycomb Android versions, bitmaps, the improper handling of which are often the cause of OutOfMemoryErrors, were allocated on the native heap and not on the Dalvik heap, and in Honeycomb, bitmaps are allocated on the Dalvik heap like most everything else. I’ll update with the video link when it’s posted.
This was my first time attending Google I/O, and I have to say Google knows how to throw a good developer’s conference. There were snack areas with candy bins, afternoon snack service, lots of bean bag chairs and lounge areas, and phone charging stations. At the talks, they strapped power strips to every few chairs so you could plug in–amazing!
There were robots everywhere! iRobot, makers of the vacuum robot Roomba, had a bunch of robots with tablets as heads roaming around the Android floor. Smaller segway-like Android robots also were rolling around the conference.
Google demoed the capabilities of the Android ADK with a jumbo labyrinth, where you could guide a huge marble through a labyrinth with an Android tablet.
The after-hours party after the first day was everything a developer party should be, complete with robots roaming the floor, dancing Android guy (yes, the Sony Ericsson one of YouTube fame!), source code projected on the big screens, and tons of cool projects.
The Google self-driving car was on display, along with a monitor that I believe was showing where the car detected people in the room (you can see by the lights that it detects people closer to the car, but also that there are people in the vicinity).
Google I/O is well-known for giving out swag that costs way more than the conference tickets, and this year they really went overboard. All attendees received a Samsung Galaxy Tab 10.1, which is not yet available yet in stores but will be released in a month. It is thin and light (slightly thinner and lighter than the iPad2), and looks pretty sweet so far. Also, Pulse was preloaded, and I saw a bunch of people using Pulse on their shiny new tablets =).
At the end of the Chrome keynote, VP of Product Management Sundar Pichai announced that when the new Samsung Chromebooks ship in June, one will be shipped to each Google I/O attendee. On top of all that, we also each got a Verizon 4G mobile hotspot and 3 months service for free.
Individual talks also had Oprah moments. At an Android hardware talk, they gave out starter kits for the new ADK (Accessory Development Kit), and at a gaming session, everyone received Sony Xperia Play phones.
Google does a lot to promote the developer community around their platforms and the ticket price for Google I/O reflects that (it’s ridiculously low). I love free stuff as much as the next person, but Google I/O tickets are hard to come by, and it’s a shame that some of them are going to people who are just getting the free stuff and leaving before any of the talks to sell their tablets on eBay.
- Google Announces App Inventor
- Google I/O Keynote
- Getting Started with Android Development
- Android Booth Ridiculousness at MWC
- Bogus Metrics for Honeycomb Apps