
Why it’s time to support only Android 4.0 and above - purpl3p3rs0n
http://dannyroa.com/2013/10/17/why-its-time-to-support-only-android-4-0-and-above/
======
maaku
Site is giving me a database error, so I'm committing the sin of posting based
only on the title :(

Hipster Mountain View/Palo Alto is not the world. Most people who manage to
afford to buy a smartphone, use the thing until it dies. I personally _just_
upgraded from an Android 2.3 device, and my latest Apple device is on iOS 2.
And I read Hacker News for christ's sake.

Maybe for your app, your community the norms are different. But be careful not
to bias your data - you better be sure that you are not unknowingly turning
away people who would be customers if only you supported their device.

~~~
ProblemFactory
Even in the world outside of "hipster palo alto", 70% of active Android users
are on 4.0+:
[http://developer.android.com/about/dashboards/index.html](http://developer.android.com/about/dashboards/index.html)
It seems to be growing 5% per month, so already by the end of the year 2.3
market share might fall below 10%.

Starting from 4.0, _many_ APIs were cleaned up, many bugs were fixed, and it
seems that many carriers/manufacturers have stopped shipping bizarrely broken
custom modifications.

Unless you have a large development team and absolutely must reach every
possible customer, targeting 4.0 and upwards seems to be the most efficient
choice.

~~~
saurik
FWIW, remember that these figures are biased in construction.

Less importantly, they only take into account devices that have the Play Store
(which you might consider your audience, but there are tons of people in the
world happy to buy things from alternative markets available on their
devices).

However, and this is somewhat insidious: they measure devices used in the last
seven days. How often do normal users "actively visit the Play Store"? I find
it highly unlikely that every normal user does so at least once every week.

In fact, I would be much less surprised by a universe where people only "visit
the Play Store" once a month at best, and only when there's something specific
for them to be doing (maybe they hear about a new product, and go to
download).

I would then further submit that this frequency decreases the older the device
is: during the first month of owning your device, you probably have tons of
things you suddenly realize you want, because the device comes with no apps
installed.

With an expectation curve on the usage of the device thereby working against
older devices, you will see a chart that only looks at the most recent 7 days
biased towards recent versions as the probability of older versions dips.

Let's look at what happens then if we posit that the average 2.3 user is using
the Play Store once every four weeks, while the average 4.x user is using the
Play Store once every two weeks: this mild skew makes 30/70 become almost
50/50.

Are these people who are using 2.3 really outside of your target market
because they only download an app every month instead of every couple weeks?
If you market to them, and make it clear your app supports them, will they not
buy it?

While that might be true, it isn't something you can support with just these
numbers from Google. It's even worse, in fact, when you remember that when
Google was tracking "active devices" instead of "devices actively visiting
Play" the 2.3/4.x split was so far in the other direction as to be
unbelievable, and when Google decided "fine, we are limiting it to active
users" the numbers jumped.

And now, we see the numbers creeping better and better... but did you notice
that they changed the time range from 2 weeks to 7 days in the few months
since Apple lambasted their uptake at WWDC? If not, you aren't paying enough
attention ;P, as that's a really critical detail: Google keeps moving the goal
post, so you can't take any solace in "we are making progress".

------
fruzz
It's amazing to me that we're saying that a three year old OS is too old to
have software written for it. Especially given that a part of the laptop
market has metamorphosed into the tablet market.

I guess that's not a problem if you buy new tablets/phones every year, which
is what we're moving towards.

~~~
dannyr
Maybe it will not be the same when Android 4.0 turns 3-years old.

Android 4.0+ is just much more mature than 2.3 in terms of UI and API.

~~~
Zigurd
> _Android 4.0+ is just much more mature than 2.3 in terms of UI and API._

Maturity is a very important point. Between 2.3 and 4.0, Android became scale-
able across tablets and handsets, with unified APIs enabling a unified code-
base.

Compared to that big change, dealing with API differences from Android 4.0 to
4.4 is a relatively small matter, comparable to testing for hardware
capabilities (and often tied to hardware capabilities). You can test for the
API version on the fly and keep a unified code base.

------
MAGZine
I feel that supporting Android 2.3 at this time is roughly equivalent to
supporting IE6. For the majority of people, just stop targeting 2.3 support as
a requirement. Perhaps it'll net you some additional marketshare in emerging
markets, but for the most part, ≥API14 is ubiquitous to a point where this is
a sensible decision.

~~~
nawitus
<API14 is 30.8% of the user base.

[http://developer.android.com/about/dashboards/index.html](http://developer.android.com/about/dashboards/index.html)

IE6 is 4.9%

[http://www.ie6countdown.com/](http://www.ie6countdown.com/)

They're completely different.

~~~
jere
Yea, I think that's a pretty bad comparison. If you look at the IE graph you
posted, it's less than 1% in the US.

Another graph that might make things easier to visualize (the blue and above
is who we're talking about abandoning):
[http://en.wikipedia.org/wiki/File:Android-dist-by-
dessert.pn...](http://en.wikipedia.org/wiki/File:Android-dist-by-dessert.png)

~~~
MAGZine
I will grant that it is a bad comparison. But, not for percentage based
reasons. I initially wrote the comment that abandoning <14 now is like
abandoning ie6 back in 2010, when google dropped support[1], but percentage
wise, that's not fair either.

Since Android API 14 is just celebrating its 14th birthday, I'd guess (nothing
to back this up) that you're going to see a sharp dropoff of Android 2.3
marketshare as people replace their old phones. Between developing for the
future, and incentivising people to switch away from old technology (people
don't want to buy an old phone that can't run the latest goodies), I think
this is still the correct path to choose.

Kill it with fire. I don't take much issue with making Android 2.3 a second-
class citizen at this point.

[1] [http://gs.statcounter.com/#browser_version-ww-
monthly-201001...](http://gs.statcounter.com/#browser_version-ww-
monthly-201001-201001-bar)

~~~
jere
>I'd guess (nothing to back this up) that you're going to see a sharp dropoff
of Android 2.3 marketshare as people replace their old phones... Kill it with
fire. I don't take much issue with making Android 2.3 a second-class citizen
at this point.

You could very well be right, but I think you have the wrong impression of the
users.

We view IE6 users as a completely technology inept minority. They could
upgrade to a better browser in seconds (not including the enterprise).

Android users on the other hand? I've been an Android user for _4 years_. I
got tired of getting gouged by Verizon and just switched to Republic wireless.
So I have a _brand new phone_ and I'm on 2.3.

Even leaving the percentages out of it, I don't think it's appropriate.

~~~
MAGZine
I'm not going to lie--I think buying any device running 2.3 at this point is a
giant waste of money, comparable to buying a laptop with Windows XP on it.
There is no reason. Nexus 4s are recently out of stock at $200, and the Nexus
5 will probably compete in that area too.

It's a shame that republic wireless is handing out 2.3 devices--that really
should stop.

~~~
jere
It seems like there is some backstory behind the phone and the versioning
(this is the only phone currently offered until the Moto X next month, which
has 4.2)
[http://en.wikipedia.org/wiki/Motorola_Defy#Manufacturer_crit...](http://en.wikipedia.org/wiki/Motorola_Defy#Manufacturer_criticism)

Sorry you think it's a "giant waste of money." I need a phone and I'm now
saving something like $40/month over my previous plan.

------
Zigurd
I'ma let him finish when his site comes up, but here why I generally recommend
targeting Android 4:

1\. If you want to make a UI that scales across all device sizes, and you
don't want to use hacks like ActionBarSherlock that will become a maintenance
headache after the moment of convenience, build your app skeleton around
Android 4 APIs.

2\. Targeting Android 4 avoids use of the Support Library for back-
compatibility, and therefore avoids using FragmentActivity. This isn't as bad
as some of the back-compatible action bar hacks, but it is still an
unnecessary complication in most cases. N.B. you may still want to use the
Support Library for new APIs like PagerAdapter.

3\. Tablets are going to increase in importance, and for some apps, tablets
are the main target. Center your implementation strategy around tablets as the
ideal experience, with multiple fragments on each tablet-size layout that are
"unrolled" into sub-activities when running on a handset.

4\. If you think the above point implies a unified code-base, yes, it does.
Targeting Android 4 and above will simplify your unified code base.

The exception is apps that MUST target every user, and every device in the
field. For example, my consultancy had an engagement with a dating site that
needed to upgrade their Android app. After weighing the pluses and minuses,
the conclusion was that it was better to put in more effort and incur some
technical debt to reach every possible user. On the other hand, if you are
writing an enterprise app for a green-field deployment, don't even consider
supporting old versions.

~~~
dannyr
Site is back up!

~~~
Zigurd
Excellent article! I'll link it on G+ and on the _Programming Andorid_ page.

I would add to the list the fact that people buy apps most often when they
have just bought a new handset. Supporting old versions is like making a
retrofit product. The market is inherently limited and more costly to support.

------
soapdog
Just remember that in some countries Android 4.0 is yet to be the norm...

