Opening the box - indexing app data

WWDC always overflows with information. Processing and communicating the flood of new APIs, features and changes occupies the developer press for weeks after the event.

For example: This morning I listened to The Talk Show where Gruber and Guy English ran through a list of the top level items and missed out several just from time constraints.  I also read the newest NSHipster on iOS 9  that just had space to pick a few, admittedly fascinating, gems. Both are totally worth your attention. 

For me, the most important announcement, and the one that's likely to change the way we perceive 'apps' is the one that got the least amount of press. It'll be on the front-line of Apple's offensive front against Google and Facebook and, in its potential scope and understanding of so-called 'emerging markets' for mobile, is almost breathtakingly bold. Like many things that go unremarked at their developer events, it's groundwork for bigger things later...

Search API

Innocuous sounding title. It got one session (Session 709 - Introducing Search APIs) and a couple of brief labs. Here's the text from the session description (emphasis mine):

"Making your app more discoverable leads to more downloads and generates revenue. iOS 9 adds a variety of ways to surface the rich content in your app making search results more relevant. Understand how you can enhance search results with App History and CoreSpotlight. See how small changes on your website can produce better Safari suggestions. Gain insights into how deep app links can bring people directly where they want to go in your app, making your app's content even more discoverable and searchable than content on the traditional web."

Let's dig into what this means. 

One of the complaints levelled at the concept of apps on mobile, as opposed to mobile-responsive websites, is that the data they contain and generate sits within their walled garden. Apps are great consumers of internet-available content but rarely give much back. Back in 2011 I saw Jeremy Keith at UpdateConf lamenting this and pushing the concept of the One Web, where all data is open and accessible. At the time I found the point annoying but valid. But mostly annoying.

There's been a matching swell of opinion about the web not trying to emulate native apps and work on what it's good at, stemming the constant tide of javascript frameworks. Equally there's information from emerging markets that show startups jumping past 'mobile-first' to go 'mobile-only'. There's no tradition of owning a desktop/laptop machine in the countries so no habit of using a website as their first preference. 

And then along comes Search API. On a high level it's about:

  • surfacing the data within your app to OS-level search on the device and web-level search in the browser. 
  • linking from the search results into the app rather than a matching website.

To example this, imagine you search in Spotlight or Siri on your iPhone for 'grey wool blanket'. Unless you have a message or email with that phrase inside, your results will show links that will open in Safari. In iOS9, if you've indexed your app content, those links, will instead take you to the results in your own app.
If you've marked these deep links as also being public, enough surfaced results will also put these search results on the web via Apple's iCloud servers. This means that searching in a web browser for the same string will produce a result in Mobile Safari that will also open directly in your app instead of the browser

The import of this is huge. Potentially the 'web' becomes a delivery mechanism for formatted data, over https connections,  and the display and interaction with the content sits within your app. It's like lifting the lid on apps to fully participate in the information interchange of the web. 

Another aspect of this is privacy. Apple are betting heavily on privacy as the next battleground with their peers at the head of the technology industry. Google announced app content indexing through their Google Now brand, with the inference that the content you index will also be indexed and anonymised data available to the usual advertising market which makes up their real revenue stream. 

Apple have received some criticism for their privacy stance by people saying that until they offer suitable alternatives to ad-supported services they should throw stones in that particular glass house. These services are starting to appear though, including the interesting announcement that Apple Music will come to Android; how close behind could an iCloud implementation for Android be, offering sync and storage for mail, calendar, contacts, photos etc..?

And now they announced a matching service to the Google 'Now for Apps' service that explicitly will not sell the data usage and analytics.

So... Apps as the new web, app data surfaced through local and network searching, browsers linking directly to app content and Apple starting to take the battle to Google on their own turf, content indexing. Interesting times... 

I'll write a follow up with specifics about how the API side works and I'd love to hear your opinions too. See you on Twitter.

Transitioning to Swift - starting point

Staying on the Radar