When Apple debuted the iPhone 3GS at its June 2009 Worldwide Developer Conference, it played up the third revision of the iPhone as faster (thanks to its new Cortex-A8 APL0298C05, which one might retroactively name the "A3," with twice the RAM of previous models), a better 3MP camera (finally delivering video capture), and support for HSDPA wireless networks up to 7.2 Mbps.
Three years and three months later, and despite being discontinued from Apple's iPhone lineup, the iPhone 3GS is still supported by the newly released iOS 6, making it officially the longest supported smartphone capable of running a modern OS.
This is in stark contrast to rival smartphones introduced alongside it just over three years ago: the entire range of Windows Mobile 6.x devices, Palm's webOS Pre and Pixi, RIM's Blackberry 5.x lineup and all hardware running Google's Android 2.0 Eclair are not just unsupported today by those platforms' latest releases, but were in all cases not even supported through the first two years' contract life of those devices. That situation isn't changing either, with Google, Microsoft and RIM's platforms all gearing up to provide their new releases exclusively on new devices.
What iPhone 3GS gets in iOS 6
According to a report by ArsTechnica, while "the iPhone 3GS actually gets most of the new OS's tweaks and refinements," it found that "the new features also don't slow the phone down appreciably."
That's an improvement over Apple's previous releases of backward support. iOS 4 was particularly notorious for heaping too much on the plate of previous devices, resulting in many users complaining that they were better off not upgrading. Since then, Apple appears to have worked hard to keep older devices from being negatively impacted by new software updates, paring down backwardly supported features when necessary.
Apart from new iOS 6 features including Do Not Disturb, Safari enhancements including iCloud Tabs, Passbook, Facebook integration and Sheets sharing, Camera exposure lock, shared Photo Streams and numerous updates to Mail and other bundled apps, there are a few missing features on the iPhone 3GS upgraded to iOS 6: the processor intensive new 3D Maps and Flyover, Turn by Turn Navigation and Panorama camera capture are probably the most significant.
Other iOS 6 features unsupported on iPhone 3GS including Safari's Offline Reading List (likely due to its limited RAM) and support for new "Made for iPhone" hearing aids (also a hardware issue).
There's also no new support for previous iOS features that the iPhone 3GS never previously got, ranging from Siri to FaceTime to HDR photos. On the other hand, not even the year newer and significantly faster iPhone 4 supports iOS 6's new Navigation, Flyover or Panorama, nor does it support Siri or Cellular FaceTime (due to missing hardware support for those features).
"iOS 6 doesn't make the iPhone 3GS any slower or more difficult to use than it was before," Ars observed, "which should be good news to anyone who keeps theirs around as a secondary or backup phone?indeed, it's pleasantly surprising how many of the refinements and improvements make their way down to Apple's oldest-supported piece of iOS hardware."
Unparalleled backward support
Apple's three and counting years of software support for the iPhone 3GS is the longest run of any iOS device, and far longer than other smartphone platforms.
Shortly after Apple released the iPhone 3GS, it shipped its last update for the original 2007 iPhone, giving it right at three years of updates. By the end of that year it delivered its last update for the 2008 iPhone 3G.
This year's last update to iOS 5 was also the end of the line for the 2010 iPad (which is about a half a year newer than the iPhone 3GS. This means that in general terms, iOS devices have gotten two major new updates after their release version. The iPhone 3GS got three major updates, extending its functional life past four years, an eternity in the tech world.
Being qualified for a major update is pretty rare under Android, with only some of the top selling new handsets ever getting a single major update after their release. A range of new Android phones continue to ship with Android 2.x, which was released in 2010 alongside iOS 4. Samsung's flagship Galaxy S III is just now getting the latest Android 4.1 Jelly Bean release in some countries, despite it being released months ago.
The situation for Android doesn't appear to be getting better. At the end of 2011, half of the installed base was on the year old 2.3 Gingerbread while another 35 percent were still on 2.2 Froyo from mid 2010. Just 11 percent were still running something older than the year and a half old Froyo release. Today, Google reports that less than 23 percent are on the year old 4.0 ICS or newer, while 57 percent are on Gingerbread (which is now older than Froyo was last winter). Over 18 percent of active users are on something older than the nearly two year old Gingerbread.
Google promised to improve the software release fragmentation on Android, but these numbers do not indicate progress but rather some pretty significant regression. Additionally, Google's clearly articulated commitment to delivering 18 months of updates for new phones has been ignored by its licensees, few of whom have released any major software updates for phone models that are just a year old.
Microsoft's Windows Phone 7 similarly abandoned all support for existing Windows Mobile 6 devices a year ago with the release of the all new Windows Phone 7, and this winter's Windows Phone 8 will do the same thing to existing WP7 owners. Nokia's Symbian, RIM's BlackBerry OS and HP's Palm webOS have also rarely offered any significant software updates for their existing owners, particularly for phones more than a few months old.
Apple's easier task of supporting existing hardware
Why is Apple making a free update for a more than three year old phone? For one reason, it's easier for the company to backwardly support its installed base because there were only three major models of iPhone released over the last three years, and only a couple hardware variants for specific carriers.
Apple also intentionally made supporting the iPhone 3GS easier by giving it a forward thinking design. It was fast enough, had enough RAM and was build with the experience of two previous iPhone generations.
Other smartphone hardware makers often focus on the low end with devices, commonly lacking enough RAM to support even a single new major update. Other mobile platforms also support lots of different sub-models from a variety of competing vendors, with many specific to a particular carrier. And the mix of models from a single hardware maker, such as Samsung, LG or HTC, often changes several times within a year.
All these hardware designs are also typically designed independently from the software platform. That's why Google's new partner Intel just released a new smartphone (RAZRi) saddled with Android 4.0 ICS, which is already a year old, despite having based the "new" model on an existing design, and having coordinated with Google's own Motorola subsidiary to bring it to market.
Similarly, Nokia's latest announcement of its new WP8 Lumia lineup was hamstrung by delays related to Microsoft's new software release. A year ago, Nokia experienced similar coordination problems with Microsoft after attempting to launch a simplified version of its N9 configured to run WP7 instead of Meego Linux.
Certainly Apple would also have a tough time of supporting iOS on previous devices if it had to manage backward support for a wide range of licensees and their broad product offerings. The unsuccessful history of Mac OS licensing bears that out.
Apple has greater reason to supporting existing hardware
A second major reason why Apple extended support for iOS back to the iPhone 3GS is that there are a lot of iPhone 3GS users, and Apple wants them on the latest iOS release to give its App Store developers the largest installed base possible for its new OS.
In addition to awarding users with a software update that gives them new bells and whistles and typically faster Safari performance, Apple's backward support in iOS enables developers to target the latest release, knowing that will allow them to reach nearly the entire installed base out there.
It also helps to inspire confidence in developers considering whether to support new APIs and features such as Passbook or third party routing in the new Maps. If only the newest models (or only future models) were ever going to get iOS 6, a large number of developers would simply wait around for the new release to gain enough popularity before targeting it.
That fragmentation is a big problem for Android, where according to Google's own figures, 75 percent of smartphone users and the vast majority of tablets are running a version of Android 2.x that is now two years old. Why would developers target the new Android 4.1 Jelly Bean for custom development when just 1.2 of active users visiting the Google Play store have it installed?
Conversely, when developers have to reach backward to older OS platform releases, they not only can't use new features, but also must test against old versions of OS code with known bugs and limitations. Google faces that problem with its own Android Maps app. It simply can't target only the latest Android 4.1 release without losing 75 percent of the installed base of Android users. So it must track development of its Maps to old versions of Android.
In contrast, Apple's new iOS 6 Maps only works on iOS 6, so it can take full advantage of new features in iOS 6 and not worry about old issues that were fixed in the new release. That not only streamlines the company's software development, but allows Apple to recommend that third party developers aggressively target route integration support for iOS 6 Maps as well.
Apple's control over the whole widget also means that it can shift how the OS works across the board without creating too many problems. Two examples in iOS 6: the addition of new Advertiser ID policy in replacing UUIDs (giving users the ability to opt out of ad network tracking), and the third party rollout of the new Maps (all third party apps on iOS 6 now automatically use Apple's maps servers, and they don't need to update their apps to do so. There is one notable exception to this: Apple's own iPhoto continues to use a nonstandard map for geotagging that is neither Apple's new service nor Google's, an oddity apparently related to the offset release schedule between iPhoto and iOS 6).
Pushing ahead strategic platform goals with generous backward device support is not new to iOS 6. Last year, Apple pushed out broad support for features including Game Center, Notification Center, iCloud and AirPlay, helping to ensure that a critical mass of users were able to take advantage of the new features. These examples illustrate how Apple's efforts to support older devices gives it more power to actively shape future development on its platform.