New rumors says that Google is working on Android 4.2, and that it is very near a release. Some server logs has showed two different Motorola devices that is running on the update to this year’s Jelly Bean release.
I think it would be better if as many devices as possible was running Jelly Bean before pushing out an update of the OS. A very tiny fraction of all Android devices are running on Jelly Bean 4.0. Wouldn’t it be better if they got updated to the latest OS before releasing a new one?
Musings & Thoughts:
Yes, a unified OS would be better than a segmented one..
That depends totally on your development model.
I believe fragmentation is mostly a result of two different things. Large jumps like 2 -> 3, 3 -> 4 and custom, non-vanilla Android-distributions like Sense and TouchWiz who can’t keep up with the AOSP pace. I’m not worried about a 4.1 to 4.2 jump. I’m more worried about all the OEM skin customizations. Hardware manufacturers have enough trouble dealing with driver issues.
Well, the development of the next version will of course have begun as soon as JB was released, or even sooner. So seeing development versions out there shouldn’t surprise anyone. People at Apple are undoubtedly already running development versions of iOS 7 (although I’d be surprised if you could glean that from their user agents).
Gerben van Erkelens
The advantage is that companies can use it, develop a version of their self… Do what they want with it :-). That way other versions can use the same featured.
The downside is the fragmentation part.
Progress is always good. Google cannot stop to develop Android just because OEMs are moving to slow. That makes no sense whatsoever.
I wish all manufactures could use Vanilla Android. Then this wouldn’t be a problem.
And to be clear. There’s nothing wrong with large jumps, like 3 -> 4. That’s the natural evolution of the platform. Natural fragmentation I would call it. We’re actually seeing the same thing on the iOS platform.
They could try to help make the latest big update (Jelly Bean) be pushed out to as many devices as possible. Put some pressure on the manufacturers.
I am pretty sure they do that.
And by releasing 4.2 (which will be on the next Nexus devices) they will increase the pressure. Because manufactures are going to be behind one more version and they will feel the heat from the customer.
And if they do not feel the heat, then customers are satisfied with what they have.
The rumour abound is that the nexus programme is to be opened for all so more nexus models will be available with stock android. There’s also a rumoured customisation centre where OEMS can provide themes, launchers etc. If that comes to fruition then things may get better in terms of update rollout. This of course assumes that Google does all the work on the new version port. If the OEM still does it then expect the same delays, idle promises etc.
What I really like about the idea of a larger set of nexi is that you have a higher chance of getting a carrier subsidized model that has a stock interface. The existing nexus models were dropped from carrier subsidies very fast as newer and better models were released soon afterward.
Fragmentation is a natural thing. You have it in every ecosystem. The way I see it it is like a linux distribution, you chose one and then has to stick with what the distribution release. The development with the linux kernel and the GNU tools are worked on independently and doesn’t care what distribution you use. If you want bleeding edge you use a distribution that provides that.
Windows has fragmentation, I still have machines running XP and they still get the job done.
Running an older version of android isn’t that big deal,version 2.3 is still usable and still good, and the OEM releases security fixes for them.
If you want run the latest version of android you simply chose a model that runs stock android (or root the phone and fix it yourself).
But google is working with every version that is released to make the customization and theming easier
I think the main point is, that people who want the latest and greatest, get a Nexus/flash their phones. Most of the people who buy a phone, like a Sony Xperia, or Samsung, don’t really care. When an update comes, it comes. It does exactly what they expect of it, and more. And so long Android is technically in front with features, and flexible, it doesn’t really matter.
Have you heard about the Customization Center? It’s a rumor for 4.2, and the idea is to easier let people decide to have a Vanilla Android phone, or a phone with TouchWiz, for example. This should also help on that issue, then the updates could be pushed earlier. I’m excited to see if this pans out, and how exactly it works :)
The big problem with android, as i see it, is that all major companies persists with their one, often bad, interpretations of android. Their customers always have to wait for the next big release, while the rooting-community always have versions ready for the masses.
Some of us, more interested in electronics and tech (geeks, nerds, whatever) have the knowledge, or at least the interest to compensate, to flash our handsets with cool androidreleases while the android users in large sit in the laps of the major companies.
I’m happy with it. Using a Nexus-phone i always get the releases quick enough, even though i can’t stand the wait and often get the latest release via xda or similar.
At the same time - loads of handsets with very weak hardware setups
are still being used, those are far too weak to sport anything cooler than android 2.3.
It’s always gonna be that way with android. I can live with it, cause i have an os that suits me perfectly. The wifey uses iOS and that suits me too, cause there’s absolutely no effort supporting her when i need to.
My wife’s phone runs Android 2.3.x, mine runs 4.0.x. No problems with that, except that hers is more that 2,5 years old, and a bit slow. But that’s a different problem.
My laptop and my wife’s desktop runs Kubuntu 10.10, since there’s no point in updrading. My htpc/desktop runs Kubuntu 12.04 (soon to be upgraded top 12.10).
But there’s also a developer perspective to it that I don’t see being mentioned. Users might be fine running 2.3, but as long as there’s a significant number of users running an old version, developers will want to support that as well. Either by doing hacks to support both old versions and new cool features in newer versions or simply by avoiding using new features at all, which obviously is a sad thing.
It’s a quite big problem for developers. And if this continues Android will not have the big developer companies creating apps for the platform.
Or worse yet, look at the costs and problems for web developers who have to support not only a wide variety of browsers, but also old versions of all those browsers (and the worst one by far is also the one most used, with the slowest users in terms of upgrading - MSIE). Doesn’t mean we shouldn’t strive to minimize those problems though.
Having the least amount of fragmentation possible is one way of dealing with the issue. And I believe the Android platform could do better.
From an Android developer perspective supporting older versions is not really a big deal unless you make an exceedingly advanced app - as some of you know, my Prisjakt/PriceSpy app works fine from 1.5 (in fact, also from 1.1, but that is pretty pointless these days), picking up new features from 2.x, supporting tablet layouts in 3.x and some features added in 4.x. In this approach I’ve just a handful of “Reflection” methods that adjust to what you are running. In some other apps (such as Industrilandskapet and Lampguiden) I’ve also used ActionBarSherlock which includes Android’s compatibility library allowing the use of so called fragments and the ActionBar down to version 2.1. This increases the size of the app a bit, but as long as you start out building for it from the start it is no big deal to support.
The “reflection” approach makes is pretty easy to simply disable features (such as push-to-phone) for older devices where the OS doesn’t have support for it. In fact, I probably spend more time on tweaking styling and rotation than I do on general version issues.
I’ve run into some odd manufacturer issues, though - most of them have actually been Sony(Ericsson) specific bugs. These take a bit of extra time since I’ve had to get that particular phone to nail it down - creating an emulator for an older version of Android is trivial.
The difference between 2.3 and 3.1+ is really huge for developers. The introduction of the holo theme and the action bar really made things a lot easier in my opinion.
Obviously there’s a way to bring the action bar to 2.3 but it still requires some tweaking.
I’m pretty sure that we could all agree that it would be awesome if we could develop for the latest major update (4.0+) and didn’t have to think of the old versions.
Just because manufacturers can’t keep up doesn’t mean Google should stop. They’re now the most popular mobile OS on Earth and if they slow down they may lose that.
With the new nexus scheme rumoured this should be far less of an issue but I’m sure they’re leaving it up to consumers to complain in order to get things to happen (updates to roll out faster) on the manufacturing / carrier side.
If this nexus scheme comes to life, I predict the Nexus versions will far outsell the skinned versions and finally tell manufacturers once and for all “your skins are unwanted, we want vanilla”. They may finally get it.
Though all that is speculation.
The rumour is android will release their OS with optional themes inc manufacturer theme you simply choose whether to have the theme/skin if manufacturer doesn’t update their skin when Google does the phone reverts to latest stock Google.
BTW, there is one interesting twist in Android compatibility that may not be obvious, but helps developers: Every app is built for a “target” version, say 3.0 (internally the numbers are different but that’s not important), this really is a contract on the used APIs so that even when executing on newer versions of Android, the app can trust that all APIs will work as if it was 3.0. For example, the way the “up” button in the top left corner works was slightly altered in 4.0, but apps that target 3.0 but run on 4.x+ still get the 3.0 behaviour. In most cases the developer will bump the target to the latest version each time the app is updated, but being able to trust this means there are less surprises (in fact exceedlingly few in my experience) when Android is upgraded as long as you stick to the guidelines. I’ve not verified this, but presumably this is implemented exactly like the “reflection” approach I mentioned above, but on the other side of the API border.