Infographic: Here's Why Designing Android Apps Is So Hard

OpenSignalMaps visualized user data from nearly 700,000 Android devices, and found mind-boggling fragmentation. If you’re designing Android apps, this is what you’re up against.

"Android fragmentation" has become something of a tech buzzphrase, as Google’s smartphone operating system gets more popular and more device manufacturers start using it in different ways. What is it like to design an experience for a fragmented app ecosystem? The makers of OpenSignalMaps, an Android app that gauges local cell phone signal strength, wanted to know what they were dealing with. So they spent six months gathering data on their users’ devices, and then parsed it into some rather jaw-dropping infographics. Sure, you knew Android was fragmented. But did you think it looked like this?

These are the 3,997 different Android devices that OpenSignalMaps users experienced the app with. How many devices do iOS developers have to worry about? Somewhere between four and eight (if you include older-model iPads, iPhones and iPod Touches). Even crazier: Out of those nearly 4,000 Android devices, "a staggering 1,363 device models appear only once in our database," the developers write. "Some examples of these solitary devices include: the Concorde Tab (a Hungarian 10.1 inch device), the Lemon P1 (a dual SIM Indian phone), the Energy Tablet i724 (a Spanish Tablet aimed at home entertainment), the EBEST E68, the MASTONE W18."

App designers want to create an ideal experience for every user. But how on earth can anyone design for 4,000 distinct devices, including obscure Hungarian tablets? Here’s another demoralizing graph, showing the relative sizes of all the different displays of OpenSignalMaps’ user base:

A recent report by Gartner states that Android has captured over half of the planet’s smartphone OS marketshare. I asked James Robinson, co-founder and lead developer of OpenSignalMaps, straight out: If developers and designers want to make software for the maximum number of people (especially in the developing world), will they simply have to put up with designing and redesigning endlessly in this fragmented landscape? His answer: "Yes."

But Robinson doesn’t think this necessarily calls for a sad trombone. "One of the joys of developing for Android is you have no idea who’ll end up using your app," he says. "So the problem--or perhaps opportunity--is getting bigger, but the tools are getting sharper too. I’ve been impressed by Google’s commitment to providing better simulators for devices, all of which are free."

And just because 4,000 Android devices are out there doesn’t mean that each one translates to a distinctly unique user experience (thank god). Even that mess of differing display sizes collapses into a slightly more manageable number when weighted by popularity:

"Every time someone tells us that our app is not at all working on their device, we try to get it working, no matter how exotic the device is," Robinson says. "On the other hand, if the request is just to improve the experience a bit we’ll only take it seriously if the device is common or likely to become popular. If you target about five resolutions you can capture a good chunk of the market."

Robinson admits that iOS developers and designers have it easier, but says the Android marketshare speaks for itself. "It’s my belief that for most people in developing countries, an Android tablet will be their first computer, and developers need to keep that in mind," he says. In other words: Fragmentation is the future. If you want to be a part of designing that future, you’d better stop complaining and learn how to deal with it.

[Read more at OpenSignalMaps]

Add New Comment

