The rapid growth of Android in the last couple of years has led to a number of companies wanting to convert their iOS app to the Android platform. In addition, many apps are being developed for both platforms from the start, which is great for consumers.
Unfortunately, the rush to embrace Android has led to many apps not following the Android design concepts. Designing an Android app usually isn’t as simple as making a few tweaks to the iOS design–at least not if you’re building a top-notch app. It’s also not as simple as making sure your app doesn’t crash if the user presses the back or home buttons, or handling different screen resolutions. Cosmetic changes to the design won’t cut it with sophisticated consumers. In fact, design was a central theme in many presentations at Google I/O 2012, such as Android Design for Success. Another reason to pay attention to these details is to avoid getting your app rejected by curated Android app markets.
Different design guidelines and philosophy
The Android design team has a specific user experience in mind, and that experience differs from the other smartphone platforms. Since many Android app developers don’t do a very thorough job of following these standards, the ones who do stand out and have an advantage.
It’s much easier to learn about the platform’s design principles since the Android team created Android Design. This bookmark-worthy site features a lot of information, from design philosophy and principles to styles and patterns and even descriptions of the building blocks for an Android app. The site isn’t just for designers who are new to Android.
Cross-platform issues aren’t lost on the Android design team. The guidelines specifically call out not using your icons from other platforms, note that back buttons shouldn’t be labeled, and discourage the use of right-pointing carets on line items. These notes on making your design look like a pure Android app are clearly aimed at protecting against the design elements from iOS and other platforms that often creep into Android apps.
Android apps are supposed to look like Android apps, and maintain a consistent look and feel across the platform. Users don’t care if your app looks the same as on other platforms–they want all of the apps on their platform to feel natural and consistent.
Hardware and software for Android phones
Another potential sticking point for designers is the hardware and software configurations for Android phones and tablets. Graphics for iOS have just four configurations to cover all iPod, iPhone, and iPad devices. Android devices have a near infinite set of possible combinations, because you need to be compatible with devices that haven’t even come out yet.
Devices can have different densities, screen sizes, and aspect ratios. Some hardware (like the front-facing camera) isn’t even present on all devices. To account for all of this variation, Android has a sophisticated system to handle device-independent design, as well as the capability to query the system at run-time to determine which features are available.
And yes, your app is expected to degrade gracefully when desired hardware is not present, unless you mark it as required and exclude devices that don’t support those features. A good example of when to exclude devices is a camera app, which wouldn’t be useful for devices that don’t have a camera.
Then there is the issue of supporting older Android versions. Since Android phones aren’t automatically updated to the latest version of Android (which is a sore subject for many Android users), apps cannot be designed to only function on the latest version of Android. This kind of support has to be built into the design, not added later.
Different user expectations
Users expect an app to behave like it belongs on their device. Android users, in general, are not looking for an app that looks like it was transplanted from iOS without any changes.
Users expect apps that use the full potential of their device–that means not just using the available buttons and design concepts, but also interacting with other apps on the device. Users may have a number of different apps installed that can handle functions like sending email or text messages, viewing pictures, and many other tasks. Android allows these apps to be called to perform those tasks, and if appropriate, the user gets to choose which app will handle the action.
The Android Design site offers a wealth of information, and anyone designing or building an Android app should be familiar with it. While some of the concepts are limited to the newest Android versions, many of the concepts should be implemented now, for all versions of Android.
So rather than asking what tweaks would make an existing design run on Android, ask yourself how you can make the design delight Android users.