One of the primary complaints about Google’s Android operating system has always been about the sometimes erratic and unattractive application design. Unlike Apple, which strongly prescribes the look and feel of apps on its platform, Google has been silent on the subject of interface design — until now. Last week, Google unveiled its new Android Design site. This is a resource for developers and designers to understand the minutia of Android’s new look and feel under version 4.0 Ice Cream Sandwich (ICS).
If developers begin taking advantage of this resource, Android apps will change dramatically. Here are the five ways thatAndroid Design is going to make your app experience better.
Google announced a few weeks ago that all Android 4.0 and higher devices would need to include the stock Holo theme. OEMs that want to skin Android can still do so, but to be certified and gain access to Google’s apps, the visual assets from ICS need to be included. This was a move to make things easier for developers, who can call up the stock Holo theme for use in their apps.
The Android Design site reinforces this policy with a section on choosing a theme. There are three types of Holo interfaces for developers to pick. Holo Light is the white/gray interface used in Gmail. Holo Dark is the back/blue look used in the Honeycomb and ICS settings menu. There is also a version of Holo Light with a dark action bar, where the menu options live.
Google is encouraging developers to choose the interface that suits their apps best, and build around it. This is going to be worlds better from the perspective of developers that have thus far had to deal with the layout foibles of half a dozen OEM skins. Your apps will look better not only because they will use Google’s sharp new themes, but because developers will be able to spend less time on troubleshooting layouts, and more on actual design work.
Better notifications and dialogs
Android’s notification system has always been phenomenal, and developers have really embraced it. Apps can spawn dialogs in the form of modal popups, and the more common status bar notification. A point Google is trying to make in the new design docs is that maybe developers like notifications a little too much.
Apps often produce notifications for every minuscule action. Google now says that an app should only produce a notification for things that require user intervention. For example, if the relevant information is already displayed on the screen, a notification is not needed. Similarly, developers should not create notifications to let you know that everything is working correctly.
Google has also offered some notes on how notifications should be worded. With a system like Android, rife with complicated options and settings, it can be easy to get overly-technical. One of the principals of the new Android design is to present users with easy to understand notifications and popups. If an app force closes, the dialog should not list a package name and other technical information. Rather, notifications and dialogs should contain just what you need to know.
Universal touch feedback
Google wants you to feel like you are manipulating real objects when you use Android. Touching a screen should provide some visual feedback. Reinforcing gestures and presses can indicate state, and activity in a meaningful way to users. If you were to press a touchscreen button, and it did not noticeably change, how would you know you actually pressed it?
Android Design lays out the way buttons should work in various states, and how that can convey what the system is doing. Developers can rely on these active and non-active states within their apps because of the inclusion of the stock Holo theme. More complex activities, like swiping apps or tabs away, should also be enhanced with visual cues. Google uses the multitasking interface as an example of this. When an app is being swiped away, it fades into the background, letting you know it is going to be removed. This is the kind of user interaction Google wants to see more of.
In Android 2.3, Google began using the colored spark at then end of a list to indicate you are indeed at the end. This is a useful bit of visual feedback, but it’s not used in all third-party apps. The Android home screen uses the boundary glow effect, as do all the scrollable lists and widgets. Hopefully, developers will get the message and make use of this cue in more apps.
Google is finally talking about a “pure Android” experience. As anyone that has poked around in the Android Market can tell you, there are plenty of apps ported from other platforms. They can also tell you that often developers have ported the old interface right along with the content of an app. Not only does this speak to the fractured nature of Android UI design in the past, but it’s often a usability disaster.
Google has come out strongly against mimicking UI elements from other platforms on Android. It might seem advantageous to design an app once, then just port it to other platforms, but this has the potential to make an app inconsistent within a platform and alienate users. The Android Market is littered with the corpses of apps with poorly ported UIs that didn’t live up to user expectation.
Google is finally trying to give developers the resources to design right for Android, rather than taking buttons and ideas from other platforms. If they heed Google’s word, you apps will be more consistent and authentically Android.
Navigation and the back button
Often cited as an example of Android’s inconsistency, Google is trying to get developers to standardize around how navigation works within apps. The system level back button, the documents say, should only be used to go back one screen in reverse chronological order, and to dismiss menus/popups. If you are on the first screen of an app, the back button should exit the app.
This is contrasted from the Up button, now seen in the top left corner of many Google apps. This button simply goes up one screen level in an app, with no regard for what the previously viewed screen was. If developers can get behind the Android Design guidelines on this one, your apps will be easier to navigate, and you will finally know what that back button is going to do.
It’s going to take time for the new Android Design to catch on. As ICS-based devices begin to hit the market, developers will see the benefits of designing dynamic apps that fit within the larger UI aesthetic. Even on skinned phones, the Holo them will be available to keep things consistent. Better visual feedback, smarter wording for users, and adherence to navigation standards will also go a long way to make Android apps better for you.