4

I'm new to apple's development scene and have been working on an app for the mass that has about 30 different view controllers. After doing my crash course on Obj-C and iOS development, I've decided to learn from the newest down, that is, iOS 5 API features downwards. I've realized that I've compromised my work so far by choosing to organize my screens with Storyboard. Segues are very handy, and linking the different buttons "on the fly" give me a pretty good overview of this already complex app.

I could go ahead and convert all the view controllers to single nib files and do all the navigation controlling stuff programatically. I pretend to reach as fas as many users as possible, so my question is: Is it a mistake to leave it like this and support iOS 5.x and beyond only? What would you do?

Thanks in advance, this website is absolutely amazing for clearing out questions. Congrats on y'all!

EDIT: My favorite part of Jori's tip on Matt Gemmell post on this subject:

There’s another thing about people who are already on the latest version too: they’re a growing market. The guys stuck behind on older versions are a shrinking market, because over time more and more people update (or get a new device that ships with the latest version pre-installed). Spending more time and energy to support an ever-shrinking market is lunacy.

I'm sticking with supporting iOS 5.x and beyond only.

tshepang
  • 12,111
  • 21
  • 91
  • 136
  • Of course, it's a mistake. More than half of all iPhones of the world are iOS < 5.0. I would stick with the programmatic way and try to support iOS > 3.0. Oddly, even `Angry Birds` does not support iOS.3.0 :O – tipycalFlow Feb 01 '12 at 11:16

4 Answers4

7

For new projects, require whatever the then-latest iOS major release is. You will be stuck supporting it for a while, so don't make your life harder than necessary by having to support an OS that was obsolete at launch time. And while there are still some iOS 4 users out there, the number will rapidly dwindle (perhaps even by the time you launch).

A plausible (but admittedly not rigorously investigated) argument I have heard is that if someone is unwilling to do a free upgrade of iOS, or is uninterested in upgrading hardware that is so old it can't run the latest release, what are the odds they are going to spend money on your app?

Conrad Shultz
  • 8,748
  • 2
  • 31
  • 33
  • That is a pretty convincing argument for me. I perfectly agree with you, I'm launching by end Feb, perhaps then iOS 5.1 has been released and iOS 4.x users will feel a little more outdated. Thanks Conrad! – Marcel Schmitz Feb 01 '12 at 11:28
4

My rule of thumb is to support the latest two OS versions - currently, that means iOS 5.x and iOS 4.x. This guarantees a very good coverage - anyone still on iOS 3.x either has a very old device (which wouldn't give the best user experience) or probably doesn't know what the app store is anyway.

In the case of storyboards, it does make it hard. I recently heard a stat that 70% of users have upgraded to iOS 5.x (don't quote me on that though) - but if this is the case, you're leaving 30% of potential users in the dark.

Tough call, I don't think there's any right or wrong answer - there's pros and cons to both. If it was me, I'd support iOS 4. But it's your call :)

Jordan Smith
  • 10,310
  • 7
  • 68
  • 114
  • Thanks Jordan, I've come to understand it is a hard choice, hence my question. I think I'll agree with Conrad and Joris opinion. Since I'm new to this scene, I cannot expect to launch an app and ignore the most recent technology to develop it. Keep it simple, is also my lead line. I'd just like to measure how much it'd cost me. :) – Marcel Schmitz Feb 01 '12 at 11:54
2

Matt Gemmell recently wrote about supporting the latest version. An interesting read. Includes both arguments for and against, and some answers to commons responses on twitter.

In my opinion a cleaner code base and a user base that upgrades its device often weighs up against supporting every possible user. So yes, launch for the latest platform available and support every app release for as long as reasonable.

zoul
  • 102,279
  • 44
  • 260
  • 354
Joris Kluivers
  • 11,894
  • 2
  • 48
  • 47
  • I'll do the reading, thanks Joris. That's a great point of view, to maintain a cleaner code base, have the most uncomplicated view of my code, simplify tasks and still be able to support a large number of users. The question is: is this large number the majority? – Marcel Schmitz Feb 01 '12 at 11:49
1

If you want to support as many users as possible, you have answered your own question. The iOS 5 penetration is good, but depending on the target group you still have tens of percent of the users staying on iOS 4. And many older devices (like the second-generation iPod Touch) won’t ever have iOS 5, so the number of devices staying with iOS 4 is going to stay interesting for some time. (Again, depends on your target group.)

zoul
  • 102,279
  • 44
  • 260
  • 354
  • When I say that I want to support as much users as possible, I mean within the presumable amount of work rewriting code. My target is not definitely second-generation iPod Touch users or iPhone 3G users, but than again, how many of the other users that could have iOS5 have iOS five? – Marcel Schmitz Feb 01 '12 at 11:47