Archive for September 11, 2020

Friday, September 11, 2020

In-App Purchase Rules

Marco Arment (tweet):

A summary of today’s changes to 3.1.3 Other Purchase Methods[…]


How about an alternative that’s clear, fair, reasonable, and consistently enforceable?

Apps can offer other payment mechanisms in their app, as long as terms are clear and customers aren’t misled, and may or may not choose to implement in-app purchase based on its merits.

In one stroke, antitrust and regulatory pressure disappear, developer relations are significantly repaired, and Apple can go back to spending its time, resources, PR, and political capital on making their products better and customers happier.


This guideline is surprisingly similar to laws in authoritarian countries: Start with unclear/blurry rules but don’t enforce it. When the timing is right, begin interpreting/enforcing them more strictly without others knowing. If everyone realizes and rebel, add small exceptions.


Update (2020-09-14): Marco Arment:

I love how my ridiculous post doesn’t even actually include every IAP exemption. There are so many that I forgot at least three major ones.

Ryan Jones:

Are you missing the professional database loophole?

Ryan Jones:

Oh and this one?

See also: Hacker News.

Big Sur’s Transparent Menu Bar

Tyler Hall:

Here, let’s go back to Jobs on stage at WWDC 2007. (I had third row seats that year.)

He justifies the translucent menu bar by saying that most users choose their own digital photo instead of the default wallpaper. The updated design adapts to that photo and, I assume, makes your desktop feel more immersive.

Regardless of the reasons for the change, Apple did eventually add a system preference to turn off the translucency. And at some point, even that preference went away in favor of an opaque bar again.

But it’s back in Big Sur.

I’ve been following along with screenshots and design critiques of the new OS since it was revealed. I really was (still am) excited to explore all of the UI nooks and crannies. But in less than a day of using it, I’ve lost track of how many times my eyes have had trouble settling on menu items because, well, I can’t see them.

So he made an app to make the menu bar opaque.

Tyler Hall:

Also, I don’t know why I keep harping on menus lately (other than them being a primary means of using macOS), but every time I see this I think “Huh, why are all those items disabled?” before I remember all over again they’ve just grayed out the shortcut keys.

Frank Reiff:

macOS 11 Big Sur does many things right and after a bit of getting used to, the visual style really grows on you. The transparent menu bar, however, is a bit of a legibility nightmare and something I could not live with. So I developed Boring Old Menu Bar to bring the “perfectly fine” macOS Catalina menu bar to macOS 11 Big Sur.


New Apple Store Guidelines for Outside Payments

Apple (Hacker News):

3.1.3(d): Person-to-Person Experiences: If your app enables the purchase of realtime person-to-person experiences between two individuals (for example tutoring students, medical consultations, real estate tours, or fitness training), you may use purchase methods other than in-app purchase to collect those payments. One-to-few and one-to-many realtime experiences must use in-app purchase.

I’m not sure what principle is operating there. You can tutor one child but not siblings? No medical consultations sitting in with an aging parent? A married couple can’t shop for a house or work out together?

3.1.3: Other Purchase Methods: The following apps may use purchase methods other than in-app purchase. Apps in this section cannot, either within the app or through communications sent to points of contact obtained from account registration within the app (like email or text), encourage users to use a purchasing method other than in-app purchase.

3.1.3(c): Enterprise Services: If your app is only sold directly by you to organizations or groups for their employees or students (for example professional databases and classroom management tools), you may use purchase methods in addition to in-app purchase to collect those payments. Consumer, single user, or family sales must use in-app purchase.


New Apple Store Guidelines for Reader Apps


3.1.3(a): Reader apps may offer account creation for free tiers, and account management functionality for existing customers.

I wonder whether Netflix will start offering a free tier.

3.1.3(f): Free Stand-alone Apps: Free apps acting as a stand-alone companion to a paid web based tool (eg. VOIP, Cloud Storage, Email Services, Web Hosting) do not need to use in-app purchase, provided there is no purchasing inside the app, or calls to action for purchase outside of the app.

I’m not sure whether this changes anything for apps like HEY, Fastmail, and WordPress, except to more explicitly allow them. They already don’t have to use IAP if they don’t sell anything within the app. And they’re already not allowed to mention or link to the world outside the app. Presumably, they will still be required to “work” if the user doesn’t already have an account.

