The Android operating system took center stage at Google I/O 2012 that wrapped up at the end of June. The first keynote was Android-centric and there were almost always two concurrent Android sessions offered during all three days of the conference. Here are the most important Android developer themes that we picked up at Google I/O 2012.
Android Development Take Away #1: Design Quality, Great Looking Apps
A consistent theme throughout the conference was to create great looking apps. This includes how they look on all devices, how they behave and how they perform. Great looking apps with consistent behavior and exceptional performance are good for the developer, the user, and the platform as a whole. On the last day of the conference, a room was dedicated to design-related topics. The sessions ranged from basic design guidelines and making the most of the Android Design site to specific application design case studies.
Android Development Take Away #2: Follow the Recommendations on the Android Design Site
The Android Design site (http://developer.android.com/design/index.html) was referenced at many talks. Google is serious about getting all developers to read the Android Design guidelines. They want everyone to know the information and to follow the guidelines closely. This doesn’t mean that all apps should look the same. It does mean that apps that strictly follow the design guidelines so the app works in a way that Android users expect. If your app doesn’t follow the guides then users may get confused, use it improperly or, worse, uninstall it and give it a bad rating.
Android Development Take Away #3: Use the Action Bar, Drop the Dashboard
A couple of years ago at Google I/O, some design patterns were presented. Among those were the notion of an Action Bar (a bar at the top of the screen with a contextual title and common actions) as well as a Dashboard (essentially an icon driven main menu screen). The Action Bar design is being pushed as something that all apps should have now. With backward-compatible framework support libraries and pointers on how to create a compatible Action Bar, there is little reason for developers not to use them in just about all apps. Although, not everyone we talked to likes Action Bars, using them is another case of platform consistency that makes using your app more familiar to users.
Android Development Take Away #4: Android Isn’t Just For Smartphones
This may seem obvious to many, given the popularity of tablets, but Android is more than a smartphone platform. For that matter, Android extends far beyond tablets too. Android-powered Google TV devices have different inputs, different sensors and different hardware profiles; they also come with a different user base. At Google I/O this year, Google introduced a new Nexus device called the Nexus Q. It runs Android. It has a built-in speaker amplifier. In theory, a user can plug in their speakers and use the device. What’s missing? Any sort of interface — there is no screen, no keyboard, mouse, or stylus. Instead, it’s controlled from other Android devices. To drive the point home Google gave all of the attendees got one of these new devices. //Did you get a Nexus Q? If so we need to disclose that here or at the end of the story.
Android Development Take Away #5: Make Apps Great No Matter What Device They Run On
Following up with the message that Android goes beyond phones is the design message to create applications that perform well across all of these devices. That is, don’t just create an app that can run on one device. Create an app that uses the special features of each class of device. This ranges from using cameras or sensors that exist on some devices, but not all, to the more complex design decisions, such as using a special authentication device (e.g. fingerprint reader) or input device (e.g. analog inputs for a game, stylus input). In some cases, it makes sense to code a separate version of the app if the customization for some devices would complicate the app source code. Also consider software differences such as device-specific manufacturer skins and leverage add-on SDK features.
Android Development Take Away #6: Optimize Your Apps — Less Jank, More Butter
A common theme, from the initial keynote to several sessions, was to create applications that are “buttery smooth” and that don’t have “jank” (or stuttery performance). While the terminology may sound silly, using an app that is truly buttery is a wonderful experience. It’s worth the extra effort to make sure lists, swipes, animations, transitions, and other actions and effects immediately react with no stutters or pauses. Accomplishing this may require improvements in layouts, graphics, overall architectures, networking, and many other areas of the app.
Android Development Take Away #7: Update Your Apps
It’s not enough to create an app, publish it, and forget about it. Devices change. Design guidelines change. User expectations change. Even the app store can change. Developers must keep up with the current state of Android development and update their applications regularly. They need to respond to user-reported bugs, crash reports, and general feature improvements requests. To truly keep apps up-to-date, though, can often require more than just a couple of small tweaks when a major Android SDK revision comes out.
Android Development Take Away #8: Monetize Your Apps
Most people and companies need their apps to have value in some way. For some, this may just mean brand extension. For others, providing a free app may make them feel good. But many need to make cold, hard cash from their apps. There are several means of monetizing an app; which one works for your app depends on your situation and goals. Android developers have plenty of monetization options. There are paid apps, free ad-driven apps, and many other options in between.
Android Development Take Away #9: Use Analytics to Improve Your App
Make a point of knowing how users are using your app and how the app is behaving in the field so that you know which parts of the app people like and which features people can’t find or don’t use. Using analytic services such as Google Analytics allows developers to track a variety of different user and app metrics. Using these metrics, developers can tune their application for ease of use, performance and monetization.
Android Development Take Away #10: Market Your Apps
Gone are the days when just having a listing on the app store is sufficient. With over 600,000 apps on Google Play alone, users won’t typically find an application without knowing that it exists (usually by name). Whether you put a notice in your local paper for an app of local interest or advertise your app during the Super Bowl, getting the word out about your application is important — if you want users in the quantities one needs for real monetization to succeed. How you market your app depends on brand, application type, marketing budget and the app cost model (see point #8.)
This year Google I/O shifted toward sessions for developers with currently available apps. Many of the sessions were about refining existing apps to improve performance and user retention.