Open bholley opened 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.
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.
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.
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.
The gatekeeper shall allow and technically enable the installation and effective use of third-party software applications or software application stores using, or interoperating with, its operating system and allow those software applications or software application stores to be accessed by means other than the relevant core platform services of that gatekeeper. The gatekeeper shall, where applicable, not prevent the downloaded third-party software applications or software application stores from prompting end users to decide whether they want to set that downloaded software application or software application store as their default. The gatekeeper shall technically enable end users who decide to set that downloaded software application or software application store as their default to carry out that change easily. […]
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.
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.
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.
Rule 2.5.6 of the Apple App Store Review Guidelines forbids the usage of third-party browser engines:
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.