mozilla / platform-tilt

Tracking issues which disadvantage Firefox relative to first-party browsers on major software platforms.
https://mozilla.github.io/platform-tilt
192 stars 0 forks source link

App Store forbids third-party browser engines #1

Open bholley opened 9 months ago

bholley commented 9 months ago

Rule 2.5.6 of the Apple App Store Review Guidelines forbids the usage of third-party browser engines:

2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit JavaScript

Notably, this means that Firefox can’t be shipped with Gecko on iOS. It also means that Firefox can’t be distributed in the App Store on other Apple platforms like macOS. The App Store policy should be updated to allow third-party browser engines for web browsers.

sabberworm commented 9 months ago

There used to be Opera mini on iOS, clearly in violation of this rule, as it would render the web page on Opera’s server farm and send back, essentially, a screenshot.

Daniel15 commented 9 months ago

There used to be Opera mini on iOS, clearly in violation of this rule, as it would render the web page on Opera’s server farm and send back, essentially, a screenshot.

Opera Mini is/was an interesting product since it wasn't running entirely running on their servers. Some portions of JavaScript ran on the client-side. I had to work on a site that required Opera Mini support, and it was an interesting project. You could add click events and form visible/blur events, but there were no timers, and each event needed to do a server roundtrip to process it (since if the event updated the DOM, it had to re-render on the server side).

I think newer versions (only for Android now) have multiple modes, some of which don't render the content server-side like this any more. Sites getting more and more JS-heavy meant that the model didn't quite work as well any more.

sabberworm commented 9 months ago

Some portions of JavaScript ran on the client-side.

I find that hard to believe, since, while there wasn’t an explicit rule against third-party browses at that time (IIRC), there definitely was one prohibiting executing downloaded code.

That essentially meant the only browser you could build was one that didn’t execute any scripts, which, even then, was deemed rather pointless.

Po11da commented 9 months ago

I'd like to mention EU's Digital Markets Act. European Commission labelled Apple as gatekeeper in relations with App Store and iOS, with ongoing iPadOS investigation. Regarding Firefox, two articles are specially interesting:

The gatekeeper shall not require end users to use, or business users to use, to offer, or to interoperate with, an identification service, a web browser engine or a payment service, or technical services that support the provision of payment services, such as payment systems for in-app purchases, of that gatekeeper in the context of services provided by the business users using that gatekeeper’s core platform services.

Apple should fully comply with the DMA by March the 6th 2024 (six months since being labelled a gatekeeper). It is however likely they won't fully comply with the regulation at first and even then, it's safe to assume this will only apply to EU territory. It's possible more countries will follow with similar acts in the future, but currently I have no information about such initiatives.

demize commented 9 months ago

Apple announced their compliance measures with the DMA today, including allowing third-party browser engines. As Po11da predicted, this comes with a number of requirements and restrictions, including a requirement that apps using this entitlement be available in the EU only.

bgrins commented 9 months ago

Note that we're aware of and are starting to look into the BrowserEngineKit framework. There's a lot to go through, but we'll follow up with comments in relevant issues as we learn more about the proposed plan & technical capabilities.