Hacker News new | ask | show | jobs
by pilif 2822 days ago
On iOS, there can’t really be an alternative to Safari because there is no way to change the default browser system wide.

No matter how careful you are, eventually some app somewhere will open an URL, causing Safari to open, but now that it’s not your default browser, all your login state, your favorites and, heck, even just the familiar UI will be missing.

No. Until iOS allows setting a default browser, there is no point to accept this kind of friction and at least I myself feel much better off just using Safari and getting a consistent browser experience even if an app opens an URL.

7 comments

All of my history is in Firefox, so I use Firefox on iOS as well, since it syncs with the desktop. I use Firefox for other reasons too, e.g. I like its UI for being friendly to multiple search engines.

And I use apps that behave well. For example I use an email reader that can open links in Firefox.

That apps open links in Safary is not true. From this point of view the iOS ecosystem is a clusterfuck as most apps, most notably Facebook, Twitter and Gmail, open links in their own shitty webview.

Gmail on iOS is even disingenuous about it. It has a configuration option allowing you to choose Chrome as an alternative (no Firefox of course), but what they call "Safari" is their own webview, not actual Safari and this matters because it doesn't share session data of course.

Also Apple doesn't allow any 3rd party browser engine in the App Store
Apple doesn't allow third party JIT. They allow third party rendering engines. Blink+JSC would be acceptable but I doubt anybody wants to put the work in to make that a reality.
Not even:

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

( https://developer.apple.com/app-store/review/guidelines/ )

And the javascript engine that they provide is 4x slower than the one in Safari. Due to security I think. Maybe it's not like that anymore....anyone know?
Indeed. UIWebView, the slower version without the JIT javascript engine, has actually been deprecated in iOS 12.
They need an antitrust suit along the lines of the IE one lodged against Microsoft in the 90's
As Apple don’t have a market monopoly, antitrust provisions (similar to what Microsoft was hit with) won’t necessarily apply.
There should be something similar to POSIX for mobile operating systems, basically forcing open systems (if not Open Source), at least for companies that have anything to do with the government.
”something similar to POSIX” wouldn’t work. POSIX systems can have proprietary APIs in addition to POSIX that provide functionality that POSIX doesn’t support/partially supports/supports badly.
I used to use Chrome on iOS but actually switched to Microsoft Edge for my go-to browser. It works perfectly. I rarely click a web link from an outside app so going into Safari on a rare instance isn’t a problem.

My ad blocking app uses a VPN configuration so it works in every single app on my iPhone.

I found it’s actually quite easy to use alternate browsers on iPhone.

> My ad blocking app uses a VPN configuration so it works in every single app on my iPhone.

I would never trust an ad blocking app with all my traffic data and who the hell knows what else besides the VPN configuration it's installing in that profile.

Installing an iOS configuration profile is more or less equivalent to handing out physical unlocked access to whoever made that profile you've just installed.

I'm not saying your VPN-based Ad-Blocker is doing this. I'm saying they could. And just them having that capability is enough for me to never hand them that capability in the first place.

Ad blocking is fine. But not at this price.

Could it be possible to reuse the ad blocker functionality Apple allows on Safari by building an app/extension/however that works to catch all loaded URLs in Safari and replace them with an "Open in #preferred_browser#" link perhaps?
Content blockers can't do that.
Shame.
I agree it's problematic, but there is one good reason to use alternative browsers on iOS — synchronization. Safari's sync with desktop is not really useful if someone uses Linux on their desktop/laptop.
On top of that, Safari state is shared in a lot of embedded browser windows inside apps, which no other browser can obviously implement
They had to limit this quite a bit because it was abused for tracking.

SFSafariViewController now has its own cookie store too unless you use a specific API for authentication purposes, but that will also open a modal dialog the user has to confirm.

This is why we can't have nice things.