How To Manage App Development On The Android Platform Without Going Nuts
techcrunch.com
techcrunch.com
Step 2: Buy actual devices to test your app with, and test well. If you can't justify the money or time it would take to support a particular device (e.g. because only two of your users have it), then don't support it.
Step 3: Use the application manifest's compatibility features to prevent the Play store from showing your app to users running with unsupported devices. There is unfortunately no way to whitelist individual device models, but you can get pretty close by combining properties like the minimum SDK or required device features.
Step 4: Sit back and laugh at your competitors bending over backwards to fix a intermittent crash found only on a particular phone model (sold in 2009 by an out-of-business Chinese company) running a modified Cyanogenmod 7.
Umm, not sure I buy this. Per article above (see Google dashboard image), over 55% of Android devices currently use Android 2.3 (Gingerbread) and about 13% use Android 2.2 (Froyo). Your testing plan leaves behind 68% of the Android userbase -- which is kinda huge.
FYI, when I build apps for my clients I tend to support Android 2.2 and above.
>> Use the application manifest's compatibility features to prevent the Play store from showing your app to users running with unsupported devices
There can be unintended consequences to this -- such as for example greatly impairing your marketing message.
Nowhere is that clearer than at a launch event. Say your app is ready to launch and you want to hold an onsite launch event. Based on your Play store exclusions, 68% of the people in the audience will have an unsupported device. Now for the fun part: on an unsupported device, your app simply does not appear in the Play store listings! Zero, zilch, nada, no results -- it's like your app does not even exist to those users. You now have a frustrated event audience, with all enthusiasm drowned out by the cries of people asking you why they can't find your app in the store. Not good.
You make some significant assumptions here:
1. Android 2.3 is only found on budget devices, and
2. Budget device users do not purchase apps.
I don't have any data on assumption #2, but I can tell you that there are a lot of high end phones from 1 year to 1.5 years ago which are not getting the update to ICS / Jellybean. I happen to own such a device -- the TMobile G2x. Dual core, all around powerful hardware -- more than capable to run ICS and Jellybean. Much better hardware than Nexus S, which currently has ICS / Jellybean. But the G2x manufacturer (LG) will not update the phone to ICS and everyone is stuck with Gingerbread on this high end phone. So Android 2.3 does not automatically imply cheap phone.
there are many "china phone" with android 2.2/2.3 in the market, some have brand like "Samsang", "iPhon" (i just made up the names, but you get the picture). these phones are popular in asia and africa esp for lower income.
You can pretty safely ignore devices running anything earlier than 2.3 but ignoring 2.3 right now just cuts out way too much of the market, unfortunately.
Third party libraries like ActionBarSherlock and HoloEverywhere make it possible to provide most of the modern Android experience on 2.3 but learning how to use them presents another hurdle that beginning Android developers shouldn't have to leap. I'd like to see Google provide much stronger leadership in this regard.