Day: 18 June 2020

I cannot stop thinking about this Hey app situation.

It blows my mind that, with just a week to go until one of the year’s most important developer conferences, Apple decided on Monday to pick a fight with a high-profile developer. Discussions about Apple this week have not centred around the excitement of what might come in the next versions of iOS or MacOS, but about how developers have been treated by App Store policies and reviewers. The PR catastrophe is, of course, nothing on the actual impact these policies have on developers’ livelihoods, but it is still hard to believe that Apple is fighting this one out. Why not simply approve Hey’s bug fix update and deal with this in a couple of weeks?

But, hey, here we are.

First, it should be pointed out that there are several apps which seem to violate this policy. Fastmail is an email app that does not offer in-app purchases. At first launch, it displays only a login form and a link to the company’s documentation on its website. Registration and payment links are just a couple of taps away. Some apps get raked over the coals for this; there’s no reason for that, and I hope Fastmail doesn’t suffer the wrath of the App Review team.

(Update: Fastmail on Twitter: “Apple asked us recently to add IAP. We agreed to add it, and it was already on our longer term roadmap. We have always believed in meeting our users where they want to be, and more and more people are going mobile-only. It’s expected in our next major release.”)

You can find dozens of similar examples if you start poking around. It sure seems like a lot of apps have been approved by mistake. If App Review can’t understand the rules about when it is okay to only show a login screen upon launch, how are developers supposed to know? Inconsistencies reflect human nature but so, too, should Apple’s responses to such inconsistencies.

Second, I want to briefly touch on this “Reader” app exemption in the App Store guidelines:

3.1.3(a) “Reader” Apps: Apps may allow a user to access previously purchased content or content subscriptions (specifically: magazines, newspapers, books, audio, music, video, access to professional databases, VoIP, cloud storage, and approved services such as classroom management apps), provided that you agree not to directly or indirectly target iOS users to use a purchasing method other than in-app purchase, and your general communications about other purchasing methods are not designed to discourage use of in-app purchase.

Those specific categories of apps sure seem to overlap with Apple’s own services — News Plus, Apple Books, Apple Music, Apple TV Plus, and iCloud Drive. If it was a requirement for competitors to use Apple’s in-app purchases API, I imagine the antitrust case would write itself.

Suppose this clause was not inserted as a preemptive response to antitrust complaints; suppose that it’s there because the user experience is better if apps are allowed to present a simple login form. Why should that apply only to Netflix and Dropbox but not Hey?

Finally, I cannot stop thinking about the final paragraph of the email Apple sent to Basecamp. Nick Statt, the Verge:

The final paragraph of Apple’s letter acknowledges that Basecamp has offered enterprise apps in the App Store, another obvious exemption to the current App Store rules barring Hey’s iOS app, that do not offer in-app purchases or sign-up options. Apple says it’s done so without taking any money in a way that sounds ominously like it’s demanding gratitude for a free ride. But critically, it seems Apple is distinguishing Hey as a consumer email app that does not seem to fit the criteria for an in-app purchase exemption, despite evidence of other apps — including similar email providers like Newton — that have done the same in the past.

It’s not just about this one app. I don’t even like the sound of Hey, and I find the Basecamp guys to be rather unlikeable on Twitter. None of that matters, though. Apple’s email is an extraordinarily condescending series of statements that seems to emphasize that third-party developers are allowed to develop for Apple’s products through the grace and generosity of the company. But how many people would buy an iPhone if there were no ecosystem of third-party apps, or if free apps were not allowed? The App Store’s policies have incentivized business models that do not require customers to pay money for downloading apps. How many Macs has Apple sold because that’s the only platform supported by the company’s developer tools?

This is the kind of thing a company writes because it can — because anyone who wishes to have an audience for their product or service on about half of Americans’ smartphones has no choice but to tolerate whatever inconsistent hell they are put through.

It is now three days until WWDC 2020 will begin. As Becky Hansmeyer wrote, “I bet the execs are glad they won’t have to look into 6,000 developers’ eyes” after writing that email. There was simply no reason to include such a bitter and arrogant passage, and it’s still hard to believe that Apple provided a copy of that email to several news organizations as their public defence.

Apple shared an email sent to Basecamp with a number of news outlets, including TechCrunch and NBC News. It reads, in part:

Apps that operate services across multiple platforms may allow users to access content, subscriptions, or features they have acquired in your app on other platforms or on your website, provided those items are also available as in-app purchases within the app. In fact, the app does not function as an email app or for any purpose until the user goes to the Basecamp Hey Email website to start a free trial or purchase a separate license to use the app for its intended purpose.

