Hacker News new | ask | show | jobs
by mdellavo 1553 days ago
It's pretty much BS like that that had me switch to IOS after years on Android.
2 comments

Because Android will make you pick a default browser, you switched to iOS where you weren't even allowed to change the default browser (depending on when it was you switched), and even now every browser is actually Safari so users think there is diversity but there isn't really.

Ok.

I mean, I acknowledge that sort of thinking is common, but it's makes no sense to me.

you can pick a alternate browser on IOS and as I said - it was multiple instances

Go in your google/android settings and make sure location tracking is off - come back and tell me with a straight face that the UX of the feature is not a dark pattern.

It depends on your definition of browser, they are all frontends for Apple WebKit.
You can't have an alternate browser engine on iOS, just a shell around Safari's webview.
An alternate where all alternatives are safari.
I use an iPhone too, but aren't all iOS browsers using the Safari engine in the background, even if the front end is branded as Firefox/Edge/whatever?
Only for javascript - you can have your own html engine, but you have to use the sarari javascript engine. Technically you can have your own javascript engine, but your performance will be bad enough that we can ignore this.
The performance would be bad because of no JIT, but the main issue it is that Apple requires WebKit usage:

> 2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.

> 4.7 HTML5 Games, Bots, etc. -> only use capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); and use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software;

Now, I get their reasoning - if you did parse regular javascript and JIT was allowed (which would be required to prevent any anticompetitive remarks in terms of performance for these other engines), random pages could exploit those 3p browsers and extract information from the APIs they have access to.

But computers are complicated enough to where you probably couldn't explain to a layperson/congressperson the difference between iOS forcing developers to use their Window management APIs and iOS forcing developers to use their javascript APIs, so this is unlikely to change with regulatory force or anything of the sort.

I am technical and I still don't quite grasp the reasoning. Why does it matter if a browser makes available a non-standard API? And why is this a concern for mobile and not desktops?
Apple doesn't want app developers to deflect responsibility of user data siphoning off onto third-party websites or parties. Think the contacts API - the user might grant the app access to it in general, but then facebook.com could try to access them via a special browser API; if there aren't any extra prompts within the browser's code asking for user permission, this could lead to the site siphoning off user contacts without the user knowing.