You've heard the rumors. iOS 7 is coming.
The initial reactions to the bold new look from Apple were predictable. There were criticisms and, of course, defenses. I chimed in with some positive thoughts during WWDC.
By now, though, nearly everyone has embraced the inevitable. And many developers have had hands-on time with iOS 7, so the initial reaction to mere screenshots has been tempered by actual use.
So, with release imminent, it's time to offer some suggestions to app developers awaiting iOS 7. But first, a quick debate is in order:
Should i update my app for ios 7?
Point: Apple carefully sets the stage for what is coming next. They introduced auto-layout, then the larger screen. When they double down on a technology, you can bet there's good reason to pay attention. What if you simply made sure your app isn’t broken on iOS 7? You could get away with it—for about a year. Come iOS 8 though, Apple is going to build on things they introduced this year, leaving you with two years' of advances to catch up on. And if you don’t update, you might be ceding the market to your hungrier competitors.
Counterpoint: It is challenging to build a business solely on apps. Your business case might not support updating existing apps for Apple's latest software, and starting a new app may offer more opportunity. Your competitors are weighing the same tradeoffs, and your customers mainly care about something that solves their problems. Customers might not care if you're late to the party, as long as your software keeps doing what they need.
How do I prepare for ios 7?
If you decide against iOS 7 support, I suppose your work is done. But that's boring, so let's assume you decide to support Apple’s latest release. What should you do for existing apps?
Figure out where your app stands. If you haven’t identified what issues your app will have in the upcoming release, you are already way behind. Get a device with the beta version of iOS 7 and start using it daily so you can get a feel for the new platform and find out where your app doesn't fit in. Here's a hint: Look at the colors of both text and standard navigation controls. Check any popup dialogs or overlays. Look carefully at your table views, including around the edges.
Get your app compatible with Apple's upcoming software. You can’t ship until Apple does, but you won’t have much time when they announce the release. You should be working on a compatible build shortly, if you aren't doing so already. In fact, we’re doing this for our own products over the next two weeks. I have good news: Simple compatibility shouldn’t require too much work on your part.
Identify if there are any big wins for your app from the new APIs and features. What counts as a win for your app? It's a bit hard to explain, but it could be something that would make a compelling use case. A beautiful, elegant, innovative solution to a real problem. Something novel but familiar. Something that Apple might want to feature, and that your customers might delight in.This is where you decide how much you really want to invest in iOS 7. (Sidenote: I can’t wait until we can tell you about some of the great new tools and APIs!)
Understand that there will be some glitches along the way. Example: I’m not convinced that removing all indication of tappable regions (i.e., button edges) is best for users, but it may just demand more of us as developers. We may need to spend less time getting assets from our designers, and more time working with our designers to make sure that every element responds as the user expects it to. We may need to get more comfortable with animations and 3D transformations. We may need to push past our comfort levels and explore brave new ideas.
So get ready. It'll be fun.