I attended WWDC in June and have spent many hours since watching and re-watching WWDC session videos. I've had iOS 9 betas running since June and last week I cut over to iOS 9 and watchOS 2 on all my primary devices. Along this journey, I think I've identified iOS 9's killer feature, the one thing that changes everything and will have impact for years to come—seamlessness.
Haven't heard of it? Well, that's because seamlessness isn't actually a specific iOS 9 feature. Rather, it's the result of a multitude of iOS 9 and Apple infrastructure capabilities that mesh together to provide a groundbreaking new experience.
Apple showed us an interesting chart at WWDC: iOS users spend 86% of their time in apps, versus only 14% on the web. Seamlessness is all about unlocking that 86%: the content and features that live within apps, along with how we interact with them. Seamlessness is also about shattering the barriers, web-to-app and app-to-app, that have limited awareness and effectiveness up to now.
Apple has taken smaller steps towards seamlessness in the past, including custom URL schemes and most recently iOS 8's Handoff feature. But iOS 9 takes us far, far beyond, meshing a wide range of local and cloud features to deliver a new, cohesive app-plus-web experience.
From a user's perspective, the wonder of seamlessness surfaces mainly in search and navigation. In both Safari and Spotlight search, my search results now represent the content and features of my apps. Search results are richly formatted and directly actionable: one touch deep-links me directly to the specific app content (say, an Airbnb listing or Yummly recipe) or feature (such as the Steps feature in Apple's Health app) that search found for me. I'm also given a return link, "Back to Search," that brings me directly back to search results. So as a user, I get a simple, web-like search experience, but for content and features living inside my apps that until now have been locked away inside the walls of the app.
Although this search experience is simple for the user, there's an incredible array of technology and infrastructure hiding beneath the surface to make this all happen seamlessly. Apple provides three separate search APIs for developers in iOS 9: one to index app content, another to follow the flow of user activity within the app, and a third to map web content to its in-app equivalent. All three APIs are essential to get the kind of seamlessness that we're seeing in iOS 9. Likewise, to deliver highly relevant search results and enable discovery of new apps and app features, Apple maintains two separate search indexes: a private on-device index and a public cloud index. If I'm searching for a good recipe for fish, the search results I see from Yummly are influenced not only by my own content and interactions, but also based on what other Yummy users have done and found. I might even get a recommendation for the New York Times recipe app if that app has a popular salmon recipe. Apple manages all of this while carefully preserving user privacy, using techniques like "zero knowledge proof" when moving private behavioral data into the cloud.
Deep app linking is fundamental to both search and navigation in iOS 9. Through the new search APIs, app developers expose important content, features, and navigation points inside their apps, and enable the app to open immediately to any of these deep link destinations. (And also get back, thanks to ubiquitous "Back to ..." buttons.) And besides exposing "where can I go within this app," deep link destinations also enable iOS to capture a running stream of "where am I now in this app," similar to a browser's history of pages visited. The new search APIs also enable the developer to richly describe each deep link destination, with detailed descriptions, thumbnail images, keywords and even domain-specific data like prices and ratings. So iOS 9 now has a treasure trove of information to leverage in delivering a rich, seamless search and navigation experience.
But what about the web? And what about interacting and sharing with others who might not have the same set of apps I do? So often, content and functionality that exists inside an app also exists on the web—consider Twitter, Airbnb, and tons of other cases. Is there a way to extend seamlessness beyond my mobile device and encompass the web and sharing?
It turns out that the answer is yes. iOS 9 introduces a new form of web-compatible deep link URL known as Universal Links. The URLs themselves are nothing new, and actually that's the point: these are normal http or https URLs that point to normal web pages. The Universal Link magic happens when the app developer / website owner informs Apple, through a combination of app entitlements and web server content, that this website's URLs map to deep link destinations within their app. Anywhere that iOS 9 encounters a Universal Link—be in Safari or Mail or Messages or another app—it can open that link directly in the app. If the app isn't installed, then iOS 9 gracefully falls back to opening the URL in Safari. Links to tweets, recipes, Airbnb listings, LinkedIn profiles—all can now open directly and seamlessly in their native apps. Website owners can even mark up their Universal Link-associated web pages with descriptive metadata such as thumbnail images, ratings, and review counts, which then surface as rich, actionable Safari or Spotlight results. And again, behind this simple user experience is a major infrastructure investment. To make this all work, Apple has actually built its own web crawler, Applebot, to maintain a huge and rapidly-growing cloud repository of every deep app link on the web and its associated metadata. (I'm tracking a growing list apps that support Universal Links here.)
App developers have an added incentive to invest in implementing iOS 9's new search and deep linking features: discoverability. Given a high relevance match, Safari and Spotlight search will return app search results even for apps that aren't yet installed. The example used at WWDC was a search for "sprained ankle," which returned app results to relevant content within several medical reference apps, based on other users having found that content useful. Developers will want to get their iOS 9 updates rolled out ASAP, since every user interaction helps populate Apple's cloud index and increase app discoverability. The result can be exposure to millions of new potential customers.
One final note: although iOS 9 arrives today, seamlessness in its full glory will take time. Developers need to update their apps and websites, and then it will take time for Apple's cloud index to populate and reach critical mass. I'm guessing two to three months before seamlessness is really rocking.
See also: a running list of apps that support Universal Links.