Software updates are a big deal. They deliver bug fixes, new features, refreshed interfaces, and a lot more. Sure, there might be that feature or two that gets discarded and breaks someone's workflow (relevant xkcd), but for the most part, newer means better. And if software updates are important for apps, that's especially true for operating systems.

Largely due to the proliferation of smartphones, we have come to take free and consistent OS updates for granted. Users assume that a new phone bought this year will still be running the latest OS in the next, and no one expects to have to pay for that software update. But this wasn't always the case. In the past, every new software version came with a (sometimes hefty) price tag, be it for apps or for OSes. Apart from bug patches, getting a new OS version involved paying up and going through a relatively cumbersome upgrade task. Of course, this meant that most hardware was eternally stuck with whatever OS version it sold with. Who doesn't remember using that eleven-year-old PC at the library that was still rocking Windows XP?

Fortunately, things have changed a lot since then. Computers are taking a page out of the smartphone book and have started offering free OS upgrades. In 2014, Apple began offering OS X upgrades for the first time. This year, Microsoft — a company that has traditionally relied exclusively on selling software — announced that Windows 10 would be a free update for most of its users. Chrome OS even goes above and beyond, promising Chromebook owners a minimum of 5 years of continuous, silent updates for free.

Alas, a lot remains to be done. Whereas desktop and laptops are typically compatible with new OS versions for several years, smartphone owners don't have the same luxury. Users are usually left in the dark over how long their new phones will continue to get software updates, and, unfortunately, this is especially true for Android devices when compared to iOS devices.

The chart below compares the periods during which a given device is running the most up-to-date OS version, for both Nexus phones and tablets, as well as iPhones and iPads. For our purposes, a "new version" is a new API level on Android (with Honeycomb excluded for obvious reasons) and an integer version number for iOS.

unnamed (1)unnamed (1)

Bars represent the months between the launch date of a device and the month prior to the first update the device does not receive. All data is current as of August 31, 2015.

On average, the Nexus devices that are no longer running the most current Android version (i.e. Lollipop 5.1, API level 22) received support for a meager 21.0 months. On the other hand, the average for iOS devices that did not receive iOS 8 is 41.2 months. Recent devices have begun to improve Google's reputation for software updates, but the gap remains wide. If we include the 2012 Nexus 7, the Nexus 4, and the Nexus 10 in our calculations, the average support increases to 28.2 months.

DeviceLaunch dateSupport end dateNumber of months supported
iPhone 3G2008-072011-0939
iPhone 3GS2009-062013-0851
iPhone 42010-062014-0851
iPhone 4S2011-10Still supported47
iPhone 52012-09Still supported36
iPhone 5S/5C2013-09Still supported24
iPhone 6/6+2014-09Still supported12
iPad 22011-03Still supported54
iPad 3rd gen2012-03Still supported42
iPad 4th gen / Mini2012-11Still supported34
iPad Air / Mini 22013-11Still supported22
iPad Air 2 / Mini 32014-10Still supported11
Nexus One2010-012011-0921
Nexus S2011-012012-1022
Galaxy Nexus2011-112013-0620
Nexus 7 (2012)2012-07Still supported38
Nexus 42012-11Still supported34
Nexus 102012-11Still supported34
Nexus 7 (2013)2013-07Still supported26
Nexus 52013-10Still supported23
Nexus 62014-11Still supported10
Nexus 92014-11Still supported10

Even so, the longest an Android device has been updated for is a respectable 38 months for the first Nexus 7, which is nonetheless over a year less than the 54 months the iPad 2 can brag about. And with the iPad 2 set to receive iOS 9, that number will only increase further.

Of course, a single chart is never enough to tell the whole story. For starters, there are several acceptable ways to define the software support period. The most obvious one is to calculate the time between the launch of a device and the last update it received. However, while this is certainly a reasonable definition, it has several drawbacks.

One issue is that a device may get its last update long after the first update it does not. For instance, the last software update the iPhone 3GS got was iOS 6.1.6, which was actually released 5 months after iOS 7. If we had included iOS 6.1.6 in the chart, it would have given the false impression that the 3GS received more support than it actually did. On the other hand, since not all Nexus devices get updated at the same time, a delayed software update would incorrectly suggest a longer support period. This would mean that the Nexus 9, which was only updated to Lollipop 5.1 several months after the Nexus 6, would inaccurately seem to have been given more software support.

In the end, the best measure we found was to determine the period between the launch of a device and the release of the last OS version it (eventually) received. This still has a few issues, such as not reflecting how long it takes for a device to receive a new update after it's been launched, but it was the best solution we could come up with.

But why is this a bad thing, anyway? In part, it means your phone or tablet has a shorter life period since it will become obsolete faster. That means you'll be more likely to buy a new device sooner, which in turn means you end up spending more money in the long run. On the other hand, it's bad for developers, since a larger amount of app users will inevitably be running an older OS. This forces devs to choose between either not taking advantage of new APIs so as to be compatible with more devices, or to build their app for more modern versions and lose compatibility with older devices. (To be fair, Android has mechanisms to address this issue, such as being able to set fallback behaviors for unavailable APIs or even allowing devs to distribute different APKs for different OS versions through the Play Store. Unfortunately, this means more work for developers, which is also not a perfect scenario.)

Many of you will also be quick to point out that the chart does not take into account many important considerations. And you'd be right.

For starters, not all iOS updates are equal among all devices, and older devices do not receive all the newest features. The iPad 2, for example, does not have Siri support, even though it is running iOS 8 and Siri has been around since iOS 5. On the other hand, (and excluding obvious hardware-specific features) all Nexus devices get the same feature set with a new software update.

Another very big difference is that, unlike iOS, Android devices do not need a major software update to upgrade system apps. This is arguably one of Android's most significant strengths, and it means that apps like Gmail, Maps, Calendar and even essential system services such as WebView or Google Play services are always up-to-date. On iOS, being stuck on an old OS version also means being stuck with outdated system apps.

On top of all that, there's still the option for older Android devices to continue running new OS versions through custom ROMs, which is a choice that simply does not exist on iOS.

So what can we take away from this? While it is entirely true that any chart will inevitably gloss over several important points, and that the situation between Android and iOS is not directly comparable for a panoply of reasons, it should nonetheless serve as food for thought. The situation has undoubtedly improved recently, especially in light of Google's new update policy of 2 years of major software updates and 3 of security patches. Even so, Apple's support for iOS and even Google's own 5-year update promise for all Chromebooks proves that it's possible to ask for more than what we're getting.