Google is showing off Android M dev previews while devices sold new last fall in major US retailers are still running KitKat with no updates from Google or their providers. They continue to actively create the "fractured" world of Android.
In other words, that's cool about Android M, but most people aren't even using L. (40% on K, 9% on L whose preview was the 2014 IO)
Can Google not poach one or two of Apple's negotiators to go to the right meetings at Motorola, Verizon, etc to talk about updates?
Damn lies and statistics. The Android dashboard numbers are always super pessimistic on upgrade rate.
I am the lead for an app with >250,000 installs. Over 45% of our usage is coming from Lollipop. The rest is JB & KK. We see <6% ICS for the last 30 days.
I know other major apps that have even better numbers.
Looking at my data, L usage was basically nil in January 2015. There was slow growth from there until April, when we saw an inflection point in the number of Lollipop users. This aligned with the release of several Samsung updates that pushed Lollipop to some of the most popular devices out there.
If you want publicly available numbers, I would rely on Mixpanel[1] not the Android dashboard. And even this understates it, as of writing this comment Mixpanel is not including 5.1 in the Lollipop numbers which is cutting 2-3% off that. [2]
That's some awesome data, thanks for sharing! I have to imagine geo matters here too. China, Latin America, and Africa have huge Android growth (though even then a huge chunk must be AOSP) but I would guess it's mostly older OS versions coming from the smaller OEMs that are spawning so much of the growth. Who knows if those would ever be updated, but it's less relevant unless you're a pervasive, global app (like FB or Gmail).
The Android Market lets you depreciate old versions of Android now for your apps by leaving up the last compatible apk for them while newer devices get the latest version of your app.
With that, you can either let the old version die slowly as users upgrade devices. I haven't attempted it, but I assume you can still somehow push bugfixes for the older version without newer devices also getting it.
Backporting bug fixes or new features? I wouldn't be going out of my way to try adding new features to 5 year old versions of Android. If a user reports a crash for 2.3, sure, I will fix it. I know I have a fair amount of devices showing as Android 2.3 for one of my apps, but I've noticed most of them seem to be inactive. The app in question is a tool for testers and power users, so I would expect many of them to keep old devices around for fun/hobby, but not really using them actively.
Just something you might want to investigate. You may not have as many actively using 2.3 as you might think. Creating a new branch for active build really isn't that much complexity and then a branch for legacy when the legacy is just maintenance mode only.
We are talking only about people who installed the latest version of the app – so they had to be online, and had updates activated, within of the past few weeks.
I would imagine much more people have the Play Store installed than the 250,000 installs of your application. It seems reasonable then to point to Google's own page for the better count.
I'm learning Android development by building a basic app that I've always wanted but couldn't find in the play store. I'm targeting SDK 21 and minSDK 19 and was afraid of having a small userbase (based on the dashboard numbers). That means that I can continue to focus on the latest SDK and leverage all the good SDK 21 features :)
If you are working on a side project type app my best advice would be min SDK 19 or even 21. The total # of Android users in the world makes even the minority that are on L a large userbase. You will get much further faster not having to deal with backwards compatibility. If your app is aimed at making money, the people with money are generally on the newer versions. Not everyone can get away with it (Facebook will be supporting Gingerbread forever), but don't waste your time on the old versions if you can avoid it.
And by disk space I mean after the user has installed the typical number of apps, photos, music etc. My partner is an example of this. She has to choose between deleting apps and doing OS updates.
Your post was word for word identical to posts made 2 years about KitKat when it was released. Only instead being compared against Gingerbread. And several years before THAT when Gingerbread was released people were saying it about Donut & Eclair.
So yes you'll have to wait ~2 years for the majority to be on M or higher. Oh well. Does that suck? Yeah. Is it a major, show stopping, "omg google why haven't you devoted 100% resources to fixing this?" issue? No, that's absurd.
And why do you think Apple has negotiators for this? Apple doesn't license iOS to anyone. They've never attempted to solve this problem. Ever. For anything.
Why shouldn't Google be devoting resources to solving this issue ? Being unable to upgrade is a massive security risk and prevents developers from rolling out new and interesting features in their apps.
It is largely a solved problem. You have a core OS/SDK which is upgradeable and some sort of plugin style architecture around it for themes/new features. Sure some OEMs may ignore it and fork the OS but then Google has the leverage of Play Services / Android brand they can use as a stick.
And whether iOS is licensable or not is irrelevant. For their particular phone it is upgradeable without carrier intervention. Why is every Android phone different ?
Upgrading the core OS is hard mostly because new android versions rely on certain new kernel features; and the new kernels break backward compatibility with proprietary drivers.
There was a story posted a few weeks back about how a certain (Samsung or LG?) phone had added new members to the middle of a kernel struct, for the benefit of their camera driver. It hamstrung a lot of the community reverse engineering work to port a new kernel to the device.
> Can Google not poach one or two of Apple's negotiators to go to the right meetings at Motorola, Verizon, etc to talk about updates?
I don't understand why things like these are necessary in the USA. Why should network operator have control to which version you're running? Most other places you can just get new firmware directly from manufacturer.
So, you'd be fine with your ISP being the gatekeeper for which operating system(s) and version(s) you can run on your computer?
The U.S. system where operators are such gatekeepers for mobile devices is an anomaly. It doesn't need to be so, and it is not so elsewhere.
I don't understand the overall picture of the U.S. telecom industry in the first place. Slow speeds, data caps, bad coverage, high prices and control freak carriers.
Kinda. My Xperia Z didn't update to Kitkat when it was available. I bought it at JB-HIFI and therefore it came with Telstra junk on it. In /system/build.prop there's a setting called Customisation Number. So I used towel root and changed it to a stock number and the system updated to Kitkat and removed the non-uninstallable Telstra junk.
Telstra didn't update because of a battery issue. Which was true... the battery died quickly if you left the GPS on. I didn't use the GPS much so I left it off. (This issue has since been resolved, then telstra enabled the update)
Considering I didn't even have Telstra as a carrier. it was because JB-HIFI is a Telstra reseller that this happened.
It's because the Manufacturer agreed to only update when Telstra updated. It's all through the Sony update software.
a big reason is that you actually need to test whether the newest version works well. Even the jump from 4.4 to 5 has some performance hits. Not to mention when we get beyond vanilla android, custom home screens and stuff are extremely sensitive to base OS changes.
Also, the phone companies themselves need to put out the updates, which isn't happening a lot of the time (or with 6 month+ delays).
Or google could just stop playing nice, they practically own the platform after all. If they would say "either you supply updates for two years or you are not allowed to preinstall google apps on new devices" the issue would be over.
And watch Samsung go Tizen over night, HTC partner up with Microsoft, etc etc etc.
Damn it, Android without Google is already big in China. And lets not forget that Amazon is maintaining what amounts to a fork for their device range.
Google can't really play hardball unless they want to go full Apple.
In essence Android has gotten where it is by being more accommodating to OEMs etc than the competition. Something akin to what MS was doing until they went retard with Windows Mobile 7.
Most new Samsung devices (including all SmartTV and SmartWatch) already use Tizen (based on an evolution of Samsung's Bada). Samsung could switch to Tizen anytime given it features a compatibility layer. People don't buy "Android" devices, they buy by the brand name of the manufacturer e.g. "Samsung".
The situation is so bad that they announce all this new stuff, and I think, that's great and all but who cares. A few thousand people will use this stuff and everyone else is 2-3 versions back. And they don't care, either.
In other words, that's cool about Android M, but most people aren't even using L. (40% on K, 9% on L whose preview was the 2014 IO)
Can Google not poach one or two of Apple's negotiators to go to the right meetings at Motorola, Verizon, etc to talk about updates?