It’s 2014, and Android fragmentation is no longer a problem

28 Comments

Credit: Skakerman

Let’s be honest: As app developers, we’ve always defended the beauty and polish of iOS(s AAPL) (and have certainly been slapped with the “Apple fanboy” label more than once).

But something strange has happened the past few months. Many of our employees are starting to carry Android devices as their primary handset — shocking our significant others, families and friends. More notably, our projects are increasingly becoming Android-centric — from a number of native Android apps for our top clients to prototypes and POCs around Android (s GOOG) Wear and Google Glass.

What the heck is happening? Isn’t Android supposed to be a total pain for developers like us (as well as our clients)?

As the old argument used to go (and we made this argument for years), developing for Android meant:

  • A splintered, “lowest common denominator” experience that forced developers to use outdated SDKs, APIs and tools to ensure the widest possible handset and OS compliance.
  • A design and testing minefield with hundreds of device screen sizes, OS versions, hardware features, input gestures and just about every other testing scenario you could imagine.
  • A dramatically reduced target audience for your app, because only a small percentage of Android users were capable of accessing certain apps on certain devices.

But things have changed. Android is challenging, but we think it’s time to set the record straight (and remember, this is coming from devoted iOS fans here): Put simply, Android fragmentation in 2014 is a myth.

Since 2010 and even 2012, Google has made huge strides to solve some of the jarring fragmentation issues facing developers. And they’ve done it in some pretty impressive and “behind the scenes” ways.

A large percentage of Android users are still not running the latest version of the Android OS, 4.4 KitKat. And Google is making no bones about that, as it regularly posts the latest OS usage figures on its developer portal. Here are the most recent numbers:

Android versions for the 7-day period ending July 7, 2014.

Android versions for the 7-day period ending July 7, 2014

At first glance, it looks like a mess. After all, iOS users are predominantly using Apple’s latest OS (iOS 7), to the tune of over 90 percent of active installs.

Google’s stealth weapon against fragmentation

But that’s not the statistic developers should be looking at. It’s time to talk Google Play Services. Play Services is more important than OS installs when planning and designing an Android app. Play Services, introduced in 2012, is effectively a background download of core services required to run apps on Android. Putting the OS install numbers to one side for a moment, this is the stat that matters to developers – over 93 percent of all Android users are running the latest version of Google Play Services.

More importantly, Google has been slowly moving core Android features, APIs and app elements out of the OS and into Google Play Services — meaning developers can ensure their apps run smoothly (with all the new features they plan to implement) across all devices carrying the latest infrastructure.

Crucially, version 5.0 of Google Play Services is now being rolled out to all Android devices running OS 2.3 Gingerbread up to 4.4 KitKat. This sinks the argument that developers are handcuffed to older OS features to ensure legacy compliance of core elements of their app.

But what about the screen size conundrum, bringing with it the need for expanded testing and for designers, a dizzying variance of layout requirements?

An excellent post by iOS and Android developer Russell Ivanovic helps diffuse the usual argument about the screen size “hell” of designing for Android. Designing for Android is “not that hard,” Ivanovic writes, “and honestly causes us less headaches than most people imagine.”

Many people imagine that the number of potential layouts for Android looks like the frightening graphic below, requiring a specific layout for every screen size variation:

Courtesy of OpenSignal's Android Fragmentation 2013 report, http://opensignal.com/reports/fragmentation-2013/fragmentation-2013.pdf

Courtesy of OpenSignal’s Android Fragmentation 2013 report, http://opensignal.com/reports/fragmentation-2013/fragmentation-2013.pdf

Instead, Ivanovic argues, the real variation in design planning is much closer to this map:

Image courtesy of Russell Ivanovic, http://rustyshelf.org/2014/07/08/the-android-screen-fragmentation-myth/

Image courtesy of Russell Ivanovic, http://rustyshelf.org/2014/07/08/the-android-screen-fragmentation-myth/

A designer doesn’t have to “re–lay out” the app design for every possible screen size. Instead, through thoughtful use of higher resolution graphics and accounting for minor variations in width and height, almost every screen size can easily be catered to.

So bringing this all back the primary phones in our pockets: As developers, we’re extremely excited about what we’ve seen from Android over the past year. Throw out the fragmentation myth, and the reasons not to engage on Android projects evaporate quickly. Sure, we still love iOS – but developing for Android is simply too enticing to deny any longer.

