It used to be that you could click a link in an app, it opens in your web browser where you're already logged in to the relevant service, so you get to see the content the link points to.
These days, you click a link in an app, it opens in an in-app web view where you're not logged in, so you just see a login screen.
Not even the "open in Safari" button works, since by the time you have the opportunity to click it, you've already been redirected to the login page. You literally have to long-press on the link, copy it, switch to your browser, and paste it in to the omni-bar. I don't understand how this god forsaken industry's UX "experts" have all agreed that this should be the universal user experience.
It's especially bad in apps like Slack, where 99% of the links I'm ever interested in are links to our internal gitlab, some internal knowledge base article, some internal tool, or some other thing that requires being logged in to view any of the content. Links just plain do not work almost ever in Slack without the manual long-press -> copy -> switch to Safari -> paste dance.
Not that it matters, it's still an excellent example of stuff not working because links don't work as links anymore.
Being a "Managed App" through MDM/Intune. Typically it's used when installing corporate apps in a BYOD scenario. The managed apps are isolated from information sharing with unmanaged apps, e.g. policies can be applied preventing copy/paste, access to Files.app, etc. It (and it's isolated storage) can also be remote wiped without nuking the whole device. Edge.app still uses the Safari rendering engine, etc. like is generally the case with 3rd party browsers on iOS.
You can't do this with Safari.app unless the whole device is managed, which doesn't work well for BYOD.
I don’t know whether that’s right, but I read “We have a conditional access policy that requires a “compliant” device to succeed the SSO login. However, only the iOS Edge browser can prove compliance” as “our access policy does not allow logging in from Safari”. If that’s true, it’s not something Edge or Safari does or doesn’t do.
"just" is not an appropriate word here. There's a ton of functionality in the native UI and non-WebKit code.
You can change the Browser Application setting under Preferences after tapping on your Avatar in the Slack app.
But you could be. You could log in from the in-app web view, and it would be remembered and compartmentalised in that app, so that next time you click a link you’re logged in.
It really is a bad user experience all around.
Now you're logging into the same thing in multiple different places. Obviously, the odds of you getting phished go up significantly.
- showing focus-stealing modals when loading the page/app, which breaks the quick look functionality on iOS
- interrupting your workflow with tutorial popups (especially multi-step ones that point to different parts the screen) that demo or upsell a new feature, requiring you to dismiss them to continue
- not having an option saying "I'm a power user, stop explaining shit I already know"
To be honest, if the concept of growth hacking was erased from the universe, pretty much none of this crap would exist. Atlassian, Browserstack: I'm looking at you.
This has been one of my biggest iOS peeves for a long time—I really wish that installing an app wasn’t a commitment to letting it handle all of the links it wants to.
It’s particularly annoying because a lot of apps are terrible at actually handling the link: the app will show a login screen or some kind of interstitial and then just forget where you were going. That stupid behavior isn’t limited to web links either, it’s really great when it’s the app’s own push notification (thus irretrievable once tapped), but which the app will not even open properly 100% of the time.
There are a couple of imperfect workarounds (long pressing, incognito), but mostly I’d just rather have an option to limit or disable this behavior entirely—in the absence of that I’ve actually just uninstalled all of the worst offenders, I’m sick of having a million damn apps.
It doesn’t. App developers have to verify that they own the corresponding domain names that they want to handle with their apps: https://developer.apple.com/documentation/xcode/supporting-a...
I find gmail to be the absolute worst offender in this category.
1. They dark pattern you into downloading their browser (they give three options, two of which are chrome)
2. In not launching iOS, I’m not logged into the session I may already have open in safari. Which is incredibly painful for any product that sends notifications via email, which id like to action.
And if I do login, and it asks for an email verification code… fail. I can’t access it in gmail without closing the browser…
3. Their in app browser (or the way they re-write links?) doesn’t seem to play nice with opening the corresponding app. Never seems to work.
Incredibly user hostile.
Is there a better alternative mail client I can use with gsuite?
Gmail app -> hamburger menu (top left), scroll down to settings, Default apps, Browser = "Default browser app (Configure in iOS settings)".
I think I must be misreading your concern - if so, not intentional.
The lawmakers should be competent enough to recognise this problem and have laws against keeping people within the apps for no reason. (The only reason may be to use the web sign-in).
Imagine on desktop computer os, you click a link within WhatsApp app and it opens a window within that app and load the webpage there, without your login cookies, and makes you login if you need using mouse with on-screen keyboard only…
I just tried again and it opened Safari, so maybe at some point they enabled a way to tell it to not do that? I see in the Gmail settings I have a setting checked for use default browser app.
So if you fixed this Gmail or iOS people thank you!
Every link I click on my Android phone opens up and uses my preferred browser; Firefox.
What are you seeing different?
Probably others doing the same. I always open pages in full safari and use NextDns to block trackers in all apps.
Also, as the name implies, this just looks at the URLs. So it's more comparable to DNS level blocking.
https://developer.apple.com/documentation/networkextension/u...
For now I am using wireguard+pihole on a cheap VPS for all my devices. It’s not perfect (data center IP so some places block it) but it’s good enough for now. When I’m forced to update to 26 will definitely look at Wipr since I tested that out and it was really good other than the in-app issue.
This is not really accurate.
The Safari content blocking API and the WebExtensions DeclarativeNetRequest API are comparable. The difference is that WebExtensions are JavaScript and can run in the context of the web page. With WebExtensions, you get DNR plus arbitrary JS, whereas the Safari content blocker API is native code and doesn't run in the context of the web page. The arbitrary runtime JS is what allows you to do things that you can't do with declarative content blocking rules.
You could also have a Safari content blocker with an optional WebExtension for additional functionality with no usage of DeclarativeNetRequest.
That’s exactly what AdGuard and some other content blockers do. The result is that content blocking works everywhere, but it’s most effective in Safari. As a user, I prefer that over the approach of uBlock Origin Lite, which is a pure WebExtension and doesn’t do anything outside of Safari. Too bad, because I prefer using uBlock Origin on other platforms.
Which apps are being updated to stop using it?
The difference is simply that the Safari content blocker API is Apple-specific, so it can be used only on iOS and macOS, whereas uBlock Origin Lite uses the cross-platform DeclarativeNetRequest API, because uBlock Origin Lite is itself cross-platform.
I'm not sure why they did that or whether it's actually improved, but the Apple-specific content blocker API is certainly not deprecated or anything like that.
The biggest difference is that the Safari content blocker API is native, in other words, Swift or Objective-C, whereas DeclarativeNetRequest (invented by Google) is a JavaScript API.
In-app views can't really have DNR unless they also have full browser extensions too.