We’ve decided to build the Bipsync Notes iOS app with iOS 8, which was released in September. The main factors in this choice are:
- We see the new Extensions functionality as being key to providing a compelling experience. Allowing our users to send content to Bipsync from potentially any other app on their device is an exciting prospect.
- We want the app to work well on the latest devices, the iPhones 6 and 6 Plus, and iOS 8 has some useful components to improve the UI experience there.
- By our estimate it’ll likely take a month or two to build the app, by which time Apple will likely have ironed out any major issues with the release, making it a less risky proposition.
Choosing an OS version to target is always a tough decision though, especially at this time of year when there’s so much hype around the latest release and its features. Sticking with last year’s release would have meant less for us to learn and potentially fewer platform bugs to contend with, which in all likelihood would get the app to market sooner. I’ve already spent hours reading blog posts, tutorials and sample code, and reviewing Apple’s WWDC videos, to acquaint myself with iOS 8 – and we’ve barely scratched the surface of the app, so we’re bound to find more things we need to learn about. Apple move faster than any other platform vendor I’ve encountered – some would argue they’re currently moving too fast, and it’s hard to disagree.
So far the biggest change I’ve run in to has been that to UISplitViewController, a user interface concept that prior to iOS 8 was only available to the iPad. With the advent of larger iPhones, Apple decided to make it compatible with the iPhone too, which makes sense as the component was initially conceived for the bigger screen of the iPad. This is really useful for developers because it means we don’t need two separate UI strategies in order to support every iOS device when wishing to use the split view paradigm on the iPad. I wrote about our use of UISplitViewController in more detail here, specifically regarding how we got it to work across all our targeted devices.