I’ve been doing a lot of research recently about mobile design patterns and UX best practices for smartphone and tablet devices for both iOS and Android platforms. One thing has stood out more than anything else during this process: no one is talking about Android. Ok, “no one” is clearly an exaggeration. There are a few great resources out there that have been very helpful in the quest to learn how to best design native Android smartphone and tablet applications (posted at the bottom of this article). But compared to the huge plethora of resources about designing iOS applications, resources about Android design are extremely limited. Why is this and what should we do about it?
The Android Market
Just to give some background on the importance of taking Android seriously, let’s look at the latest marketshare numbers.
- Smartphones: A recent study by Nielsen showed that Android has 48% US smartphone market, and other estimates show Android has about 46% of the worldwide smartphone market. Sure, you can argue that these numbers may go up or down over the next few years, but our current reality is that about half of smartphone users are using Android devices.
- Tablets: On the tablet side, the numbers are more even than you may think. Worldwide 4Q 2011 sales numbers put the iPad at only 54.7% of the worldwide marketshare, thanks in large part to the success of the Amazon Kindle Fire which took 16.8% of the marketshare. In total in 4Q 2011, Android took in a surprising 44.6% of the tablet marketshare. Again, these numbers are certain to fluctuate, but we can’t ignore that there’s a huge market for cheaper Android tablets that might not be as flashy or advanced as the latest iPad, but still have a high appeal to a large chunk of the tablet market.
It’s worth mentioning that the US and worldwide marketshare figures may not be representative of your particular application’s target audience. Your audience may be shifted more or less toward Android for a variety of reasons. It’s important to understand your particular application’s market before necessarily investing in the time and money to develop Android applications. However, for the sake of this article, I’m speaking more in terms of the UX community’s need to increase our overall knowledge about the Android platform.
Android vs. iPhone UX Design Resources
If you search for resources about how to best design native iOS and Android applications, you’ll quickly find that there are numerous articles, blog posts, social media conversations, research reports, books, UI design pattern libraries, presentations, videos, and developer guides about iOS smartphone and tablet applications.
Try to find the same information about Android smartphone and tablet design, and you’ll find a lot less. The most in-depth resources are geared towards developers, not designers. In conducting research for my project work, I ended up reading far more technical documentation than I ever thought possible, and had to dig out how to best design UI components. It seemed impossible to find any detailed design-oriented books or articles that went into the equivalent detail that one would find in books such as Tapworthy or Designing the iPhone User Experience, or even most of the articles written about iOS design. The resources listed at the end of this post are, more or less, the extent of what I could find, in total, on designing Android user experiences. After going through those resources, there are still many unknowns and open questions about how to best approach Android User Experience Design.
The Android vs. iPhone UX Knowledge Gap
I have a few hypotheses for why the number of resources about Android UX design are so limited compared to iOS. The reality is that it’s probably a combination of several factors:
- UX Designers are more likely to own and use iOS devices. I don’t have any stats to back this up, but those in the UX community would have a hard time denying that UX Designers tend to be Apple geeks that love Apple devices. Simply through the nature of owning these devices, we have a higher interest in them, and a higher level of knowledge about them. That also means that, generally, we know less and care less about Android. Just take a look at the Twitter feeds on any given day from the UX crowd. There is a lot of talk about Apple and iOS, and very little about Android (other than the occasional bashing).
- Android doesn’t have the same design culture as iOS. Good design is a fundamental aspect of iOS. The very first section of Apple’s Human Interface Guidelines state that “Great iOS apps embrace the platform and human interface design principles.” While Google has made an effort to make design a more integral part of developing Android applications, it’s not at the same level as the design standards set by Apple. Without the same amount of focus put toward design by the platform itself, the UX community hasn’t extended the same level of effort toward designing optimal Android experiences.
- Android doesn’t have the same type of design standards as iOS. It’s fairly easy to talk about how to design application experiences for iOS thanks to Apple’s very detailed set of standards for navigation, controls, gestures, and other system interactions. Android, in contrast, is built off of the idea of an open platform where native elements for application structure and controls exist, but can be heavily customized without penalty. This openness can be a bit intimidating for UX Designers who are used to designing iOS applications with more strict guidelines (“what do you mean I can do anything I want?”). We have yet to really talk about the Android platform with the same level of enthusiasm as the iOS platform, partly because it’s much harder to talk about how to design effective Android applications.
- UX Designers aren’t working on as many Android projects. POST UPDATE: In response to some comments I’m getting on Twitter, I’ll acknowledge that it’s quite possible, if not very likely, that we’re not yet at the point where businesses are asking for as many Android applications as iOS applications. Without the same level of business need, the same level of thought leadership isn’t going to be present in the community. However, I do see this changing, and quickly, as businesses recognize the Android market as being a large business opportunity. It’s becoming more and more common to hear of mobile development projects asking for both iOS and Android versions.
I know there are UX Designers who own Android devices or who at least spend significant time with them. There are also UX Designers who dedicate significant effort to Android application design and who have helped to create great Android applications. The problem is, these talented individuals aren’t speaking out enough about their experiences in order to help others overcome the barriers to Android design.
Android’s Fragmented System Results in Fragmented UX
You’ve probably heard of the Android fragmentation problem, particularly in terms of how it affects development of Android applications. The Android market is full of an immense variety of devices with different operating systems, device hardware capabilities, screen sizes, and screen densities. This means that applications will never look and act exactly the same way across all Android applications. Here’s how Android’s developer documentation suggests you address the situation:
“Although the system performs scaling and resizing to make your application work on different screens, you should make the effort to optimize your application for different screen sizes and densities. In doing so, you maximize the user experience for all devices and your users believe that your application was actually designed for their devices—rather than simply stretched to fit the screen on their devices.”
So you have two options: build one flexible application and attempt to optimize it where you can, or optimize for each and every screen size and density. This is a challenging problem that has big UX implications, and we need to be talking more about it!
While Google has released design and UX “guidelines” (or rather, recommendations of design patterns to use), many of these guidelines really only apply to the latest version of the Android operating system, Android 4.0 Ice Cream Sandwich, which currently only has 2.9% of the Android marketshare. We’re still dealing with the need to design for older operating systems that have different interaction design patterns in addition to trying to advance the platform.
UX Designers can’t design Android applications in the same way as iOS applications. Here are just a sampling of factors that need to be considered and designed in different ways to account for the fragmented Android ecosystem:
- Flexible layouts need to be designed to account for small, normal, large, and xlarge screen sizes (see the Android screen size dashboard for the breakdown of how many users are using different screen sizes).
- Different content views need to be considered to optimize the display of information for different screen sizes (e.g. table views for small screens might scale to grid views for larger screens).
- The “action bar” UI element needs to be presented differently based on screen size, OS version, and hardware (e.g. additional actions that don’t fit in the action bar appear differently depending on whether or not the user’s device has a hardware menu button).
- Optimizing a design for both portrait and landscape orientations is very important with Android applications, especially for users who use devices in landscape mode for keyboard input with a hardware keyboard. So you’re not only dealing with different screen sizes in one orientation, you also have to consider how that experience will look in both orientations across different device sizes.
- Tablet design patterns are vaguely defined and are typically designed as just larger versions of smartphone apps. To complicate matters, the Kindle Fire, the highest selling Android tablet, doesn’t even run a tablet-optimized OS.
Confused yet? All of this makes it tempting to just take an iOS application and “plop” it into an Android app and call it a day. I think we all know that that’s not an ideal experience for users who are accustomed to Android-specific interactions. In order to really do this the right way, we need to get smarter about Android and share our knowledge and experiences with each other.
The Android Opportunity
“Despite leading in total mobile application downloads, Android’s app downloads per user still lag behind Apple’s by 2-to-1,” adds Dan Shey, practice director, mobile services. “Apple’s superior monetization policies attracted good developers within its ranks, thus creating a better catalog of apps and customer experience.”
This isn’t just about Apple attracting good developers. Apple has also managed to attract User Experience Designers who want to design great iOS applications. Android has, for the most part, taken a back seat.
There’s a huge opportunity here. I’ll be the first to admit that designing for Android is painful. It isn’t as fun as designing for iOS. It can be incredibly frustrating. Looking at the majority of Android apps out there today is enough to make you not want to go near it with a 10 foot pole.
But look at the flip side, too.
- The open platform gives us the chance as a community to help fill in the gaps of the existing design guidelines and start to create interaction patterns that work within the Android context to help make apps more successful in the Android market.
- We can help find ways of creating effective interfaces that address the fragmentation problem so that our users don’t feel the pain of the complex system.
- We can share our experiences and best practices with the rest of the UX community so that we can all start to create better native Android applications.
I’m not expecting us to fix everything. The open application platform will always result in a lot of applications that fail to meet user experience expectations. But as we’re already seeing, applications that take design seriously get noticed within the Android world and succeed above and beyond those that do not. We just need to start talking more about how to make things better.
Where to Get Started
If you are looking to start learning about native Android smartphone and tablet application design, here are the resources I have found thus far that have been helpful in learning the basics.
- Google’s official Android Design guide – Google
- Android Developer Guide – User Interface Guidelines – Google (the entire Developer guide can also serve as a resource)
- Android Patterns – UNITiD
- Android UI Design Patterns – Android UI Design Patterns Blog
- Android UI Design Tips – Android Developers / Slideshare
- Google I/O 2010 – Android UI Design Patterns – Google Developers / YouTube
- Google I/O 2011 – Designing and Implementing Android UIs for Phones and Tablets – Google Developers / YouTube
- How to get started in Android app design – Jen Gordon / Mobile Tuts+
- Designing for Android – Dan McKenzie / Smashing Magazine
- 10 Tips for Android Design – Rob Jackson / Phandroid
- Designing for Touch – Josh Clark / .net Magazine (mix of iOS and Android)
- Mobile Design Pattern Gallery – Theresa Neil (mix of iOS, Android, and more)
- Designing for Android Tablets – Dan McKenzie / Smashing Magazine
- Android Tablet Design – Shane Conder & Lauren Darcey / Mobile Tuts+
- User Experience Design Guidelines for Tablets Running Android – Intel Software Network
- Android UI Design Patterns: Tablet UI Patterns – Android UI Design Patterns Blog
- Android Tablet Development Tips and Tricks – Shane Conder & Lauren Darcey / informIT
If you have any other resources that you have found to be useful, please share them in the comments. If you have experience designing Android applications, I encourage you to write new articles or contribute to the resources above to share your experiences. If you do so, please share your contributions in the comments as well.