Developers looking to build apps for Apple’s just-delivered iOS 7 mobile operating system must be mindful of nuances like screen design and should use new capabilities like expanded multitasking.
Apple had offered three-month beta program for iOS 7, and developers who participated in it say they like the maturity in the OS but note the significantly changed user interface. In particular, the “flatter” design puts content first rather than encouraging developers to make, for example, a calendar app that looks like an actual paper calendar, as was the case in previous versions.
Despite the many visual changes, the new interface recognizes that users already are familiar with iOS, so it works largely as before, which developers appreciate. “I like the fact that we’re finally getting away from this idea of having to train a user on how to use a smartphone,” says Khurram Khan, a senior software architect at Skava, which builds mobile websites for retailers.
The stark visual change also gives developers an opportunity to refresh their apps, using the new look and feel as the rationale, notes Michael Swindell, vice president at Embarcadero Technologies, a mobile development tools vendor. Applications not specifically designed for iOS 7 but running on it anyway — meaning most existing apps — “just feel out of place,” says Brandon Satrom, program management lead for software development tools vendor Telerik.
Ravi Bhatt, CEO of software developer Branchfire, says developers still need to recognize that, for the moment anyhow, there’s a heterogeneous base of some users running iOS 7 and others running iOS 6. Apple users tend to upgrade quickly, so the proportion of devices running iOS 6 or earlier should quickly become small in a few months, based on previous user upgrade rates. And in a first for Apple, users will be able to install pre-iOS 7 versions of their apps if their devices can’t run iOS 7. Still, “the biggest thing [developers] need to worry about is making sure their apps are targeted for iOS 7,” Bhatt advises. “iOS 7 is an opportunity to make pretty cool transformative changes.”
Beyond the look and feel, iOS 7 features new APIs for expanded multitasking. Previously, Apple only allowed a small set of services to run in the background, such as audio playback and alerts; applications otherwise self-suspended when users switched to other apps. In iOS 7, developers can multitask virtually any type of operation, even when the app is not onscreen. Developers “just need to learn Apple’s set of rules for doing this,” says Embarcadero’s Swindell.
Not everyone is sold on everything Apple did with iOS 7, though. “Some of the changes that Apple made removed too much contrast from certain screens,” says Telerik’s Satrom.
Skava’s Khan said he would like to see Apple’s fast Nitro JavaScript engine available for apps’ Web view mode; as in previous iOS versions, it is limited to Safari, so apps that use the WebKit engine instead get slower performance. But Khan loves the new Safari, which provides more screen real estate: The whole screen “is reserved for my site’s design,” he notes.
The worst thing an iOS developer could do is “to just treat it like eye candy,” says Branchfire’s Bhatt. Both iOS and the Mac’s OS X will eventually feel the same, he points out. “That’s the direction we’re headed. You can see it.” Developers should be thinking that way as they evolve their apps.