Dropping support for iPhone OS 3.x

Given our strong focus on iOS, and also to be sure to be economically competitive, we are continuously watching the market to know which OS version is used by the many potential users of the apps we make.

Today, we announce that we officially drop support for iPhone OS 3.x in all of our future projects. We are not going to accept any more projects with the requirement of compatibility with 3.x or previous versions of iOS (formerly known as iPhone OS), for any device.

There are several reasons to justify this policy:

  • There have been many fundamental, non-backwards compatible API changes between iPhone OS 3 and iOS 4, for example the introduction of Objective-C blocks and Grand Central Dispatch, changes in the MediaPlayer framework, in Core Animation, in Core Text, etc.
  • Apple has already marked as deprecated or “non-recommended” many APIs throughout the frameworks. These will most probably not be supported in future versions of iOS 5.
  • Keeping backwards compatibility, given the changes enumerated above, would imply writing, testing, supporting and maintaining a relatively larger code base taking this fact into account.
  • Finally, it also implies keeping older devices in order to test applications in them, which leads to harder and costlier management. We need those devices for testing upcoming applications in beta versions of iOS 5!

Furthermore, many statistics show that the proportion of iOS devices still running iPhone OS 3.x is quickly dropping below the 2% mark. That makes it not sustainable nor reasonable to support those devices. For example (click on the links below for the sources):

Keeping backwards compatibility in our applications to iPhone OS 3.x isn’t justified, then, neither economically nor technically. The rate of upgrade to new versions of iOS is surprisingly high and fast, compared to other mobile platforms.