Eddie Vassallo is CEO of UK-based app developer Entropy. Follow him on Twitter @entropylab.

28 Comments

Mike

“minor variations in width and height, almost every screen size can easily be catered to.”

Hmm.

Brendan Gill

Interesting perspective but I would add that the screen size fragmentation analysis only looks at a selection of 10 devices on the android platform. The OpenSignal fragmentation report shows there are more than 10k+ distinct models of devices so it’s not an analysis of the whole ecosystem. Even if they are the 10 most popular devices as the author suggests, the same OpenSignal fragmentation report shows that the top 10 devices only represent 21% of the total market. Sure, I agree with the sentiment, you don’t need a custom build for every single resolution of device but I think he is over simplifying by focussing on only a small sample of the marketplace.

For transparency, I’m a founder of OpenSignal

Guy

Title should be “It’s 2014, and Android fragmentation is slightly a lesser problem”

Play Services won’t save you from clunky UI and bad user experience which is what you’ll get for everything under 4.1

You’re correct about that OS versions is not the only thing to look at. Because when it comes to Android, 2 different devices with the exact same OS version can behave differently and have different bugs.

Having said that, I also believe that most of the big issues can be dealt with and you definitely can’t ignore Android even as a small startup with limited resources.

cotten999

This article totally ignores the main reason why big Android phones are selling and Android tablets are sitting on shelves.

Optimized Apps for screens larger than 5″ do not exist. Developers are not making optimized tablet apps because there’s no demand for them. The people buying big Androids are pretending these are tablets.

Android powered tablets are sitting on shelves because apps on these devoices look horrible (stretched to fit the larger screen).

Developers will only start making tablet-optimized apps once the fragmentation in phones slows down. And this slow down will never happen because the larger screen phones are the only devices that are selling.

Shawn Levasseur

“Instead, Ivanovic argues, the real variation in design planning is much closer to this map:”
-map of a handful of screen “sizes”-

That presumes a 5″ screen and a 10″ screen with the same width/height ratio should have the exact same layout. That results in either a small screen with too-small too-cramped an interface, or a larger screen that makes poor use of the added screen space.

The truth is somewhere in between the two concepts of screen variations.

Krystal Mayo

Just a question, but how hard would it be for Google to just say you can’t use Android without these basic hardware requirements? I mean honestly, how expensive is an accelerometer or what have you? Doesn’t Google have the clout to DEMAND that manufacturers have these basic necessities? My understanding of Google working with Samsung (as an example) is that Samsung had to lower it’s Bloatware considerably on its phones coming out, why can’t they do the same for ALL Manufacturers?

Krystal Mayo

This had to be one of the best articles about Android I have read. Kudos! Hopefully more IOS developers will read this, because I am truly sick of IOS devices getting a premium (false,imho) app while us Android fans the the boot.

Jake L

Good article. I was not aware that Google play services had such a huge impact for developers. Learned something new.

milindrao

This post is a reflection of one developer, but not accurate. I have been an Android developer for many years and I have always thought that from a developer perspective, Android fragmentation is a non issue. It’s not a recent phenomenon. It’s always been the case. Any time a developer trotted out the varying screen sizes as a problem, it was an indication not of poor Android development, but of poor Android developers. If you don’t use absolute layouts, use density independent pixels, fragments and 4 sets of reaources you can create a single app that runs on any phone and tablet. That has been true for a very long time. I will say this. I have not targeted anything less than 4.0 for a very long time as well. But even when during ICS, when I was targeting 2.3 and 4.0,it was not an issue.

Now having said that, there is one point that is true. Google has taken to moving many implementations in Google Play Services. This is unfortunately a step in the wrong direction. It strengthens Google at the expense of AOSP. It does bring some relief to “fragmentation”, but not unless you were using Google extentions for the most part.

The real Fragmentation for developers really is in hardware sensors (and implementation). If your app depends heavily on some hardware sensors then you can only target a small portion of devices and it’s tough to identify them and you are likely to get a lot of bad reviews. It’s a pain figuring out which devices would work and it’s a lot of hard work. For those apps, and those apps alone, Android fragmentation is real. The vast majority of Android apps don’t have a fragmentation issue.

