The sorry state of iOS app deeplinking
It has been nearly a decade since I’ve been closely involved with the development of a mobile app, and I remember that there were a range of quirks and workarounds required to “deep link” into content within the app back then, but these days it feels like I’m continually plagued with bad deeplinking implementations. I’m not sure whether it’s something to do with the native iOS APIs, or just bad implementations from app developers, but it’s super aggravating.
When I get a push notification from, say, Zillow, about a price drop on a house I’d previously saved, I’d anticipate that tapping on the notification would take me into the app and show me the listing for that house. What actually happens most of the time is that the app opens and shows me some interstitial (“Are you the owner of {address next door}?”). Then, upon closing the interstitial, the app seems to forget where I was going entirely and just sends me to the app’s home screen. Typically, since the link was via a push notification, it’s now gone, and there’s no clear way to navigate to wherever it was taking me.
This isn’t an issue unique to Zillow, it seems to happen with many popular apps from major companies. It’s particularly frustrating because these apps also take over links from the web, and there’s no way to disable that aside from actually uninstalling the app (thanks Apple, I love this, it definitely doesn’t regularly make me think about buying an Android after fifteen years of iPhones).
Additionally, native apps seem to be worse at maintaining the “next page” state post-login. Most websites that require a login seem to do fairly well at preserving my ultimate destination while I go through the login flow, but native apps are hit or miss. This seems so trivial that it’s almost mind boggling how many apps get it wrong.
There’s another inexplicable issue I’ve been having for a long time with many popular native iOS apps (Amazon is one), wherein tapping a link will switch from Safari to the app itself, but then instantly back to Safari. I don’t really know what’s happening under the hood in that situation, but it’s strange and feels incredibly broken. Maybe it’s a bug of some sort, but it has persisted for a very long time, and across multiple apps.
The third failure mode I regularly experience is when mobile websites insist that I install their app, but can’t seem to actually open the app. Case in point: LinkedIn continually nags me to verify my identity. I’ve dealt with real world interview fraud in the past, so I’m curious what the verification process looks like. Verification requires their app. I scan the QR code from my computer screen. It takes me to their mobile website, which tells me I need the app. I have the app! The “open in app” link from their site takes me to the app store. How do I start the verification process. Who cares.
Ultimately this is an iOS failing at its core: the web is still obviously a second-class to native apps, and having too many user-configurable settings (like telling the OS to open all links in Safari) is verboten. I am a drive-it-until-the-wheels-fall-off phone user, so I have several years until I’m in the market for a new model, but Apple has certainly not made themselves seem like they care much about their users in recent years.