I did some research this morning, since I might be doing some Android work soon. As of May 1 2012, about 5% are on any version of the latest major release: Ice Cream Sandwich. About 3% are on the previous major version: Honeycomb. The rest, a whopping 92%, are still two or more major versions behind. By developing against the latest major version, you are going to reach 5% of Android users. Compare that to iOS, where…
Android Fragmentation Visualized
51–60 of 91 posts
Re: Android Fragmentation Visualized
#52It seems to me that the best way to think of Android is to compare it to the world of Linux distros. (I believe Dan Benjamin of 5by5 pointed this out on one of his podcasts.) Yes, there's Linux, but there's no one Linux. There's Android, but there's no one Android. So while Android is technically an operating system, it's really an open platform on which to build mobile devices on top of. So the Android device I buy…
Spoken like someone who isn't an Android developer. Take your analogy to the next step. Someone opens an online store that sells binary-only copies of applications targeted to just "Linux".. you would call them crazy, no? That's what the Google Market is. Or the Amazon Market, samsung apps, nook store, ... I wrote a blog post to help you understand the pragmatic issues faced by an Android developer trying to write de…
Re: Android Fragmentation Visualized
#53Earlier quoted context omitted.
The difference is Linux has its act together. Android doesn't. Right now I can SSH into a vastly different array of hardware and update a roughly equivalent set of packages to get for example the latest rendering engine or security fixes. This is not possible at all on Android which is a joke. And I will never understand how people such as yourself can defend it. Fragmentation is a huge issue for Android and it is on…
I'm not defending it, I'm explaining it. Google has created an open ecosystem, and these are the natural consequences. Google can't "do something about it" because of the open terms of their licensing.
Re: Android Fragmentation Visualized
#54People have done OK making software for these systems.
Re: Android Fragmentation Visualized
#55Re: Android Fragmentation Visualized
#56"Google to sell flagship Nexus devices with multiple partners this fall, reports WSJ"
http://www.theverge.com/2012/5/15/3022682/google-direct-sale...
linking verge because, paywall.
Apparently google read my comment below, made a major business decision and leaked that to the WSJ all in the last hour.
Me ITT:
"Well they could keep their major vendors in the loop instead of just dumping the new code on them after each nexus launch..."
Re: Android Fragmentation Visualized
#57Earlier quoted context omitted.
Spoken like someone who isn't an Android developer. Take your analogy to the next step. Someone opens an online store that sells binary-only copies of applications targeted to just "Linux".. you would call them crazy, no? That's what the Google Market is. Or the Amazon Market, samsung apps, nook store, ... I wrote a blog post to help you understand the pragmatic issues faced by an Android developer trying to write de…
Your blog post blames a bug on Android fragmentation, but it sounds like it was your fault. You were not calling Environment.getExternalStorageDirectory(), which is the portable way of accessing the storage area where users saves file via USB mount.
The problem is the API is huge, and the documentation isn't great either, so you're supposed to learn best practice from the apps in the OS source tree.
Re: Android Fragmentation Visualized
#58Earlier quoted context omitted.
Spoken like someone who isn't an Android developer. Take your analogy to the next step. Someone opens an online store that sells binary-only copies of applications targeted to just "Linux".. you would call them crazy, no? That's what the Google Market is. Or the Amazon Market, samsung apps, nook store, ... I wrote a blog post to help you understand the pragmatic issues faced by an Android developer trying to write de…
Your blog post blames a bug on Android fragmentation, but it sounds like it was your fault. You were not calling Environment.getExternalStorageDirectory(), which is the portable way of accessing the storage area where users saves file via USB mount.
The function you are talking about only returns a single directory and my users want to use both if available.
Re: Android Fragmentation Visualized
#59Earlier quoted context omitted.
Actually, the real solution is a pledge that customers should make: "If you do not support my Android phone for at least 2 years, with timely updates, I will never buy another phone from you, ever again."
Unfortunately, I don't that any of the manufacturers would listen to that. Ultimately, I think it's on Google's head to do this. I've said in previous posts that Google should have handled the Android trademark a lot like how Mozilla handles their trademarks. Android, the OS, is free to use(both as in Speech and Beer), but if you're going to make major changes(i.e. the standard services and applications, limit instal…
The short version from http://source.android.com/faqs.html#compatibility :
'We define an "Android compatible" device as one that can run any application written by third-party developers using the Android SDK and NDK. We use this as a filter to separate devices that can participate in the Android app ecosystem, and those that cannot. Devices that are properly compatible can seek approval to use the Android trademark. Devices that are not compatible are merely derived from the Android source code and may not use the Android trademark.'
Re: Android Fragmentation Visualized
#60Earlier quoted context omitted.
Your blog post blames a bug on Android fragmentation, but it sounds like it was your fault. You were not calling Environment.getExternalStorageDirectory(), which is the portable way of accessing the storage area where users saves file via USB mount.
That API call is not sufficient. Some devices have more than one external storage device. For example some tablets have an internal storage point and the ability to have a USB key. The function you are talking about only returns a single directory and my users want to use both if available.
It really isn't a big deal. Use reflection to find what works at runtime, and live with it. That's the price of the flexibility which makes the whole thing attractive in the first place.
The big problem is trying to cover all bases from the start: you won't. Attack it like an old school PC shareware dev, and respond to customer requests.
There are far larger problems with Android than this kind of thing. That things on external storage basically bypass the security model is a much bigger concern.