If you are the sort of person who likes to have the latest and greatest smartphone operating system, with the best new features and the most positive user experience then you might have a problem. It's a problem that lots of other people have but they probably don't know about it. You know - those normal people who just call people and use the Facebook apps on their phones.
We aren't like those people you and I. We like to have new things, software updates and suchlike that allow us to be up to date with all the latest and greatest developments within the mobile industry. To the lay-person this might seem trivial - "why of course, the handset manufacturer will just push out a software update for my device once it becomes available you silly man!" - but I'm afraid it isn't that simple at all.
I own a Samsung Galaxy S II on Orange in the UK. This particular handset is widely recognised as the best Android handset of 2011, with an excellent display, superb battery life and ultra-slim profile - great you might think? No - not great. You see, my device is stuck on Android version 2.3.3, as my carrier and manufacturer haven't got around to updating it to the latest version - 4.0.4.
So what - big deal, Android 4.0 is new isn't it? Err - it's not really that new, it was launched on October 19th 2011 to much fanfare and still has a market share of under 3.0%. Wanna know why? I'm going to tell you - there are two groups to blame; the carriers (Orange) and the OEMs (manufacturers - in this case Samsung).
So why are the manufacturers holding up the process then? Sadly it's all down to the misguided belief that consumers are stupid. They think, in all their wisdom, that rather than using the stock Android experience, we need to be gently hand-held along a path of their choosing. Instead of delivering the OS as Google intended we are largely subjected to a series of performance reducing tweaks and unnecessary system wide changes that are largely unable to be removed without 'rooting' the device and installing a new 'ROM'. So why do it? They all have their own excuses but some of the most common are:
To differentiate. They believe that the vast majority of consumers don't go to purchase an Android phone, they buy a HTC Sense phone or a Samsung Touchwiz device. Here's a newsflash for you guys - everyone knows what Android is. We just don't need your bloatware anymore.
User experience. It is also a common concern amongst the manufacturers that they want to improve on the user experience of Android and make it either more beautiful or more straightforward. In the past (with very early versions of Android) they might have had a point. Some of the initial versions were severely lacking in creative inspiration (Google is famously an engineering lead business) - but now with the addition of Matins Duarte to the design team and the evolution of Android to 4.0, this is 100% no longer required.
The other major culprit is the carrier. Many consumers don't realise, but before a handset is launched the carriers must first test it on the network - this takes time. Fair enough, they want to be sure that the products will work as advertised on their network, and you won't hear any complaints from me about this. However, during negotiations regarding which handsets the carriers will be bringing to their platform there are often deals made to include additional software or services that are carrier (and often handset) specific. It is this continual pursuit to be different from the competition in terms of hardware / software design - rather than competing regarding the most important things to consumers, cost and service, that also greatly contributes to the delay of new software being rolled out.
Manufacturers are forced to create many different software builds for their devices, so one device (such as the Galaxy SII) would need 5 different software builds to be maintained, and that's just for the UK market and the major carriers here! When you take into account all of the smaller carriers, international variants and special tweaks made by the big guys (particularly in the US where Verizon in particular is so keen on ruining devices by filling them with non-removable bloatware crap) - you can suddenly begin to see why the updates take so long.
All of the above leads to what is commonly known as platform fragmentation, and this is the single highest contributor to the delays. All the phones are so different, with so many moving targets to aim at the manufacturers either don't bother providing updates or end up providing them so late that it becomes academic.
The situation with Windows Phone is different again, they had agreed a model where Microsoft would be responsible for providing updates and achieved this by reducing carrier customisations to the app level and ensuring all hardware was based around a set of fairly restrictive reference hardware specifications. This was all going well (aside from a few minor teething problems) with the transition from Windows Phone 7 to 7.5. Now it seems very likely that the upcoming release from MS, currently known as Apollo will drop support for older handsets as MS shakes up its hardware spec to go after the higher end of the market again. Brand new handsets such as the Nokia Lumia 900 (launched in the US only a few weeks ago) are likely to find themselves cut off from the upgrade path after less than 6 months of their existence. This simply is not good enough for a device that in theory should last 2 years - the average length of a smartphone contract.
When you look at the three main platforms at the moment - Android, Windows Phone 7 and iOS - the only place where you are almost certain to get at least 2 years of timely updates pushed out at the same time across all devices is iOS. Apple works to a different model where they tie the hardware and software so closely together that they are able to maintain complete control of the ecosystem and ensure that all the devices around the world can receive their updates at almost exactly the same time.
So what do I recommend as the best approach for users who want to stay on the bleeding edge? I'd avoid Windows Phone 7 until it becomes clear exactly what their plans are regarding upgrading their fledgling OS and getting it to work with older devices. For Android the best approach is less clear - in theory it should be easy to suggest that the best move would be to pick up a Nexus device and you will always receive the latest updates directly from Google in good time. In the UK at least this seems to work fairly well, but in the US the carriers have managed to get their mucky fingers even to the Nexus class devices and subtle differences in areas like NFC availability and additional tweaks mean that updates often aren't pushed out as quickly as we would like. Sadly though the advice for Android really is - get a Nexus device, as otherwise you will either face a seriously long wait for a software update or never receive one at all! At the moment the only way to be certain that your devices will receive at least 2 years of updates will be to go with an iOS device. Apple made iOS 5 available for the 3GS, a phone that is nearly 4 years old, right on the day of release for their flagship devices. The attraction of a level playing field should not be underestimated as iOS users rush to update their devices and receive the latest software tweaks and improvements.
So here I sit, with my iPhone 4S running the latest software smugly sitting next to my abandoned GSII - waiting for Orange and Samsung to remove their collective fingers from their bums and supply me with some Ice Cream Sandwich to play with. Let's hope I'm not waiting too much longer.