15 Comments

  • vidhu

    umm heard of dp? android doesnt size things using pixels eg 50px wide. they use dp like 50dp wide. so no matter what the resolution, it will look the same on all phones!

  • Jeff Bacon

    Fragmentation is a challenge for developers -- like it is on the PC platform. The PC platform is a mature market with standards defined to help mitigate the fragmentation issue whereas Android is very new and has not evolved a common solution for app to handle fragmentation well. However, screen resolutions are the easiest (by far) fragmentation issues to deal with if you plan ahead in your technical and visual design for your app. OS fragmentation is minimal as even as of April this year over 80% of the market is covered with 3 OS versions.

    It's much, much harder to deal with device-level fragmentation where some devices work one was (as documented) and others do not. However, if you take devices that represent 75% of the market you will find that the device level fragmentation is not as bad as looking at 100% of the market overall. 

    Developers need to stop thinking about hitting 100% of the market and start thinking about hitting the % of the market that allows them to be profitable. If you can't make strong profits hitting 75% of the market, hitting 100% isn't going to save you.

  • FranklinNL

    Any developer or designer that claims that fragmentation is a problem has serious issues understanding how Android works. The result of fragmentation is something you can benefit from. If you're instead suffering from it, you really missed some basic stuff. Oh, the times that I missed stuff on iOS while developing that I can do on Android are countless! That never meant that iOS sucked at that particular thing. That just meant that iOS had a different approach to it. Nothing more, nothing less.

  • Eric Rooney

    I hope Google is aware of this problem and takes it to heart.  I love Android but it is still much easier to develop for iOS.

  • D4niel

    I've heard this complaint more times than I care to count. Yes, Android devices have many different sized screens. So do computers, and people seem to design for those screens just fine.

    Pick a computer application you like and use a lot. Grab the edge of the window and resize it. What happens? Most will adjust to fit the space allotted to their windows. Developing for phones (the computer in my pocket, if you like) should be no different. Applications for phones should adjust to use the size they have been allotted.

  • D4niel

    You've kind of missed the point, Chommie. Yes, on a given phone you cannot change the resolution, but, as this article points out, there are many different Android phones with many different resolutions (and so the platform itself is not stuck to a fixed resolution). Just like computers. I can take most desktop applications and use it on multiple computers with different resolutions and they will adjust to fit those different resolutions gracefully. This is a problem that was figured out long, long ago.

  • Chommie

    Worst Comparison ever maybe?  You don't see the difference between a computer and a device?  I will give you a hint.  One of the platforms is stuck to a fixed resolution.

  • Al

    "Fragmentation is the future" - no, as many people have pointed out, fragmentation is the past, present and future. The same issue has always existed in design and development for web and for desktops.

    Being able to design for just a handful of screen dimensions in iOS is a nice, anomalous luxury. It's not the norm. If the rumours are true, the next iphone will have a new screen size, so a lot of iOS designers are going to need to learn to deal with (small amounts of) fragmentation and fast.You know you're exaggerating the problem for dramatic effect: how is designing for an "obscure Hungarian [10.1 inch] tablet" any different to any other 10.1 inch device?

  • charliesheenhardcore

    Designers and developers do not want a fragmented future. I personally know some of the top developers in the world today. Trust me they barely want to deal with the hastle of developing for android. You speak of market share as if it's a glimps into the future. If one depended on market share to base a business model off of boy would they be fucked. If market share ment anything windows mobile would still be the most popular smartphone. Android lacks innovation. They road apples back to get into the game. They shamelessly copied code from oracle and they shamelessly jacked 80 percent of the ideas that went into the iPhone. The open model fails terribly. It works for a certain amount of time and then abruptly stops. Android apps are just horrible. One app doesn't work on me phone, one game doesn't work on another. Tablet apps became stretched out smartphone apps. It's a totally shit show. The future is only fragmented for android. And that's not a good thing. See phones are a bit different. Most people just want a phone. They could care less abut apps and don't even know what android means. They could care less. But when it comes to a tablet it's a different story. Which is why android tablets don't sell. Ask any real developer about developing for android and it will be the same story. Fragmentation isn't logical. It's a design flaw that can be avoided. In time many will see why the open model doesn't work. The open model only works for a certain amount of time. The closed model seals the future.

  • Al

    Is this satire? On the one hand the tone sounds serious, and a couple of things are true: "They road apples back to get into the game" (Android's actually older than iOS but android device manufacturers did piggyback on iPhone's popularity to get into the market) and "Most people just want a phone ...and don't even know what android mean" (true, and part of the reason for Android's popularity actually. People walk into a shop and say "I want one of those phones with maps and the internet", and the salesman can figure out which of the many options and price points - most of which are Android - will suit them best). 

    But then there are things that surely must be satire like: a) "If one depended on market share to base a business model..." (err... market share is pretty important to business...) b) "If market share ment anything windows mobile would still be the most popular smartphone" (eh? it's *never* had good market share in the mainstream phone market) c) "
    The open model fails terribly. It works for a certain amount of time and then abruptly stops" (is this guy actually saying that open source projects that gain traction and adoption lose it suddenly for proprietary alternatives? Has this ever happened? In markets where open options get serious traction, e.g. browser and server software, historically the opposite seems very strongly true...) d) "They shamelessly copied code from oracle" (is he talking about Java here?) e) "[people] could[n't] care less abut apps" (err...) f) "android tablets don't sell" (considering how junky and limited most android tablets are I find their sales figures amazingly high) g) and finally, the guy's username is a Charlie Sheen reference... Is he being serious or not? I honestly can't tell...

  • Erik Teichmann

    No one ever mentions the "fragmentation" for desktop and laptop computers... think about how many thousands of hardware combinations there are out there, how many OS versions, how many screen resolutions, how many peripherals...

    And you know what? Applications developed for Windows, arguably the most fragmented and unstable stack there is, outnumber any other class of applications!

    Fragmentation is life -- deal with it.

  • Matt Beale

    RE: "These are the 3,997 different Android devices that OpenSignalMaps users experienced the app with. How many devices do iOS developers have to worry about? Somewhere between four and eight."
    This is not a (pardon) apples to apples comparison. Android designers only need to design for devices that are unique AND reasonably important. There are probably still more than 100, but no where near 1000. The more interesting, and significant, issue remains: designing for all the unique PEOPLE there are using these devices. Each customer is important, too. Which points to another big advantage that Apple designers had. Not only were they just designing for eight devices, they were also only designing for one customer, Steve. Now I bet they have to please dozens of people, all of them attempting to channel Steve. Still better than dealing with those millions of individual Android-using people. Or do Android programmers just design for themselves? 

  • Krzystoff

    simply from a graphics stand-point, this wild variation would be infinitely simpler if all Android apps were developed to be fully scalable, proportionally, according to the screen size and dimensions.  of course there may be exceptions but for the most part you can look to the beautiful simplicity of Adobe Flash vectorised development vs traditional Raster-based software design.  this is no different for web design, and the reason the user experience of the web fails in so many frequent and different ways all boils down to the variations of browsers, screen size and the way the user wishes to use it.  too many myopic programmers think that everyone uses technology the same way they do, but so often that is revealed in UI studies to the be completely wrong.

  • CSX321

     Well-said. I've been a programmer for a long time, and the issues involved in writing for Android are no different than what we've been handling for literally decades on other platforms, and especially in Web design. I find Android to be one of the *easiest* platforms to program for that I've ever used. My game, which is in the top 100 in its category on Google Play, works perfectly on every Android 1.6+ device I've tried, no matter what the screen size.