Edited from an email sent to all clients 6/10/2009
New iPhone OS 4.0
Now iOS-4 is out. The business considerations are similar to those when iPhone OS 3 came out (see earlier entries, below.) In addition, consider the following:
- iOS-4 is free to all users
- iPhone OS 3 was free for phones, but cost $10 for iPod-touch users, who outnumber phones by quite a bit.
- iOS-4 is iPhone and iPod-touch, but not out for iPad as of late August, 2010.
- iOS-4 works great on the new 4G phone, but some people report performance problems on the older 3G phones. For this reason, many may not upgrade, even though it's free.
New iPhone OS 3.0
iPhone-OS 3.0 became available to the general public on June 17, 2009.
Some of you have already decided to ship your app as "requires 3.0." Others of you have apps that can run on every iPhone OS back to 2.0. Over the coming weeks, you should gather marking information and make a business decision about when, if ever, you want to bump your project(s) up to "Requires iPhone-OS 3.0." There is no hurry to do this, however it is a business decision that should eventually be made consciously, rather than by default.
NOTE: Apple requires that all apps submitted MUST be tested to run correctly on
3.0 4.0, even if they only require an earlier OS version to run. When I test preview versions of your apps before sending them to you, I run it past both 2.x and 3.0 versions of the OS.
An additional iPhone + cellular contract for testing new OS-s can be a big expense for small businesses, I typically recommend that people get an iPod-Touch, which is virtually identical to the iPhone, save the missing cell-phone and camera hardware. They're $229 (less if you get factory refurbished or used), with no ongoing contract. The decision whether or not you need a new iPhone-3GS is up to you; I can't think of anything in any current projects that should behave differently on it, except that network activity might be faster.
If you get an additional device, be sure to add its UDID to your ad-hoc distribution profile, then send the new profile. The old one becomes invalid when you create a new one.
Pros & Cons
Some benefits of requiring OS 3.0:
- Newer OS fixes many bugs in OS 2.x.
- Newer OS features additional functionality. Some items (i.e., mapping) could be done in 2.x with add-ons, but 3.0 simplifies and standardizes the code, simplifying development and reducing cost.
- Using the "current generation" SDK and development tools makes for more easily maintained code, reducing development costs. (As support for older and older OSs is kept, it becomes increasingly difficult to maintain the legacy systems. This is not a big deal today, but the challenge grows, over time.)
Some drawbacks to requiring OS 3.0:
- New tools, new development environment require additional development time to "switch over." This is small, but non-zero.
- Some people are slow to upgrade, and so you lose potential market. In my opinion, this is the biggest argument in favor of continuing support for 2.x.
- This article shows the user-breakdown for one advertising provider a few days after iPhone-OS 3.0 was announced.
Make a decision
Again, I cannot tell you which is best for your business -- it's YOUR business! But I am happy to answer questions to the best of my ability; feel free to send any you have my way.
 When OS 2.2 came out, it was several weeks before 80% of users (according to one analytics source) were upgraded. It was then several months until 95% of users were on 2.2. Even now, there are still people running the original 2.0 version of the OS. While their numbers are small, they are out there, and are potential customers.
NOTE: the new iPhone 3G-S ships with 3.0, so 100% of those people will be on the new OS.
A colleague provides other anecdotal data points:
- iPod Touch users have to pay for the upgrade to 3.0; as a result of having to pay, they were significantly behind the iPhone curve on the 1.x->2.x adoptions, and may be again.
- Many (but by no means all*) of the people running older-than-latest-v2 firmware are jailbroken devices, because of the extra hassle of upgrading a jailbroken device. Some of these are unlocked, and will be a while before they go to v3 either; some are pirates, and aren't so much your target audience; some are just hackers.
- An exec at one company couldn't install our requires-2.2.0 app, and didn't understand why; on inspection, it turns out he'd been hitting the 'remind me later' button in iTunes on every sync since, oh, about October, and was still on 2.1. He's probably not the only person who doesn't realize he's not-yet-upgraded to latest.