Google Trying New Strategy to Fix Fragmentation
CWmike writes "Google announced a new version of Android this week with some impressive new features, but it's unclear if it's done enough to solve a problem that has dogged its mobile OS: fragmentation. Even as it announced the imminent launch of Android 4.1, or Jelly Bean, the majority of users are still running Gingerbread, which is three major releases behind. According to Google's own figures, just 7 percent are running the current version, Ice Cream Sandwich, which launched last October. That means apps that tap into the latest innovations in the OS aren't available to most Android users. It also means developers, the lifeblood of the platform, are forced to test their apps across multiple devices and multiple versions of the OS. So when Google's Hugo Barra announced a Platform Developer Kit during the opening keynote at I/O this week, the news was greeted with applause. The PDK will provide Android phone makers with a preview version of upcoming Android releases, making it easier for them to get the latest software in their new phones. But is the PDK enough to secure for developers the single user experience for big numbers of Android users that developers crave? In a 'fireside chat' with the Android team, the packed house of developers had more questions about OS fragmentation than Google had answers."
...enabling users to upgrade the devices themselves? And actually forcing all carriers to open source everything?
My laptop was a midrange one purchased in 2008.
It runs WinXP to Win8 (tried the DP) flawlessly, only RAM was upgraded to 4GB
Why cant phones have a similar level of stardardisation/compatibility across generations?
I should just be able to load a version of Android/Windows phone/Symbian onto a memory card, pop it into my phone and install it like I do on a PC
The PDK does address an issue that Google shouldn't have made an issue to begin with - manufacturers actually getting some lead time. But it doesn't address the issue of why Gingerbread itself is still such a big chunk of the market.
ICS simply can't run on budget Android devices. The Android makers that are making money (Samsung) are targeting a much wider market then just the high end subsidized North American market. Samsung is able to turn a profit because they're spreading their costs over a much wider net with both mid range phones like the Ace line and a lot of super-low end ones (Y, Mini, Pocket) that compete directly with feature phones and in emerging markets. ICS is never going to run on those and Samsung and others won't try - they're still releasing brand new phones, 8 months later, running Gingerbread with no hope for an upgrade.
Android will continue to be 'fragmented' between Gingerbread and whatever the latest and greatest is for a long time, at least as long as the gulf exists between heavily carrier subsized phones in a few countries (allowing iPhones, Samsung Galaxy Ss and HTC One Xs to sell in any quantity) and full cost phones in other countries where (Gingerbread) Android's price point is the biggest selling point against more expensive smart phones and increasingly identically priced feature phones.
Fragmentation has been getting less and less of an issue for Android over time, it's a lot more complex than Apples presentations would have you believe.
The first issue is that a lot of features announced as part of new Android releases are actually new features of the apps, and those apps are often backported to old OS releases and released through the Play store. For instance, basically any feature added to Maps becomes available all the way back to at least Gingerbread, and I think also Froyo. Voice search, upgraded Gmail apps, upgraded YouTube apps, new versions of the Play app etc, all backported. Apple tends to announce new app features as part of new iOS releases, and then remove them from the "upgrade" distributed to old devices. Therefore you can be running a new iOS or an old Android yet have the same or better features!
So what about from a developer perspective? Well, here too the issue is more complicated than it looks. A lot of the new APIs that are "pure software" have also been backported through compatibility libraries. These are drop-in libraries you include with your app download that provide the API on older phones that don't have them natively. The APIs that remain are often hardware oriented and wouldn't be available on older iPhones either.
The final issue is upgrades that aren't. I used to think that OS upgrades on a phone were a no-brainer and if you didn't get them, you got screwed. Since then I've seen a few things that changed my mind. One is that manufacturers including Apple have sometimes (not always) released updates for old devices that can't really keep up and which seriously degrade performance. Typically you can't go back, so that's a problem. The upcoming iOS 6 might be seen as a downgrade on the Maps front as well.
Another is that the Gingerbread to ICS was a huge change in user interface - for the better, I think - but time and time again the software business has learned that some users just don't want big UI changes, period. I'm pretty sure if every Gingerbread device became Jellybean tomorrow, a lot of Slashdot readers would rejoice and a lot of our friends/relatives/etc would hate Android with a passionate fire, just because it's a big change that would take them by surprise. Apple has largely avoided this problem by not making any big UI changes over the iPhones lifetime. You could argue they got it right first time, I guess ;)
To quote what I wrote:
The general consensus regarding the PDK for Android Jellybean and upwards seems to lean in the same direction as I am saying: "it won't amount to much, if anything at all." The biggest problem for end-users is the fact that companies do not want to do updates for already-released products, so releasing a PDK that is supposed to let start working on the updates slightly earlier than regularly -- with no other positive effects or incentives whatsoever -- really means nothing. If Google really sought to improve the situation for end-users they should start maintaining a "Google Experience" - version of Android.
Implementing a "Google Experience" Android would first off require them to modularize Android somewhat so that it can be slimmed down by not installing features that won't be used, like e.g. voice search and everything related to it is mostly worthless in any country which do not support it so why insist on installing it? Allow user to choose to install it, yes, but do not force it. Modularizing Android this way would help in a situation where there is not enough storage to install the whole thing: the installer could present the user with a warning dialog explaining the situation and let user pick and unpick features -- with explanation on what each feature means -- until the system fits comfortably, then before starting the installation remind the user of what features won't be available and make certain the user still wishes to proceed.
A second thing that would be needed would be for manufacturers to start including, say, 32 kilobytes of ROM where would be details about the actual hardware: device manufacturer, model, revision, amount of installed RAM, sizes, types and location of any storage and then a listing of all the hardware with manufacturer, model, revision, connection type, memory addresses/register addresses/etc. needed for using the device, what features the device supports and so on. The installer would then be able to check the list against Google-maintained drivers to see if there even exists drivers for the hardware, if the drivers support the connection type/scheme, etc. Also, one of the more important things would be that it would also be able to check if the Google-maintained drivers support all the features the hardware supports, and if not, the installer could warn the user of the features they would lose by installing "Google Experience" - Android.
In that ROM could also be defined a list -- even if it were just a partial one -- of what applications the manufacturer provides on the stock ROM so that the "Google Experience" installer could try to offer substitutes for them after the installation is finished.
These two things would solve almost all the major issues related to upgrading to newer Android-versions and would quite obviously benefit end-users enormously. As always, though, there's a catch. Actually, two catches, in this case: manufacturers won't want to make it easier for customers to get updates for their devices because they want people to keep buying new shiny, ergo. they will not install the kind of list I mentioned, and Google won't want to go along with the plan because Google wants only their Nexus-line to be directly Google-approved.
You're an idiot that has failed to understand the point of Android. Google does have certain mandates to let you Google-certify a device, that is load the Android Market (Google Play) and apps (Gmail, etc.) onto it. If you don't want Google certification you can still run Android and do whatever you want with it, but even then the Google mandates are more to ensure quality rather than consistency.
Google's ethos is that they want people to innovate and do things differently. Google APPROVES of the custom-UI's like Sense and TouchWiz and according to the guy who actually designed ICS
Less requirements means more innovation and more diversification. Otherwise you just end up with 5 phones that are all the same.
Yes, this comes at a cost - the Changes to Android's system need to be ported over to the various custom skins and that takes time, but that's what Google is focusing on now rather than just giving up and making everyone do the same thing.
+1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
I don't know if open sourcing everything is necessary.
If SONY wants their experia UI, HTC wants their Sense, Samsung wants whatever theirs is called, then I'd be fine with them keeping that locked up as tight as they want.
But when they add a piece of hardware that is not familiar from other devices, open up the interface to that hardware.
Right now I could put CyanogenMod on mine, but the FM radio wouldn't work, the camera wouldn't work, and mobile data wouldn't work. Pass.
But that's not the CyanogenMod devs fault - they have to work with what's available, and the stock Android rom doesn't know what to do with the hardware there either.
If only the manufacturer opened up the interfaces, then those devs could easily build bridge software.
As it is, I opted to go with another rom that's based on the manufacturer's official rom binaries. That's not gonna fly for getting ICS or JB on there, though.
That said, I'm happy with it as it is - some setcpu and link2sd sprinkled on top and off it goes. It'll never be a Galaxy SIII - but then, a Galaxy SII will never be a Galaxy SIII either.
As long as phone makers want to control the experience and Google doesn't provide its own EASY way to bypass that, they're going to have to deal with a fragmented base.
7% is even more pathetic than it sounds. Let me back up and start with a different observation...
I keep reading that 80% of iOS users are on the latest release, and it seems too high to me that 80% of users would upgrade. Well, they didn't. iOS sales are growing at about 100% per year. Which means that at any point in time, approximately half the units ever sold were sold in the past year. So 50% of iOS devices run the latest version because they were bought since it came out. Now, only 60% of the remaining 50% have to actually upgrade--and I haven't accounted for old devices that are no longer in use and therefore no longer show up in these stats, and therefore increase the proportion of newer devices.
Well, guess what? Android device sales have been growing even faster than iOS. More than 50% of units shipped in the last year. But only 7% of units have the version that was released 1.5 years ago??? This means the device manufacturers are doing a unbelievably bad job of keeping up to date. If this continues, then only 7% of devices will be running Jelly Bean by about the beginning of 2014. Now there are certain things about the way that Android is distributed which mean that new versions will necessarily spread slower than iOS to some degree, and this announcement is an attempt to change that. But given the current spread of new OS versions, I think it's pretty obvious that the handset manufacturers (and carriers) don't even care and are not even trying AT ALL. Given that, I'm not sure that making it easier for them will be enough.
I don't know how google solves this, but they sure need to! This is a good (and necessary) step, but I worry that device manufacturers will not be sufficiently motivated to take advantage and stay as up to date as they should...
You know that Android vendor you bought Google? Motorola Mobility.
Certain phones are still stuck on 2.x because *your company* won't update them. Less than 2 year old (24 month contract) phones are stuck on froyo - e.g Defy.
Providing an unlocked bootloader so the community (e.g. cyanogenmod) can update them to Jellybean would be a good sign.
That would make sense if the experience of forced obsolescence and locked bootloaders on e.g. Motorola wouldn't make their customers prefer a better brand, like Samsung, instead. After all, you get to keep your apps on a newer version of the same OS from a different manufacturer. If anything, with Android you're free to choose a manufacturer that gives you the better service.
TFA says devices are still "three major releases behind". Well, let's think about that.
After 2.3 came 3.0, Honeycomb, which was for tablets only. Then after a long time came 4.0, Ice Cream Sandwich, for phones again. Now 4.1, Jellybean, is the next major release, and it is so new that Google just announced it.
So, what is the actual current situation? Jellybean is totally new and there is no way any phone can have it yet. ICS is shipping on some phones, and other phones have shipped with 2.3 Gingerbread but with a promise to upgrade to ICS soon. No phones are running Honeycomb because it is for tablets only.
So I think the "three major releases behind" bit is disingenuous. It would be more fair to say "ICS has been a bit slow to roll out" but I guess that's not as impressive.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
Only TWO versions behind, not three. NO phones received Honeycomb. That was tablet only and doesn't count.
If your old phone has all the new stuff you're less likely to buy a new phone. Manufacturers have no incentive to update their phones and I suspect they'll fight any initiative that tries and force them to do it.
I don't know where you are, but here in the UK it's easy to buy basically any smartphone or tablet device of any level, from the basic entry-level gear up to the latest Galaxy or iPhone model, directly and with all the usual consumer protection laws applicable. Then you can get a SIM-only package, on a rolling monthly contract without any long-term tie-in, from any of the major phone networks to get the voice and/or data connectivity.
Most people don't do this, because it would force them to confront the real cost of buying that shiny new smartphone instead of mentally writing it off as part of a monthly credit agreement^W^Wcalling plan, where both the cost and the interest rate they're effectively paying for the device are mixed in with the flate rate they're paying for the network anyway. But as with most credit-like agreements, if you have the money up-front and do the maths, it's almost always cheaper over the lifetime of the deal to buy your own device, and of course it gives you a lot more flexibility to change your connectivity package mid-term as better deals become available in a highly competitive market.
I'm always slightly surprised that the usual rules we have here for advertising credit agreements (making it clear that you're tied into paying a certain interest rate, described in a standardised way) haven't been applied to the mobile phone market. If the carriers were forced to describe how much their calling plan is really costing in an easily comparable format, and to show the price of the equivalent up-front purchase and separate connectivity, I suspect the market would shift rather sharply in the average consumer's favour.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
If you begin with "you are an idiot", you have already lost the argument.
That manufacturers continue to release brand new devices running Gingerbread with no upgrade path to Ice Cream Sandwich whatsoever. And its not like these are devices that started development long before ICS appeared, some of them are devices that were likely early enough in their development phase that they could easily have started work on an ICS port at that point (and in some cases even potentially switched to ICS before the release)
Google already has certification requirements for a "Google" device that has Play/Marketplace, gmail etc on it.
Some things I think Google should add to those requirements that would benefit Android:
1.They should tell OEMs that after , any not-yet-released devices that want certification MUST be running Ice Cream Sandwich or at the very least have a defined upgrade path to ICS.
2.They should tell OEMs that Google must be the default search engine (after all, the search is a big part of how Google makes its money on Android)
3.They should tell OEMs that they must fully comply with the license of any and all software they are shipping on the phone (including the GPLv2 for the Linux Kernel). No more of this "its industry standard practice to release kernel source weeks/months after the binaries have shipped" BS that some OEMs *cough*HTC*cough* keep pulling again and again.
I don't really see another way around this. The same problem plagues computer OSs also, look at windows.
The only way I see to do this is to either force the updates directly or to have a short cutoff point for support and compatibility. (thus forcing them indirectly)
A lot of consumers won't like this.
Yeah, it's MY PHONE. I was happy with it when I bought it and I DON'T TRUST YOU to decide what software I should be running on MY PHONE.
Carriers sees it as a phone is running on THEIR NETWORK and they DON'T TRUST YOU to decide what software should have access to THEIR NETWORK.
The manufacturer sees it similarly as well. The phone carries THEIR BRANDING and is under THEIR WARRANTY. You have no business screwing with the way it works if it could tarnish THEIR REPUTATION and cost them money.
Any of those reasons alone is sufficient why there should be no forced upgrades.
But 99% don't give a crap.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
If Google want to prevent Android fragmentation, all it has to do is create the best SDK. If it's the best, then the majority of developers will use it and its version of Android. Fragmentation would be reduce because the majority of phones would use the same version.
Don't stop where the ink does.
Comment removed based on user account deletion
I thought the Apple plan was to deliver gimped versions of iOS, with missing features, to phones below the current version?
Would you rather have a new version of the OS, with all but say, one or two features (that your hardware wouldn't support, or support well enough to be useful), or what you have now; which is NO NEW VERSION AT ALL?
Thought so...
In America it is NOT cheaper to buy a phone and go with a month to month contract. Those contracts are MORE expensive than plans that include subsidized phones. I've done the math repeatedly to try to find the best deal. Hands down, it is cheaper to buy a phone on a two year contract, than it is to buy a phone up front and go with a similar month to month plan. It isn't even close.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
True, I'm certainly not going to argue that there's been some pretty fucking awful Android phones made - and by more or less all manufacturers as well. The openess and diversity of Android is a bit of a double-edged sword.
However, you do have to look at why the phones are shit - it's generally not down to them being incompatible with certain apps, or because it misses out on some API or critical hardware component. It's usually because it's a low-powered, low-resolution cheap plastic piece of crap. The point of the Google certification is to make sure your phone is compatible with the infrastructure (to a degree, there's obviously going to be issues if an app is compiled for ARM and it's an x86 device). It'd be a lot easier to just butcher the underlying OS and break tonnes of shit in the process but then you don't get an App store unless you install a 3rd party one.
As for consistency, that was really the point I was originally making - people are saying that Google should force manufacturers to not use custom Skins, to not make exotic hardare and generally do everything the same. I don't really need to explain why that's a bad idea, but I can point to Windows Phone 7 as an example of an ecosystem that does actually operate like this. Look at all the WP7 launch phones are they're nearly identical with each other with very little setting them apart. I'm not sure that's a good thing, as that pretty much forces people to never innovate or do anything different.
+1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill