I’m : a programmer, writer, podcaster, geek, and coffee enthusiast.

“Superficial Changes”

Jared Sinclair’s iOS 7 Squandered a Year of Third-Party Development on Superficial Changes is interesting and worth reading, but I disagree with the premise:

It’s been almost a year since version 7.0 was announced, yet as a developer I feel like a year’s worth of work has brought about only superficial changes to the apps I work on and the apps I use.

All the big problems facing iOS in the summer of 2013 are still with us. Some have gotten even worse.

There are plenty of problems with the iOS app ecosystem, but most of them that Apple could reasonably control — and most of Jared’s specific complaints — are App Store-related, not OS-related.

The App Store team has a lot of work to do, and improving it must be a very low priority for Apple since it moves so minimally and glacially. It’s clear by their actions that Apple believes the App Store is mostly fine the way it is, which is sad, embarrassing, incorrect, and a huge strategic mistake.

But that has almost nothing to do with the OS or iOS 7’s redesign, and it’s simply incorrect to state that iOS 7’s changes were “mostly visual”. Jog your memory and it’s pretty clear: TextKit and UIKeyCommand enabled entirely new app capabilities and categories; Multipeer, Game Controller, and JavaScriptCore have tons of potential for interesting uses; asset catalogs, SpriteKit, and Dynamic Text are very useful; and background refresh, content-available push notifications, and long-running background transfers being available to all apps is a total game-changer for anything that benefits from periodic updates, which is almost every app that most people use frequently. Oh yeah, and they also transitioned the entire OS to 64-bit with no significant issues.

That’s just the big stuff. 7 also added tons of smaller improvements to the API and tools that I benefit from almost every day that I spend coding for iOS. The idea that most of iOS 7’s benefits to developers were visual is completely, inarguably, not-even-close wrong.

And I’d say the visual stuff was pretty great, too — and very necessary, given how spoiled and petulant Apple’s fans and the media were last spring about a lack of “innovation” in iOS. Remember?

Moving onto Jared’s second point:

The visual overhaul obligated third-party devs to follow suit. It reset all of their product pipelines, setting them back months or years. Developers, being the hard-working and clever folks that they are, made the best of the crisis. Lots of fresh ideas were shipped since last fall. But the bulk of the apps released over the last year are only superficially different from the apps they replaced.

Jared and I must be using different apps, because I’ve seen an incredible year with massive progress.

Many older apps have been refreshed or redesigned, usually with great results. Newcomers have been able to establish footholds in previously stagnant markets, as I predicted in Fertile Ground. And iOS 7’s dramatic “new”-ness has given a huge advantage to developers with limited design resources: it made stock UIKit look fresh and good again. It still does: I’m using a lot of stock UIKit in Overcast, it looks great, and I’m the only full-time designer — and I’m not even a designer.

Some app developers chose to spend all of the last 11 months — we haven’t known about iOS 7’s redesign for a year yet — redesigning and rewriting their apps, but nobody was forcing them to do that much. Most developers took a few months over the summer and fall to adapt, and then got back to “normal” development shortly after iOS 7 shipped.

But that’s the same pattern that happens every summer, with every iOS release. Apple always adds new capabilities, APIs, and design paradigms that customers expect well-maintained apps to adopt promptly. And every summer and fall, developers spend time adopting to the latest iOS release, almost always for a net benefit to their apps: they can do something big that they previously couldn’t, they could delete a bunch of code, or they could dramatically improve an important feature.

iOS 7 only “set you back months or years” if you haven’t been paying attention to the iOS development cycle and decided to take on far too much unnecessary additional work with the migration to 7, both of which would cause problems in any year, on any app, with any new OS release.