Deep-linking in apps may not sound exciting, but it could change the way you use apps on your iPhone and iPad with iOS 9, not to mention give developers more control. The changes will allow users to jump from app to app more naturally, as well as blurring the division between local apps and web-based content, not to mention reduce the amount of time you spend punching in login credentials. Meanwhile, content within apps can show up within iOS 9’s newly-supercharged search.
Currently, Apple uses URLs to allow apps to communicate with each other. While that can work fine, since there’s no standardization around custom URL schemes, there’s no way for the user to define which app the data should be connected to. If you don’t have the relevant app, meanwhile, it leads to an error.
There are also privacy issues: by looking at the custom URLs, you could feasibly figure out whether a user has a certain dating app installed, or a particular game or news app.
Apple’s solution is deep-linking into apps. While the URLs look like normal, thanks to some server-side tweaking they in fact act as signposts to a specific part of the local app that’s been associated with a part of the domain.
What’s clever is that the URLs have fall-back into Safari. If you open the link on a desktop, or on an iOS device without the relevant app installed, it’ll load in the browser instead.
As for privacy, no one app should know what other apps are installed. Links are handled completely on-device, with no reason to send them out into the internet at large. Each developer’s server keeps an SSL certificate to authenticate the URLs, and they can choose whether to have some or all of the site’s content be marked as supported within the app.
So, if a user taps a link for the site that’s supported in the app, it’ll open within the app rather than in Safari – they won’t even see Safari momentarily blink up in-between. If content can’t be found that’s supported in the app, meanwhile, the link will open in the browser as normal.
What’s interesting about deep-linking is that it could offer developers an interesting workaround for iOS’ lacking support for setting different default apps. On Android, for instance, users can set their choice of app – whether Google’s default or a third-party alternative – that opens, such as when a calendar link is tapped or a text message replied to.
iOS doesn’t allow for that explicitly, but with deep-linking the lines between web content, shared links, and local apps could be even further blurred from how they are today.
Deep-linking works alongside Smart App Banners, the panes shown at the top of some sites in Safari when a website has an app it wants you to install. While they’re not new, as of iOS 9 Apple will be using Smart App Banners as an index to the app, to assist in knowing where the deep-links will go.
Shared Web Credentials, introduced in iOS 8, can then smooth the login process: apps will be able to share the saved username and password in Keychain that was previously entered in Safari.
As for information in apps showing up in iOS 9 search, both on-device and in mobile Safari, that’s down to a new content indexing feature. By using the same sort of registration process as before, developers can in effect tell Apple about what content is available in their app: then, when people search on their phone or tablet, the results will include not only what’s available online but what’s stored in an app, with the links opening either in the app – if installed – or prompting an install if they don’t yet have it.
The goal is a more seamless co-existence between phone, tablet, app, and web content. That should make inter-app navigation easier, but it might also unlock some of the increasing quantities of data that are currently locked up within apps and invisible to regular search indexing such as that which Google does.
There’s more from WWDC 2015 in our full Apple hub