MacStories has a good roundup of the new rules, and this one stood out to me:
Under section 3.1.2(a), games offered via game streaming services must be downloadable from the App Store. Unless changes are made to the services, this precludes apps that would allow console games to be streamed to iPhones and iPads using services like Google’s Stadia or Microsoft’s xCloud, but it would not change the status of game subscription services like GameClub. Services should also be designed to avoid duplicate payment by subscribers and should not disadvantage non-subscribers.
Let's back up first.
In 2008, Apple made a bet that the future of software was local apps. The things people wanted to do one their phones were going to be written as native apps and downloaded to users' devices. Yes, lots of apps would have web components, but they would come more in the form of APIs than interfaces. The Instagram app would sync with a web-based API, but everything in the app would be presented using elements hosted locally in the app's code. If you flipped on airplane mode, then you would expect your apps to run like normal, but without the ability to access new data from the web (obviously).
To put it mildly, this worked well for Apple, and it worked for the computing world as a whole.
The first potential disruption came in the form of progressive web apps, or PWAs. These were a hybrid approach to software, where the app itself lived on and was distributed on the web via a web browser, but could be saved locally as an app as well, giving it the ability to run locally, even in airplane mode. When you got an internet connection again, your data would sync to the cloud and you might even get an update to the app itself. Apple supports PWAs, but not nearly as well as many would like. Of course, PWAs don't seem to be that popular in the first place, so it's not that big of a missed opportunity for Apple today.
Xbox Game Pass doesn't fit into either of these two categories. If allowed, it would consist of a "terminal" style app that basically just logged you into a web service and then that web service would display content to you. When you selected something, that game would run on a remote server and the video from that game would stream to your device over the internet. As I wrote last month, this is almost exactly what Netflix, Hulu, Disney+, HBO Max, and every other streaming video service does today. The only notable difference is that these services can let you download content and play it back locally, while Game Pass would not allow this.
What Game Pass Wants to Do
- Microsoft releases an app called Xbox Game Pass to the App Store.
- User downloads the app.
- User signs into their Xbox account in the app (or they sign up from inside the app).
- The app shows the user all the games currently available with their subscription.
- User taps on a game and they play that game in the app.
- User quits the current game and selects the next one they want to play in the Xbox Game Pass app.
What the App Store Rules Want Game Pass to Do
- Microsoft releases 100+ apps to the App Store, one for each game you can stream.
- User downloads the app for the game they want to play.
- User signs into their Xbox account in the app (or create one in the app).
- The app boots straight into the game for that app.
- User quits the current game.
- User goes to the App Store to download the next game they want to play and installs it.
- Repeat steps 2-6.
Why This is Impossible
There are a couple reasons I think that this puts Microsoft in an untennable position, and I don't think that's on accident.
The 100+ Apps
First things first, this makes is to that Microsoft needs to upload and maintain 100+ apps to the App Store on day one. These apps will be exactly the same, but they will have different icons, descriptions, screenshots, and other metadata, and the code would basically have a line something like:
And this line would change for each app they upload.
This is a bit ridiculous on its face, and I think exposes its silliness when you compare this to the movie/TV app market. If this standard was applied to video, Netflix would have to have an app for each series they run (maybe every episode, depending how strict Apple was about this). Obviously that would be insane, but this is what they're asking Microsoft to do.
Let's move past this point for now, as I'm sure some people will argue that games and video are different, but I think we're splitting hairs, and this is far from the only problem here.
How Does App Review Work?
Apple says they want to review each game, but how is that going to work, exactly?
The app will have basically no content. The content that they are requiring Microsoft to split up is 100% server-side, so would Apple review the game code that runs in the cloud? That is a whole new level of review and does not sound like a reasonable precident to set.
Would they actually play the game in full to see if it passes review? Again, what does this even mean? they're going to play an 80 hour RPG before approving it? Since they can't see the game code, how else would they conduct a proper review? "So sorry app review time is slower than before, our team is currently playing through Cyberpunk 2077 right now." 🙃
Or most likely, would they review the code for the shell of the app, not touch the game at all, and then make the app review completely redundant? Sure, this would prevent Microsoft from sneaking in something nasty into that shell, but wouldn't it be easier on everyone involved if they just had to do this for one app?
The Very Nature of Game Pass
Much like Netflix, Game Pass cycles games in and out of its library on a monthly basis. Every month new games are added and old ones are removed. Also like Netflix, there is some first party content that will be there forever, but most third party content will leave the service eventually.
Let's say Microsoft uploads an app for Jump Force, which is currently on Game Pass. Jump Force is scheduled to leave Game Pass in 4 days. What happens to the app that the user downlaoded? Obviously, it becomes a brick. There's not even a way to let the user pay for the game and keep playing it forever (as they can on Xbox or Windows) since the game physically can not run on iOS. These aren't iOS games that you need a subscription to play (like Apple Arcade) they are PC/console games that simply can not run locally.
If Microsoft was able to have one app that had all of Game Pass's games, then this would not be a big deal, and the app would work so long as the service existed.
It's bad for the user because they need to download a bunch of "apps", most of which have a timer running from their moment they're installed, counting down to when that app becomes a worthless bundle of bits. It's bad for Microsoft because they have to maintain hundreds of apps that are all basically the same thing, but have tons of overhead with App Store-specific metadata and app review that could cause major headaches. And finally, it's bad for Apple because they're forcing this bad experience on their users and developers, two parties they are striving to make happy.
This rule simply seems like it's trying to force an unusable business model on a category of services they don't want on their platform without actually saying out loud, "we don't want game streaming services on iPads and iPhones".
Where Do We Go From Here?
It seems clear to me that the best solution here is for Apple to let Microsoft do what they want to do and release a single app that lets users play all the games in the Game Pass streaming library. It is consistent with how other subscription streaming content services operate, it gives Microsoft a reasonable developer experience that is consistent across all the platforms they support, it gives users a great experience with a single icon on their home screen that gives them a world of entertainment, and it's good for Apple because coupled with their excellent support for Xbox and PlayStation controllers, would make iPads and iPhones the best way to play the next generation of games on the go.
This rule change is clearly not about allowing the best experience for all parties, and is aimed at blocking this service from existing on Apple's platforms in the first place.
I'm sure some will say this is Apple setting clear rules for how Microsoft can proceed with releasing Game Pass on iOS/iPadOS, but as I've argued above, I would suggest this is more like Apple stating plainly that there is no room for a service like Game Pass on Apple's top platforms.
Game Pass does not fit neatly into the "one app, one function" container that has been the norm for over a decade. I would argue that what it is offering is no different than what Netflix offers in terms of streaming entertainment, but obviously Apple does not agree. You can tell me all you want how "actually this makes sense for Apple's business" all you want, but as an iOS user and Xbox Game Pass subscriber, this makes iOS less appealing to me. I'm not switching to Android tomorrow or anything, but this is definitely a mark against iOS for me.