Michael Love:

The old bit about ‘must not directly or indirectly target’ for discouraging IAP has been greatly pared back; now it only applies to communication within the app or ‘communications sent to points of contact obtained from account registration within the app.’

This is a most welcome change, since it means we can say whatever we like on our websites / newsletters (if you don’t tie those to accounts, which thankfully I don’t) / etc. (just have to be careful how we link to the website within the app, I guess)


New Apple Store Guidelines for Streaming Games

Apple (also: Federico Viticci, John Voorhees, Juli Clover):

3.1.2(a): Games offered in a streaming game service subscription must be downloaded directly from the App Store, must be designed to avoid duplicate payment by a subscriber, and should not disadvantage non-subscriber customers.

I’m not sure what that means. Are games not allowed to be subscriber-only? Are discounts forbidden for customers who purchased directly?

4.9: Streaming games Streaming games are permitted so long as they adhere to all guidelines — for example, each game update must be submitted for review, developers must provide appropriate metadata for search, games must use in-app purchase to unlock features or functionality, etc.


Of course, there is always the open Internet and web browser apps to reach all users outside of the App Store.

Ah, yes, the very sweet solution that Apple disadvantages.

4.9.1: Each streaming game must be submitted to the App Store as an individual app so that it has an App Store product page, appears in charts and search, has user ratings and review, can be managed with ScreenTime and other parental control apps, appears on the user’s device, etc.

4.9.2: Streaming game services may offer a catalog app on the App Store to help users sign up for the service and find the games on the App Store, provided that the app adheres to all guidelines, including offering users the option to pay for a subscription with in-app purchase and use Sign in with Apple. All the games included in the catalog app must link to an individual App Store product page.

Apple is trying to force a new paradigm into its old App Store model. It’s not a good sign when rules have so many special cases. Apps that offer curated catalogs of other apps are not allowed, except for streaming games. Multiple copies of the same shell app just showing different content are not allowed, except they are required for streaming games. With video and book apps, there can be innovation in managing that content within a single app, but not for streaming games.

2.3.1: Don’t include any hidden, dormant, or undocumented features in your app; your app’s functionality should be clear to end users and App Review.

Don’t be Epic.

2.3.1: All new features, functionality, and product changes must be described with specificity in the Notes for Review section of App Store Connect (generic descriptions will be rejected) and accessible for review.

Let’s see whether this is actually enforced.

Kyle Howells:

In other news: Netflix will be allowed on the AppStore, but each tv show episode or movie must be available on the AppStore as it’s own separately downloadable app.

John Voorhees:

Obviously, many game streaming services offer games that aren’t UIKit games that can be downloaded from the App Store, which will be a technical roadblock to many services.

Steve Troughton-Smith:

Of course, that will mean that any game provided by xCloud needs to follow Apple’s other rules — which means in-app purchases would need to go through Apple’s system (which, due to the nature of xCloud, basically means any game with microtransactions will not be allowed)

Jason Snell:

Real question is, did Apple create these guidelines knowing that Google and Microsoft will never agree to them? And would access to iOS be worth Google and Microsoft jumping through all these hoops? My guess is yes and no, but you never know.

Dan Moren:

From Apple’s point of view, it now has explicit rules to point to, but honestly, all this really means is that there won’t be game streaming services on the App Store. Neither Microsoft nor Epic is going to spend the time or money on what is not an insignificant amount of work and have to hand over the 30 percent cut to Apple on top of that. Just not going to happen.

To my mind, this remains a short-sighted and ill thought out decision on Apple’s part. Game streaming services aren’t going away, and if iOS is the only platform that they’re not available on, then, honestly, that just hurts iOS. Apple has clearly decided that it doesn’t care about losing those customers—that it’s an acceptable trade-off for not losing the revenue and the control over App Store contents.

Michael Gartenberg:

Unbelievable what’s going on over there. It’s Apple going to war with developers and Apple has the upper hand? Where do devs go to get on the platform of choice for so many. App store was once great for all parties. Not so much anymore.

Rich Mogull:

