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!
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.