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.
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.
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.
And by "old," you mean 18 months. It's a significant problem for those of us living in Canada, where 3 year contracts are the norm. By the time the contract is half over, your phone is no longer supported.
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.
But 99% don't give a crap.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
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.