To be sure, it’s no magic solution to the gargantuan task of moving the entire Android ecosystem forward. And the update situation for non-flagship devices remains something of a crapshoot. But it’s a start, and a big step in the right direction. And as we move from Jelly Bean into the KitKat era, it’s enough to give us some hope for the future of Android updates.
Read on to find out why.
Still Android’s biggest weakness. Baby steps are made, but a solution there is not.
A solution is reasonably obvious (though not necessarily straight forward), and has existed for decades: Modularization.
There are many aspects of the Android system (including the core OS APIs) that should exist in “userland” and can be made 100% modular and securely update-able through the play store service. The same can be said for kernel-modules that are direct-from-the-OEM.
Now Google may desire to withhold updates until they pass very rigorous automated tests to determine proper functioning, and have fallbacks if (for some reason) an update is still breaking a users system (ie. revert to last working state).
Further more, it would be possible to open a “Beta” branch of the OS if secrecy isn’t too large of a concern. People like me would GLADLY forgo a bit (or a lot) of stability to be on the cutting edge and report bugs early before it hitting the stable branch. Bug reporting can be automated as part of the terms.
This may not apply to all code, but things like a UI library, or image/video codec support clearly do not need to ship exclusively as firmware. As long as the interfaces comply to a very tightly defined specification, I would expect that the vast majority of system-critical code can exist outside of an OS update.
This will not apply to all devices where proprietary drivers may be the limiting factor for functionality. But many of the features of Android (at least those that consumers often care about most — eg. a new camera app interface, new launcher fonts, and transparent nav bars) are not dependant on these drivers. And the OS is largely platform agnostic which should make many of these features trivial.
Android should be rolling out updates to the latest version in days and not years.
I suspect that the idea of automated updates are not attractive to OEMs, which are Google’s customers in that they ultimately buy Android licences. I should state that this is purely speculation, and is not based on any evidence.
Edited 2014-01-18 20:39 UTC
Android is pretty modular, the problem is called diferentiation.
OEMs want to make their offering feel distinct, as they have been doing since the dawn of computing.
Carriers prefer to offer you a new handset against a contract renewal than free OS updates.
Any other OS will suffer from the same issues. Carriers won’t let anyone else play an Apple move on them.
Push an OTA update that leaves /system mounted read/write and that problem solves itself.
It’s a good point that companies don’t care if your phone gets updated, as long as you keep buying cell phone service and new phones.
Then it’s a good thing that Google (who most certainly does care about devices being updated) is in control of the Android OS.
I disagree..
Simply put, the idea that carrier/OEM differentiation prevents updating ignores that Google states the terms of what can and cannot be done in the terms of an Android license with Play services. They would only have to state that certain libraries/modules would have to remain untouchable (just like Play applications). It’s entirely possible to have a skinnable UI, custom applications/launchers, custom backgrounded services, unique windowing display system, and device specific kernel modules/drivers and STILL allow the core OS to be updated modularly directly from Google.
In short, there’s no good reason why an Android device cannot be significantly differentiated (in all of the ways that matter: look, feel, function), and still get fast updates. It simply comes down to the design of the system.
The problem of carrier differentiation is, in the larger scheme, a trivial problem.
And planned obsolescence is still entirely possible, with a timed support window (eg. 2 years) at which time a device will no longer be eligible for updates.
Again, the problem is not technical. It is just business as usuall.
And again, there’s a technical solution that allows for product differentiation whilst streamlining the OS update process.
The guys signing business contracts between Google, handset manufacturers and carriers don’t care!
Exactly. This isn’t a technical problem, beyond the support requirements of building and testing new updates for every released phone (although that’s not trivial, given that Samsung alone has more phone models than Apple has ever released).
Mostly, it’s a political problem, amounting to “they don’t care”.
Here’s the connection that you’re failing to make: Google fully controls and stipulates the terms that allow OEMs to use Android with Play services and Google apps. Contrary to what you might think, OEMs and/or carriers are currently not free to do whatever they want to the software if they want to ship Android on their devices with Play services and Google apps (eg. maps, contacts, gmail, etc); devices must meet a software and hardware requirement. The Android Compatibility Program aims to do just that:
http://source.android.com/compatibility/overview.html
Here’s a fun quote fromt the first of the Compatibility Program goals:
Google can amend the terms to require that key portions of the OS remain unmodified (as is already the case with certain parts of the OS), and state that they can be modified at Google’s discretion. It wouldn’t matter if OEMs and carriers “don’t care” about updates as they would have to accept these terms in order to use Android with Play services and Google apps. This is already the case with many aspects of the OS and can also be the case for core libraries and even kernel modules.
The key would be to strike a balance that allows OEMs/carriers to differentiate their devices (can be solved technically) and keep users from holding onto their smartphones for 5 years and thus foster a healthy sales environment (solved through planned obsolescence or a update support cut-off).
In short:
1)Google makes the UI skinnable and offer OEM/carrier differentiation for other aspects of the OS.
2)Google requires that core libraries (eg. UI) are unmodifiable and subject to OTA updates in the terms that allow use of Android with Google Play and apps. Google is thus free to push updates.
3)Fallbacks are devised and implemented to ensure that updates never permanently break a users system.
4)Google pushes updates in a way that doesn’t alienate OEMs/carriers.
Please let me know which part of this is impossible or unrealistic.
Anyone that came into contact with the Nokia Maemo project learned to loath the word differentiation.
It is what lead to various binary blobs being in charge of power management, and so making it virtually impossible for the community to maintain and upgrade the software.
The article covers a lot of ground, but one thing I feel is missing is why it is so important for users to be able to update their phones to the latest Android release. I’ve talked to a handful of Android users and most of them don’t know which version of the OS they are running, let alone what updates might be available. Heck, I have an Android device (running 4.0) and I’m not particularly interested in upgrading. I’ve played with the latest releases and there isn’t any killer feature there I need.
I agree it would be nice to have the option of upgrading available, especially for people who like to tinker, but given the very short life cycle of most mobile devices, is an upgrade really required? Most people will upgrade anyway for the hardware improvements.
Not saying upgrades are bad or un-needed, just wondering how many people would really take the upgrade path and (assuming they do) how many bricked devices might result from complications? I get a lot of panicked messages when iOS updates come out from my iDevice friends and I really don’t want to field those same issues with Android users too.
Edited 2014-01-18 20:46 UTC
Well, improvements to security immediately spring to mind. I know, I know; most people don’t really care, they don’t understand the concept of security, but then again, they don’t even have to, they can still benefit from any improvements there. Any improvements there have a beneficial secondary effect, too: they may help in stunting the growth of Android-based botnets, spam-networks and the likes, reducing the hassles the rest of us have to deal with.
IMO, the only killer feature in 4.1 (assuming your phone ran respectably with 4.0 like mine did) was Google Now, and I mean just the text to speech part. After that, there’s really not much I care about. My Moto X was updated from 4.3 to 4.4 and except for some UI tweaks, I barely noticed. My Galaxy Note 10.1 2014 is still running 4.3, and I honestly don’t care if it ever gets 4.4. If there’s ever a major security issue with older versions that’s causing lots of headaches for consumers, I think most of the vendors will push out a fix via a minor update.
The reason for this is that Google moving a lot of the functionality to Play services have made the OS updates very inconsequential, and that’s great. Now I don’t have to choose between an OEM device and having the latest version of Android, because it’s just not important to me anymore. It used to be that all the cool shite was in the stock ROM and OEM stuff was nothing but bloatware. But now the OEMs are doing cool stuff — my Moto X is chock full of features that should’ve been in 4.4 but wasn’t, and some of that functionality is hard (if not impossible) to replicate with 3rd party apps in the Play store. And if you absolutely insist on having the latest and greatest, just grab a Play edition phone (if you’re in the US), or a carrier version that you can mod with the PE rom.
I guess the main drawback to this is that new Android OS versions have gotten quite boring, so it’s hard to get excited about them anymore.
The only thing that gets me exited about the new releases is OpenGL ES 3.0 support and the transition to ART, for native compiled Java.
However OpenGL ES 3.0 requires hardware and GPU manufacter support.
ART is still a maybe thing. Google will disclose more information about it at FOSDEM 2013.
But these are features normal consumers won’t care at all.
I meant FOSDEM 2014
4.3 is where Android finally became “good enough”. The fixed all the jankiness in the UI, they fixed all the battery sucking wakelock issues, they improved filesystem throughput issues, they added TRIM support, the building blocks for multiple user accounts are in place. Beyond 4.3 there’s not much in the way of revolutionary changes (with the possible exception of ART once it stabilises in 4.5/5.0).
However, there are *huge* changes going from pre-4.3 to 4.3.
Having compared a 4.0 device to a 4.1 device, i would say the real value of the higher version number is Project Butter.
Don’t be so sure of that. Certainly, a lot of people get into the upgrade cycle, always buying the latest and greatest.
But conversely, a lot of people don’t, instead buying a device that they’ll keep using for year after year, discarding only once it stops working – usually because the battery life has deteriorated to the point where it’s no longer useful.
Speed/smoothness of the UI and battery life improvements. If you haven’t tried anything above 4.0, you really don’t know what you are missing.
My Optimus G (the big brother to the Nexus4) shipped with 4.0.4. I rarely got a full day out of a charge, and usually only 2-2.5 hours of screen-in time.
There was an update from LG to 4.1.2. The LG features (QSlide, Eco Mode, etc) weren’t that great, but the UI smoothness improvements were. Much less lag in scrolling, and could get 3 hours of screen-in time.
Installing 4.2 6 months or so after getting the phone made it feel brand new. Everything was *much* smoother, apps loaded faster, and everything benchmarked higher. Was able to get over 4 hours of screen-on time and go 50-odd hours between charges.
Installing 4.3, though, was the best. Over 6 hours of screen-on time, and over 50 hours between charges! Was looking forward to the “user profiles” and “restricted profiles” feature, but that was locked to tablets.
The pattern has repeated for every forum on XDA I’ve read through (4.0 –> 4.1 –> 4.2 –> 4.3 leads to UI smoothness and battery life improvements). It’s worth upgrading for those alone.
4.1 was the big jump, as that was when Google put Project Butter into the wild.
Maybe in general. For my phone, it was 4.2.
4.0 to 4.1 was noticeable. But 4.1 to 4.2 was an “oh wow!” moment. And 4.2 to 4.3 was an “now that’s how it should be” moment. Especially when it came to battery life.
My app mix hasn’t changed in over a year. My usage hasn’t changed much over that time (e-mail, facebook, xda forums, g+, RSS feeds, web browsing, podcasts, music, ebook reading). But battery life has increased, and screen-on time has increased dramatically, with each version since 4.1.
I’ve recently gone back to the LG 4.1.2 ROM on my phone as it’s being sent in for repairs, and it’s horrible compared to 4.3.1. 2.5 (sometimes 3) hours screen-on time is a good day now, and I can almost see the battery level draining while reading books via the Kobo app (set to night mode, brightness at 0%).
Edited 2014-01-21 16:38 UTC
The solution is simple to state:
– open bootloader
– open drivers
So there is no obstacle to android “distributions” such as cyanogen and omnia.
I don’t know who might have the power to force those chipset manufacturers to release open drivers but I feel it is the only true long-term solution to the problem.
License Android to the carriers based on the number of phones sold. Even if they don’t run Android. Like Windows – try to buy a PC without Windows. “You are free to run whatever, but the contract is based on total units”. iPhone? Well, we could port it but you have to pay up anyway.
It isn’t unfair, just so, so much more convenient. Instead of doing the messy thing to figure out how to apportion fees, just take the total sales, multiply by X, and cut a check. Dell, Compaq, HP, and Gateway loved it back in the day…
Sigh, not that old wives tale again.
Even Dell and HP will sell you a PC without Windows if you look hard enough. There are plenty of suppliers who will happily sell you a device with no OS loaded.
Sure if you just look at places like BestBuy or PC-World you have no choice but really, in 2014 do you think that is is impossible to avoid the MS tax?
No it ain’t.
The only “PC” I’ve ever owned with Windows pre-installed is my 2012 vintage laptop. The rest have been self-built white boxes running Linux.
It seems to me that the problem is binary compatibility, not updates. The days of Android being a clusterfuck of hardware are over. If a company isn’t updating their phone it’s just because they don’t care to. But if binary compatibility is broken, it is because technology is moving.
Android will soon be at the point Windows was over a decade ago: stable, boring, unmoving, and so wonderful.
64bit ARM will be ubiquitous from 2015 into the 2020s and beyond, and if Google is doing their job right, they’ve planned far in advance to begin a long legacy of binary compatibility.
Meanwhile, if your phone company doesn’t care to update yours, you might pay a modder or ROM company like Cyanogen to update it for you, and then pick another phone company next time.
Within 2-3 years (possibly sooner) the problem will be largely over. Once high quality phones cost $100 or less most people will no longer bother buying phones on contract. This means phone manufacturers can easily provide OTA or online upgrades (just like WP8 and iOS) because they don’t have to deal with carrier crapware.
Edited 2014-01-19 09:15 UTC
Google keeps UN open sourcing big parts of the OS….. If I update to kit Kat I lose too many good Foss apps….