All Developers Are Equal, but Some Developers Are More Equal Than Others

During a congressional hearing last summer, Tim Cook famously testified that “we treat every developer the same”. This six-word quote has been repeated and shared widely. But in the full exchange, he added a specific qualifier:

Rep. Hank Johnson The App Store is said to also discriminate between app developers with similar apps on the Apple platform, and also as to small app developers versus large app developers. So, Mr. Cook, does Apple not treat all app developers equally?

Tim Cook Sir, we treat every developer the same. We have open and transparent rules — it’s a rigorous process. Because we care so deeply about privacy and security and quality, we do look at every app before it goes on [the store]. But those […] rules apply evenly to everyone […]

The distinction between treating developers equally and applying the same written rules to all developers was again blurred yesterday, during questioning of App Store vice president Matt Fischer, as reported by the Verge’s Adi Robertson on Twitter:

Are the rules for developers different for different developers? “The App Store review guidelines apply equally to all developers,” Fischer says. Nobody gets a special “dispensation” or “special” deal.

“Do whitelisted developers get to do what other developers don’t get to do?” No, says Fischer.

Fischer says from time to time, it wants to test a feature with a small group before rolling it out to all developers.

Alright, let’s look at the things offered to some of those “whitelisted” developers that other developers can expect to see real soon.

Juli Clover, MacRumors:

In 2018, a tweet from developer David Barnard commented about App Store subscriptions being automatically cancelled through the StoreKit API, questioning why there hadn’t been more offers to swap billing away from the App Store .

Matt Fischer asked Cindy Lin about it, and she explained that Hulu is a developer with special access to a subscription cancel/refund API.

Hulu is part of the set of whitelisted developers with access to subscription cancel/refund API. Back in 2015 they were using this to support instant upgrade using a 2 family setup, before we had subscription upgrade/downgrade capabilities built in.

Apple does not further detail who other developers with special access might have been in the correspondence, but these are not features that all developers have access to.

These emails are three years old but surely, any day now, developers will be able to manage subscriptions on behalf of customers instead of telling them to figure out Apple’s subscription mechanisms on their own.

Chance Miller, 9to5Mac:

New internal emails and presentation documents revealed as part of the Epic vs. Apple show how Apple attempted to convince Netflix to continue using the App Store In-App Payments system. As Netflix was plotting its roadmap, Apple made a multitude of last-ditch efforts to win the company over.

[…]

After Netflix had started rolling out its test of removing IAP support, Apple crafted a detailed slide show presentation for the company in an apparent attempt to convince the company to keep supporting the payment method. The presentation was sent by Chapman in July of 2018 — five months before Netflix would ultimately drop IAP support.

At the time this presentation was made, Apple says that it was already featuring Netflix more often in its App Store “Today” stories than anyone else. Apparently, those stories reached an average of about half a million people each and produced a 2% conversion rate. It was also featuring Netflix in many of its direct marketing campaigns. Apple proposed further increasing its specific promotion of Netflix in more channels, including “dedicated emails promoting only the Netflix app”, in-store marketing, and paying for dedicated advertising. It is an astonishing level of commitment to one specific developer.

I imagine all developers will be relieved at the level of support they will receive when they consider removing in-app purchases from their apps.

Also of note, this presentation reveals that Netflix had access to the same subscription management APIs as Hulu and other “original [Apple TV] partners”. That suggests these APIs could date back as far as September 2010. Apple has simply been testing these APIs among a small group of developers for perhaps the last eleven years as it readies a wider rollout; there is no other way to interpret this situation.

Jeremy Provost (via Michael Tsai):

A few months back I was surprised to see that Zoom had somehow been able to tap into using the camera during iPad Split View multitasking. This is an obvious feature for a videoconferencing app so that you can keep one eye on your meeting while you consult notes, look at a presentation, or slack off on Twitter.

I scoured the web and found no reference to how to enable this feature for our own iOS Zoom client, Participant for Zoom. We asked Zoom and to our surprise they gave us the answer, and in the process revealed an apparently private process, available only to those deemed worthy by Apple.

Not only is this entitlement undocumented and — aside from references in Provost’s post and a handful of related links — unmentioned anywhere, Apple provides no official channel for requesting use of this entitlement. I am sure it will eventually get around to it.

These developers are not unique among big developers; there are plenty of other cases where popular apps get access to entitlements unavailable to anyone else. I am not surprised that Apple treats some developers differently than others. I do not think it is inherently wrong for Apple to try to win Netflix’s in-app purchase business with some promotional tie-ins, nor do I think it is unreasonable to briefly test features with trusted partners before rolling them out more widely. Apple grants advance access to hardware to specific developers to promote new capabilities during keynotes, so it makes sense to do that for software sometimes, too.

But if that is the case, Apple should just come out and say so. That Cook statement from last summer keeps getting brought up because it is so easily proved wrong. Apple does not treat all developers the same. Even if you carefully parse the statements from both Cook and Fischer and concede that all developers follow the same App Store Guidelines, Apple does not respond equally to rule violations.