The only fragmentation issue for developers is testing. And there are services that offer that.

The real fragmentation on Android has always been for end users not developers. It is end users who can’t upgrade their OS easily. That fragmentation is still real. Google Play Services goes a long way to help that. But it’s not enough. Nowhere close. It doesn’t provide core OS updates nor security updates where the implementation is outside of Play Services.

Fran_K

It has been obvious for a while that Play services was Google approach to dealing with the issues about versions, and the screen size issue has been blown out of proportion. But the area this article doesn’t address is the hardware capabilities fragmentation. Our startup has decided to focus on iOS because we depend on a set of hardware features that we know will be present in nearly all iPhones made in the last three years. The problem we have with Android is that only high-end models have equivalent features and we don’t have the resources to deal with working that out.

For apps that need basic features, yeah, it seems that fragmentation is no longer an issue. But if you depend on advanced hardware, well, Play services isn’t addressing that. Yet. I imagine that Google will eventually come up with solution that allows us small app makers to ignore the problem.

John

I have 3 android phones(they have different size/resolutions) and an iPhone. I can tell you that the apps look different on the 3 android phones and have somewhat different experience. Some apps look better on one phone, but then look worse when running some other app.
So….don’t tell me fragmentation isn’t a problem.

milindrao

What are the 3 phones and what are the apps that look different? I can’t see how apps would look different on 3 phones unless specifically designed to do so intentionally.

John B.

That’s not a fragmentation problem. It is a manufacturer design with within the UI and OS programming.

David Rotr Foggia

Great post and I’m not gonna argue with the guys here saying what they are saying but I enjoy using android much more than iOS. I have an M8 and its better than any iPhone i have used.

Rann Xeroxx

The problem with Android is not so much the Android OS but the OEMs do with it. Frankly Google needs to simply draw lines in the sand and kinda do what Microsoft has done with WP8. There are OEM versions of WP8 OS but you can install something like the developers release on ANY WP8 device and it works. MS as placed far more control over the hardware requirements than Android and so can install their OS on any phone, even older ones with 1/2 GB of RAM.

Google has the power, they simply need to publicly argue their case and place the requirements for Google Play for greater update support for the OEMs.

milindrao

This is what I’d like to see on Android as well. But that would still only work for some advanced users I’d imagine. How easy is it to install developed edition on Windows Phones?

Even if easy, it would confuse the heck out of less savvy consumers who would not be able to use the OEM features they have got used to such as say knock code on LG phones or Zoe on HTC. But I expect these users probably don’t care about OS updates anyway. As long as security updates made it across quickly.

But still this is the best option. You can of course buy the Nexus devices or the GPE devices directly from Google, but that’s not the way most devices are sold. And an option to install the GPE OS from Google directly will be awesome. Android One will go a long way towards achieving that. But again, that is only for the lower end phones in some markets.

Jake L

Great comment. There are some phones that are absolute beasts hardware wise, but the bloat-ware and added nonsense destroys the user interface (looking at you Samsung). I’m looking forward to see what Google implements with Android Silver.

fsd

If you look at people who actually spend money on apps, at least for me, its 96% running 4.0 or higher. I can use pretty much any 4.4 feature I want and it will either work on 4.0-4.3 or easy to just ignore. 4.0 wasthe last major android version so targeting 4.0-4.4 really is almost no work. And in terms on screen sizes its actually easier than planning website for various screen sizes.

Mathias

We’re running a time reporting service, with apps both for IOS and Android. 23% of our Android customers are still on 2.3-2.3.3 phones, and new users on that OS coming in all the time.

It sucks.

jkane001

But the point is that with Google Play Services (which is supported by Android 2.3) makes that less important. Not completely irrelevant, but less of a big deal.

Amaury Ramos

Dont kid yourself. Android is a fragmented mess. Your viewing it as in a developers point of view. People with the latest software have exclusive features, security & apps. Stop it! Give it a few more years.

Shadowbob

The fragmentation problem was Exclusively a developer’s problem! Not the consumer’s. Here you are saying the opposite… You need to define what you understood when we were talking about fragmentation.

chigs

You should also not kid yourself because you are a very ignorant person.

Comments are closed.