My Nexus S can't keep up with Android's pace, but I'm (mostly) not bitter
Summary: People love to complain about the fact that most Android devices out there don't run the latest version. But, as I've discovered to my great annoyance, you should be careful what you wish for.
It's so sad when a relationship goes sour. Sometimes you hang on for too long, even though you know your partner is changing in a way you just can't live with. Case in point: me and my Nexus S.
We were so close once. Even when it was no longer the latest thing, I knew it was trying hard to stay young — always wearing the latest version of stock Android, always trying to keep up. But sometimes there comes a point in the ageing process where you just end up looking foolish, unless you stop trying to be what you're not.

In the case of my Nexus S, that point would have been about two updates ago, before Google took it to Android 'Jelly Bean' 4.1.
Ice Cream Sandwich (ICS, or Android 4.0) was about as advanced as thing should have got. Bear in mind that, although it was only released in late 2010, the Nexus S has a single-core processor — alright at the time, but utterly puny now. It's amazing to think how far mobile processor technology has advanced in merely two years.
Things fall apart
ICS came out in late 2011. It really needed a dual-core processor to shine, but it could eke out a decent experience on a good older chipset. But Jelly Bean? Ha. When my Nexus S got that upgrade, there was a brief period of "Ooh, look at Google Now", then "My, this is all quite slow" took over. Google shunted over one more update, Android 4.1.2, before calling it quits — my Nexus 7 tablet has moved onto Android 4.2, but the Nexus S never will.
Right now, I can barely use my phone. Using it is an angering experience
Right now, I can barely use my phone. It hangs, it crashes, it misses calls at some times, can't make calls at others. Using it is an angering experience.
But, while the Nexus S should have stopped receiving updates with ICS, I can understand why it did not. The whole USP of the Nexus line is that each device gets stock Android updates more-or-less as the code becomes available (it was a developer line first, after all). If Google stopped updating a Nexus device after one year, that would look pretty shoddy.
In a way, my Nexus S is a casualty of Android's very nature. Let's compare it to iOS (because people don't do that enough).
The latest version, iOS 6.0.1, can still be installed on an iPhone 3GS — a device that came out three-and-a-half years ago. I don't have one myself, but the tone of reports suggests to me that it works about as well on that handset as ICS did on my Nexus S.
The iPhone 5's A6 chip may be mighty fine, but it is still a dual-core affair. This fits with Apple's slow-and-steady, incremental strategy, where the company squeezes as much goodness as it can out of any given generation of processors before moving on to the next. This is why the latest version of iOS works OK on a four-generations-old device.
Compared to Apple's controlled economy, the Android ecosystem is a raging free market, where competition means much more rapid hardware evolution. Android flagships are therefore all quad-core these days, and Jelly Bean is accordingly built to take advantage of this state of affairs. It would be silly not to.
Which is fine — yay for progress — but it does make putting Jelly Bean on a single-core device an extremely daft move. (And yes, it was my choice to install the Jelly Bean update when it automatically downloaded, but my job involves experimentation and I also hoped against hope that it might make things better, rather than worse. Most users would just install the latest update without any consideration.)
Be careful what you wish for
All of which brings me to the wider issue of Android updates, and the immense amount of complaining that goes on there.
Right now, a smidgen over half of all Android devices out there are still running a 'Gingerbread', or version 2.3x, variant. 27.5 percent run ICS, and 6.7 percent run some form of Jelly Bean. Horror of horrors, stores are still selling Gingerbread smartphones. And even worse, those handsets won't get upgraded to Jelly Bean! Oh no! What on earth is Google thinking?
I wouldn't want to speak too boldly on the company's behalf, but I'm guessing it's something along these lines: "Let our partners do what they will. As long as Android takes over the world, we're happy."
A reminder: Android is on around three quarters of all mobile devices sold at the moment. Its growth has been stratospheric, and much of that is down to the fact that, yes, many of the Android devices getting sold are running old versions of Android.
They have to, because their processors are outdated by high-end standards. But they're not high-end phones. They're dirt cheap. People are buying them as their first smartphone and, in some segments, their first personal computer. Here's a dumbphone and here's an Android for around the same price — which do you choose?
For more high-end phones, a lack of updates can sometime point to unpleasant practices by manufacturers that just want you to buy the latest thing, but at the low end, major updates just aren't part of the game. For those customers, Android 2.3x may well give them most of what they need. If they want more, they can always trade up or even just hang on a couple of months. Look at the latest crop of low-end phones coming through, such as Huawei's $104 T8830, which runs ICS on a dual-core processor. $104!
Towards a flatter future
As for me, I have an order in for a Nexus 4. You may be able to guess that I'm really, really looking forward to its arrival.
Apart from just having a workable phone again, I also suspect that my Nexus 4 may cheerfully run the latest Android updates for much longer than my Nexus S has, due to its quad-core processor.
Eight-core affairs may be on the horizon, but I think things are going to flatten out at this point, at least for a while — Google and the OEMs will likely need to wait for developers to catch up on multicore, before pressing on further.
Which they will. Because, right now, Android is all things to all people — it's an entry point and it's at the bleeding edge. As long as we bear in mind which version fits where on that scale, it's hard to see this as a bad thing.
Again, yay for progress. I just wish there was a pain-free, officially-supported way to roll my Nexus S back to something more usable.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback
The Nexus S hardware is fine..
Android is great, but the high hardware requirements are too much, that's why I'm hoping that OS like Sailfish (being made by the talented MeeGo experts) do well, so that we have more choice in open OS other than Android, OS that do not make you do things the way the OS maker intended. iOS and WP are great for the masses, but sadly not good for me.
Agreed
Android should make a move to more native development.
But can they really do that..
Native is not necessarily better.
Native also introduces another level of fragmentation since native targets specific CPUs.
VMs are not necessarily slower by nature. Years ago, they were mostly interpreted environments. But modern VMs (including Dalvik) compile to native code before executing code. JIT compiling allows for things that native code blobs can't do, such as optimizing that compiled code to the hardware (presumably since the Dalvik compiler *could* be modified to play to a particular CPU's strengths or take available memory into consideration to reduce instruction sets sent to the processor)
A better strategy would be to continue making improvements to the JIT process in Dalvik. Perhaps allow pre-compilation (something Android sort of lacks at the moment), and make it part of the app installation process for certain kinds of applications.
Then the design is a failure.
Add that to the list, along with failure to establish a hardware reference platform that would allow proper abstraction between the OS and hardware. People should be able to install the latest version of the OS on the day it's released, without breaking existing apps or the shitware layer that telcos smear onto it. Windows supports millions of disparate hardware configurations and, in general, can be updated to a new version on day 1. That's why you keep your HAL and driver model consistent whenever possible.
Disagree
Native code isn't a good idea for Android as explained above. It breaks "write once, run anywhere". I've run an experimental Android x86 version and been able to run regular Android apps because of the virtual machine. That's a good thing. If a new architecture comes out tomorrow, Android apps will be able to run on that too (once the VM is ported).
Google is a free open source OS (for the most part). Google CAN'T establish a reference anything. All they can do is hold back Google Apps - and look what effect that had on Amazon - nothing.
Please don't bring up Windows - Windows supports x86, period. In 2012 they still can't handle 64 bits - VBA controls disappeared going to 64 bit and the ACE engine can only have a 32 or 64 bit version installed on Windows, but not both, etc. When Apple moved from PowerPC to x86, Microsoft complained about VBA being tied to the architecture and simply removed it from a version of Office for Mac. In fact, on Windows RT's version of Office they have again removed VBA because of some sort of architecture tie-in. Win32 also isn't supported on WinRT, although how much of that is monopoly politics to try to force developers to WinRT library and de facto phone apps is anybody's guess.
Linux, on the other hand, has been fully ported to ARM (the only desktop OS right now to do so). LibreOffice, which uses its own BASIC script, javascript or python for scripting also works fine on ARM. There's no special new library one needs to target and most apps work with a recompile. Microsoft has vastly more resources but couldn't achieve this.
If Android is a failure, I wish I could create a product that was failing so well. :-) There are real differences between the many ARM versions and the Dalvik VM abstracts that away from the developer.
Microsoft achieves hardware compatibility by simple virtue of being a monopoly and being able to dictate terms. Products HAVE to work with Windows, not the other way around. You're giving them way too much credit. Their phone OS has been remarkably limited so far in the amount of hardware it's authorized to run on.
Re: It's a phone, not a PC.
Kernel is not compatible w/ the hardware
Total agreement
I do feel sorry for some users with high end devices that didn't get at least one decent update but as for low end devices, they're cheap for a reason and you really shouldn't expect anything other than bug fix releases.
Having said all that I'm still with my aging HTC Sensation because HTC refuse to come up with a decent phone with removable battery. No Nexus 4 for me for the same reason and can't bear to get an S3 because I don't think Samsung should have all the Android pie to themselves.
To be honest..
But yeah, hopefully all this hardware will be used even better with new OS like Sailfish or Firefox or Tizen next year, though it seems sadly unlikely they will be able to make a dent.
Not so much...
As for lower demand OSs, sure... but Symbian died off. It wasn't competitive, it was having problems for years; sure, I know very well that, in the end, it was killed by Nokia, not given a natural death (ok, sure, it's still for sale, but we all know it's a dead end).
Windows 7 Phone was fast on 2010-era hardware last year... in fact, there was no other choice. That's largely because it was a simplified version of what they're calling Windows Phone this year, and it was running on the WinCE kernel -- that kernel designed for 100MHz ARMs and MIPS processors ages ago. Couple that with a very stripped down UI and very simple, low-feature-count apps, and you go fast.... relatively. These devices were terrible for modern mobile gaming, even the ancient iPhone 3GS has a faster GPU. But they did ok.
No longer.. the new Windows Phone 8 is running much the same thing that's crawling on quad core ARM tablets. The flagship Windows Phone 8 device is Nokia's dual core Lumia 920, running dual faster-than-A9 Krait cores on a 720p screen with a decent enough GPU... a very acceptable 2012 device. In fact, virtually the same essentials as the Galaxy SIII with LTE (non-LTE models are quad core), which completely rocks on Android.
Software expands, but currently, hardware has been growing/improving faster, even with two relatively major Android releases each year. I agree with the article... today's devices are going to run future releases for longer. Not forever, either... but this isn't Android specific. Apple dropped the first iPad this year, even though they were actually selling in late 2010/early 2011. Microsoft didn't allow any of those Windows 7 Phone devices to upgrade to Windows Phone 8. You really don't want Windows 7 running on many XP-era PCs... Apple's several times dropped support for older models.
At some point, you have to stop worrying about older machines. That's necessary to keep things advancing.
Agreed
That's not a good thing.
It's not that they CAN; it's that they HAVE TO. Look at the hardware that Android requires just to present a UI that isn't stuttering and clumsy. I'm not an Apple zealot. Apple has crippled iOS pathetically and rendered its handheld Unix computers toys and gimmicks as a result. However, Android has to throw ridiculous numbers of cores and processing power at the user experience to make it as fluid as the FIRST iPhone. There's something very wrong there.
The only metric that
Android for everyone
Profit will never be all that matters.
Point made
Yeah, a smartphone at that..
You do know you can buy an iPhone or Android for...
Yeah, if you
You are forgetting the extra $720
data prices
My phone won't upgrade past 2.1 (Motorola Cliq) Pay up or shut up, I guess.
"Ice Cream Sandwich (ICS, or Android 4.0) was about as advanced as thing should have got. Bear in mind that, although it was only released in late 2010, the Nexus S has a single-core processor — alright at the time, but utterly puny now. It's amazing to think how far mobile processor technology has advanced in merely two years." does --as advanced as thing should have got?-- mean: as advanced as things should have gotten?