[…]

If you would prefer not to offer the users the option of in-app purchases, you could consider having the app function as marketed — an email client that works with standard IMAP and POP email accounts, where customers can optionally configure the Hey Email service as their preferred email service provider. This would allow the app to function as an email client without requiring an additional payment to use its features and functionality. Under this approach, what you sell on your website is clearly an email service separate from the function of your app as distributed on the App Store.

Matthew Panzarino of TechCrunch interviewed Phil Schiller about the company’s stance:

“You download the app and it doesn’t work, that’s not what we want on the store,” says Schiller. This, he says, is why Apple requires in-app purchases to offer the same purchasing functionality as they would have elsewhere.

To be clear, this is against the App Store rules for most apps. The exceptions here are apps that are viewed as ‘readers’ that only display external content of certain types like music, books and movies — and apps that only offer bulk pricing options that are paid for by institutions or corporations rather than the end user.

Schiller is clear on our call that Hey does not fit these rules.

The reason I emphasized how Hey works at the top of my piece from earlier this week is because it isn’t an email client, it’s a Hey service client — and Apple sees those as wildly different categories. The Gmail app, for example, allows you to sign in with any IMAP account, which stops it from falling afoul of the “reader” app restrictions.

Zendesk is another product built on email standards that doesn’t do anything unless you sign in — there is no way to register within the app. But it’s allowed in the App Store either because it has bulk pricing options or because it offers access to a professional database. It’s also not marketed as an “email client”.

John Siracusa (more on Accidental Tech Podcast):

Wow, this is extremely flimsy. Who is Apple protecting with this stance? The poor iOS user who might download the *free* Hey app and be shocked to learn that it doesn’t function without an account?

…or maybe it’s about that 30% cut of in-app purchases? Yep, a real stumper.

Maybe someone really will stumble across the Hey app, and maybe they will download it expecting to be able to use it immediately only to be shown a bare login page and no way to sign up from within the app. And maybe that will suck for them and they will delete the app. Maybe many other apps will become more client apps with fewer ways of registering for them, too.

But the App Store is worse without the Hey app for those who use Hey. I can’t imagine tacking a standard IMAP client onto the app, as Apple suggests, would improve it. That leaves adding in-app purchases and foregoing 30% of revenue from users who registered within the app, or advising Hey users to switch to Android. But is that better for users? I can’t imagine so.

There is, I suppose, some logic to Apple’s rejection on the basis of its current rules, but I agree with Panzarino:

I think that, for me, it boils down to some simple observations. The fact is that Hey violates app store rules. Which means that the question is not ‘how can we contort those rules or squint enough to justify it’ but instead ‘should those be the rules’?

In his interview, Schiller indicates that there are no imminent changes to the App Store rules nor any changes the company is considering making. The case of Hey has made it clear to me that Apple ought to further clarify its rules. Hey falls precisely between the cracks of several app types that are allowed, but it’s hard to see that until the developer tries to submit the finished product to the store.

Also of note is the way Apple closes its email to Basecamp:

Thank you for being an iOS app developer. We understand that Basecamp has developed a number of apps and many subsequent versions for the App Store for many years, and that the App Store has distributed millions of these apps to iOS users. These apps do not offer in-app purchase — and, consequently, have not contributed any revenue to the App Store over the last eight years. We are happy to continue to support you in your app business and offer you the solutions to provide your services for free — so long as you follow and respect the same App Store Review Guidelines and terms that all developers must follow.

I don’t know if it’s just me, but this reads as wildly passive aggressive — the kind of thing someone only writes if they know that they have all of the power and isn’t worried about the moral high ground.

Jelani Cobb, the New Yorker:

The American Spring has not toppled a power, but it has led to a reassessment of the relationship between that power and the citizens from whom it is derived. It has resolved any remaining questions regarding Donald Trump’s utter ineptitude as President; it has laid bare the contradictory and partial democracy that the United States holds before the world as exemplary. Most significant, it has clarified our terms. Floyd’s life is the awful price we have paid for a momentarily common tongue, a language that precisely conveys what we are speaking of when we say “American.” Fourteen successive days of protest opened the possibility that George Floyd died in America, not simply in its black corollary. The task that remains is to insure that more of us might actually live there.

I don’t mean to undermine the way Cobb frames this as specifically American, but it is also heartening to see how its intentions and message have spread across the world. Brits are throwing statues of enslavers into the sea; Canadians are coming to terms with our own history of racism.