I just don’t get these updated App Store guidelines. If the game is streaming and not running locally the security model is the same for all games. Basically, this is like approving every movie on Netflix and having a different App Store listing for each. What am I missing?

It’s not about security.


The added friction alone is a significant handicap. Yes, your streaming library is there but you have to extract it title-by-title from the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying “Beware of the Leopard”.

Eli Hodapp:

Here’s what’s TRULY unbelievable about today’s App Store policy update to “allow” xCloud and Stadia, that you can really only appreciate if you’ve been following the wacky decisions of Apple on how to awkwardly handle everything to do with games…


Apple cited 4.3 in the App Store guidelines, specifically telling Choice of Games that their separate apps are “too similar,” even though each of them were their own truly unique narrative adventure. To Apple, books with words on a page and choices are all just the same I guess.

Apple held firm on the decision to block Choice of Games from releasing individual books, instead forcing them to rapidly develop an omnibus app that could serve as the singular container for all of their titles since individual skus were no longer allowed.

This was a complete nightmare for Choice of Games as their releases were at a complete standstill until they could develop this new container app that Apple was forcing them into. It also created a huge support headache as you can tell by the FAQ

With this in mind, it’s really amusing that Apple’s “solution” for xCloud and Stadia being “allowed” is having them spam the App Store with what could be quite literally hundreds of viewer apps for all the different games, particularly with the secondary App Store-only versions.


Update (2020-09-14): Tom Warren (via Dieter Bohn):

Microsoft isn’t impressed.

“This remains a bad experience for customers,” says a Microsoft spokesperson in a statement to The Verge. “Gamers want to jump directly into a game from their curated catalog within one app just like they do with movies or songs, and not be forced to download over 100 apps to play individual games from the cloud. We’re committed to putting gamers at the center of everything we do, and providing a great experience is core to that mission.”

Steve Troughton-Smith:

Framed another way, Apple has the opportunity to get access to all the best Xbox games on all of its platforms — games that would never otherwise come to them — and all they have to do is give Microsoft a reasonable deal. Apple should be paying Microsoft for this.

Nick Heer:

The main thing that is different is that Apple is expressly allowing a launcher-type wrapper app, something that had murky permissions before.

Update (2020-09-16): Jared Nelson:

This whole thing feels like Apple trying to give themselves some sort of out for any future antitrust litigation. It’s like putting a cupcake in the middle of a live bear trap, and then offering it to someone. “Oh, I guess you don’t WANT that cupcake then. Well, you can’t say we didn’t offer it to you!" Apple is presenting a set of guidelines that are impossible for a game streaming service to adhere to while still being able to call itself a game streaming service. It’s just asinine, and it’s hard to tell if it’s through sheer incompetence on Apple’s part, greed, vindictiveness, or a combination of all of those things.

Personally I’ve already gone out and picked up an Android device and will have a relatively cheap little xCloud portable gaming setup ready for next week’s launch, and I hope to have a little guide put together by then on my whole setup for anyone else interested in doing the same. But honestly, as a devout Apple fan for decades who has hand-waived and sometimes even come to the defense of many of their absurd decisions over the years, this latest debacle with game streaming services is just too much and has me seriously questioning if I’ll be picking up a new iPhone this year or if I’ll finally dive into one of the many excellent Android handsets out there.

Update (2020-09-28): Sean Hollister:

But if you know how cloud game services operate, and then look at Apple’s actual written rules, you’ll see that’s only technically true. If I understand correctly, the reality is one of two things:

Either 1) Apple is asking Microsoft, Google and others to turn their streaming game services into an entirely new category of standalone app which guarantees Apple a profit — a kind of app that’s rarely existed on iOS before, and one that Apple itself called “not appropriate” just last year.

Or 2) Apple’s new guidelines aren’t designed to be anything but an attempt to confuse — a way to get the world to think Apple’s not actually rejecting the future of gaming, while simultaneously erecting so many roadblocks that companies like Google and Microsoft would never dream of taking Apple up on the offer.

Update (2020-10-09): Tom Warren:

Microsoft is bringing xCloud to iOS via the web. There will be a browser-based solution coming in early 2021, alongside a PC version of xCloud next year.