This article originally appeared in TidBITS on 2014-12-15 at 3:01 p.m.
The permanent URL for this article is:
Include images: Off

iOS 8 App Development Becomes a “Bring Me a Rock” Game

by Adam C. Engst

The drumbeat to support an independent app developer in the face of heavy-handed Apple rejections has become a familiar refrain. It can be effective in specific situations, but is Apple exploiting the media to avoid setting down explicit rules? And what effect does this behavior have on the developer community? (Can you say “chilling effect?” I thought you could.)

Early last week, Apple told Transmit iOS [1] developer Panic that the app could no longer send documents created by other apps to iCloud Drive, which forced Panic to remove the Send To feature entirely, since there was no way to remove just the iCloud Drive option (see “Apple Hobbles Transmit iOS [2],” 8 December 2014).

After numerous other articles criticizing this move, Apple reversed course and allowed Panic to release Transmit iOS 1.1.2 with its Send To functionality restored. Panic’s Cabel Sasser wrote:

After a considerate conversation with Apple, Transmit iOS 1.1.2 has been released with restored “Send To” functionality.

While the process feels less-than-perfect, this resolution is a nice reminder that, just as we thought, there are good people at Apple who will push hard to do the right thing. We hope you enjoy Transmit iOS 1.1.2.

Almost exactly the same thing happened in late October with James Thomson’s PCalc [3], which put a calculator widget in Notification Center’s Today view. Apple demanded the widget’s removal, then changed its mind after a firestorm of media criticism (see “Apple Demands Removal of PCalc’s Today View Widget [4],” 29 October 2014).

Other apps haven’t been so lucky. Neato, which puts a note-taking widget in Notification Center, has been threatened with removal [5] unless the developer takes out the keyboard, which would render it useless (see “Neato Adds Note Taking to iOS 8’s Notification Center [6],” 12 November 2014). The developer of another note-taking app, Drafts [7], was also told to remove the app’s widget [8]. And Launcher, which employed a widget for quick launching of apps, was removed from the App Store [9] because the developer wasn’t willing to take the widget away from his existing users. We won’t be surprised if Overglide, the flying game widget, meets the same fate (see “FunBITS: Overglide Pushes the Limits of iOS 8 Widgets [10],” 21 November 2014). Then there’s CalcKeys, a custom keyboard extension that provides a numeric keypad to perform simple calculations and insert the results (or the entire calculation). Developer Adrian Baerlocher of Tidal Pool Software [11] told us it was rejected first for being a non-alphabetic keyboard and subsequently for performing calculations — the same reason PCalc’s Notification Center widget was initially rejected. Neither of these reasons are in the published guidelines.

The common thread that ties these disparate apps together is that all are trying to take advantage of iOS 8’s new Extensibility features. Those include custom keyboards, Notification Center widgets, custom Share actions and extensions, photo and video editing extensions, and document provider extensions — iMore has a comprehensive explanation of Extensibility [12].

The problem is that Apple has not published clear guidelines about what is acceptable. None of these rejections are, as far as I can tell, related to security concerns. Each Extensibility feature is provided by a specific API, so at least in theory, providing a capability that is supported by the API should not pose a threat to user data, and in fact, developer reports about Apple’s rejections have never mentioned security issues.

Instead, Apple is in essence telling developers, “Bring me a rock.” When the developer returns with an app that seems to meet the published guidelines and Apple rejects it, the company is saying, “No, not that rock. Bring me a different rock.” Repeat the game until the developer gives up in frustration. This isn’t speculation — Launcher developer Greg Gardner wrote [13]:

If developers don’t have explicit guidelines to go on and we can’t even use apps available on the App Store as an indicator of what is acceptable, our only choice is to potentially waste huge amounts of time working on apps that ultimately get rejected in an attempt to find something that will get accepted. I pleaded with this person to make public whatever guidelines they make available for app reviewers to decide what is acceptable and what is not regarding widgets. The Apple representative responded by saying that they prefer that the rules remain vague because that allows developers to come up with innovative ideas and also allows Apple to be flexible in case they change their minds later. When pressed on the issue of their policies leading to wasted developer time, I was told, “If you are afraid something you are working on will be rejected, then don’t work on it.”

I believe Apple is seesawing between two conflicting desires. On the one hand, the entire point of iOS 8’s Extensibility features is to allow developers to extend iOS in interesting, useful, and perhaps even innovative directions. Apple’s technical teams are likely in this camp, creating technologies and encouraging developers to use them. But giving developers leeway to do whatever they want (even with the significant constraints of what iOS 8 and the known App Store rules allow) runs smack into Apple’s legendary need for control over the look, feel, and overall user experience, which probably comes from a high-level marketing team.

Worse, not only is Apple’s lack of explicit guidelines surrounding iOS 8’s Extensibility features forcing developers to play “Bring me a rock,” the company is using negative media coverage for the same reason a Mafia don might order a hit: to send a message. Some part of the company decides it doesn’t want note-taking widgets in Notification Center, but rather than set that down in published guidelines, Apple rejects the app, knowing that it will engender negative coverage, which will warn off other developers who might be considering bringing Apple a note-taking widget rock. This also isn’t speculation. Here’s Launcher developer Greg Gardner again, relating his conversation with Apple about why Launcher was removed:

I also asked specifically why Launcher was removed from the App Store after 9 days when other similar apps are still available weeks later. The answer to this question was the most interesting and informative response I had ever heard from them. They basically said that Launcher was a trailblazer in uncharted territories and that they felt that they needed to make an example of it in order to get the word out to developers that its functionality is not acceptable without them having to publish new specific guidelines. And they said that the fact that they aren’t seeing hundreds of similar apps submitted every day is proof to them that taking down Launcher was successful in this regard.

So let’s take score. Apple gets bad press and loses developer loyalty, though the company presumably prefers that to setting and following explicit guidelines. Developers waste vast amounts of time and money trying to please Apple. Users lose because useful apps are rejected, removed from the App Store, or never developed in the first place. In fact, the only player who wins is the media, which gets to publish story after story about how big bad Apple is grinding small developers underfoot.

But you know what? I don’t like publishing such stories. Call me old-fashioned, call me naive, or call me a Pollyanna, but I want iOS to be a platform upon which developers can write software that will astonish me and give me capabilities I could never have imagined. Instead, Apple has constructed a tightly controlled system where survival requires pleasing a capricious boss and gaming a system of artificial rules and regulations. As much as I appreciate Apple’s hardware and software achievements, I strongly disagree with the company’s policy management.

Perhaps I have this all wrong. Maybe we should be thanking Apple for the broader lesson. We’ve seen how the planned economies of some countries have suffered under state control, and many of us live in countries experiencing the tension between unfettered capitalism and excessive government regulation. With Apple, for the first time outside speculative fiction, we’re seeing an example of something completely different — what could happen were a corporation to gain complete control over an entire economic ecosystem.