A couple of weeks ago at WWDC, Apple unveiled the grand concept of Map extensions. Extensions allow developers to integrate their own custom app functionality into the native Apple Maps app. In order to integrate your app with Apple Maps, developers will need to use a new form of extensions called Intents.
The model of intents in maps follow the same line of logic as extensions with the new SiriKit. Apple limits the use of MapKit extensions to only those apps that meet certain criteria, however, compared to SiriKit, the list of allowed app types decreases from about seven to only two. Developers whose apps deal with reserving a table at a restaurant or finding/purchasing a ride to any location on the map can now use these brand-new extensions to expand the usability of their apps.
Ever since the unveiling of extensions in iOS 8, Apple has allowed developers to enable their customers to use their apps throughout their phone when needed. Now, with Map extensions, if a user searches for a local restaurant, OpenTable and other reserving platforms can display table availability for certain times and users will not have to leave the app to search (again) for that same restaurant. Having instant access to your app through Apple maps not only betters the user experience but also drastically increases the functionality of your app.
In most apps dealing with locationality, eventually, the user ends up leaving the app to open Apple Maps to get directions. Having Map extensions completely reverses the flow, as once the directions or location are found, your app can now come into play. Maybe for ride sharing opportunities, a user initially believes their destination is in walking distance, but to find out that it’s only $10 to hitch a ride with Uber is a fantastic way to grab their attention.
The API Apple opened up is definitely cool and developers are excited knowing that this is simply a stepping stone. Every year, as we’ve seen, Apple opens more and more of their extensions API. Perhaps, in the future, access to the review system will be open as well, giving developers the ability to provide alternatives to Yelp reviews and allowing users to have a stronger base for making their dining decisions.
In order to develop those beautiful Map extensions demoed at WWDC, developers should look into the Intents.framework. There is significant overlap between intents that MapKit and SiriKit can use, but only a certain segment of those intents work with MapKit. This interchangeability of intents allows for reusability in code, because whether or not a user calls your app from Siri or Maps, the same intent will be called. Luckily for designers, INUIHostedViewContext allows developers to determine which app is calling their intent. This way apps can customize their view’s user interface when displayed through Siri or Apple Maps. For more information regarding actual implementation of intent-based apps, check out Preston’s article on SiriKit intents ( https://willowtreeapps.com/blog/a-deeper-look-at-sirikit-for-ios-10/ ).