Cloud Gaming.Expert
Counterpoint7 min read

Apple's PWA-only policy turned out to be good for cloud gaming

When Apple banned native cloud gaming apps on iOS, every major service was forced into Safari. Five years on, that constraint produced a better iPhone gaming experience than the alternative would have.

By Kenji Park
Reviewed

The setup

In 2020, Apple banned native cloud gaming apps from the iOS App Store. The argument from Cupertino was that they couldn't review individual streamed games for App Store compliance. The argument from everyone else was that Apple just didn't want third parties competing with the future of Apple Arcade.

Every major cloud gaming service responded the same way: they shipped a Progressive Web App. Open Safari, navigate to xbox.com/play or play.geforcenow.com, tap 'Add to Home Screen', done. You get a fullscreen icon that looks like an app and behaves like one.

What everyone assumed would happen

Conventional wisdom in 2021 was that this was going to be a long-term disaster for cloud gaming on iOS. Apple would let native console emulators and Apple Arcade games keep their advantages. Cloud services would be stuck in second-class Safari experiences with worse controllers support, no haptics, no proper full-screen handling, and constant App Store interference.

The press coverage was almost universally that cloud gaming on iPhone was going to be a stunted, half-broken category for years.

What actually happened

The PWA-only constraint forced every cloud service to build the exact same client architecture: a browser-driven full-screen game viewer with WebRTC streaming, MFi controller support over Bluetooth, and shared authentication via Safari's existing cookie store.

Because there was no native client to maintain, the cloud providers couldn't compete on app polish. They had to compete on streaming quality. The result is that the iOS experience across all five major services is more consistent than the Android experience, where every service shipped a native app with its own quirks.

Specific things the constraint produced

Universal controller support. Every Bluetooth MFi controller works on every cloud service on iOS, because they all go through the same Safari Game Controller API. On Android, controller compatibility is a per-app mess.

Consistent battery behaviour. Because iOS handles the streaming pipeline through the browser's existing battery-conscious WebRTC stack, all five services drain the iPhone battery at roughly the same rate. On Android, battery drain varies wildly across cloud apps because they each ship their own video decode path.

Easier multi-service users. Because every cloud service is a Safari shortcut, switching between them is exactly the same gesture every time. There's no 'where did the GeForce Now app go' problem. The home screen icons all look like apps and behave like apps; under the hood they're all the same architecture.

Where the constraint still hurts

Three real downsides that the PWA-only model can't paper over:

No haptic rumble. Safari's Game Controller API doesn't pass through rumble events from MFi controllers. Native iOS apps could. This is a real feature loss, especially noticeable with the DualSense.

No system-level overlays. You can't get a low-battery warning, a notification, or a Picture-in-Picture handoff while in a cloud gaming session. A native app could integrate with iOS's notification centre; a PWA can't.

No background download / preloading. Cloud gaming services can't pre-warm a session before you tap, because they can't run in the background. The first tap of a session always costs you 3–5 extra seconds of warmup.

The DMA wildcard

The EU's Digital Markets Act forced Apple to allow third-party app stores and alternative browser engines in 2024. That could in theory let cloud gaming services ship native iOS clients via alternative stores.

In practice it hasn't. The clients that do exist (the AltStore and Setapp ones) have far worse UX than Safari PWAs, lower discoverability, and friction-heavy install flows. The PWA habit is now load-bearing and the third-party-store route hasn't found product-market fit in cloud gaming.

Five years from now, we'd guess most iPhone cloud gaming users still play through Safari PWAs and either don't notice or don't care that there's a notional alternative.

Conclusion

Apple's PWA-only policy was a constraint imposed for self-interested reasons. It turned out to produce a cloud gaming experience on iPhone that's measurably more consistent than the unconstrained Android equivalent. We didn't expect that and we wouldn't have predicted it. Worth remembering the next time a platform policy looks self-evidently bad on day one.

ShareXRedditHacker News

More from the blog