Siri is a hot feature on iOS devices. People love the feeling that comes with talking to their iPhone or Apple Watch and having it do things. They’ve also noticed that until recently, Siri was limited to Apple applications. It’s now possible for independent iOS developers to create applications that it will (literally) talk to, within limits. This is sure to lead to lots of new Siri-enabled applications and Siri upgrades for existing apps.
Apple provides a software development kit appropriately called SiriKit. An application needs to have a SiriKit extension in order to accept voice commands. The extension is active all the time, even if the app hasn’t been launched.
Domains and Intents
Applications need to fall into a certain set of domains to work with Siri. The list has grown since the initial announcement, but currently it supports only these domains:
- VoIP calls
- Booking rides
- Reservations at restaurants
If you want to create an application that accepts Siri requests for other purposes, such as discovering and ordering a book or locating a hotel, you’re out of luck for the present. Siri works with Apple Music, but not with any other streaming applications.
Each domain defines a list of “intents” or command types. Siri does the work of handling the spoken request, turning it into an intent and sending it to an extension which can handle it, or else telling the user it can’t handle the request.
An intent comes with parameters, which the extension has to resolve. It sends a response back to Siri, indicating it can handle the request as it is or that it needs confirmation or disambiguation of some parameters. After resolving everything, the extension performs the action and tells Siri the result.
Apple offers CarPlay for automobiles, integrating the iPhone with automotive sound systems. Third-party CarPlay applications can use Siri. It appears, though, that not just anyone can develop a CarPlay application.
An MFi license from Apple is required, and Apple says it supports “apps developed by car manufacturers” (and presumably by software companies working for them). Apple encourages developers of messaging apps to inquire about CarPlay integration, but for the most part independent developers appear to be shut out of this area.
Extending Siri’s Vocabulary
An application can define vocabulary terms for Siri. Terms can be specific to a user or global for all users of the application. Curiously, developers specify a term’s pronunciation not by a consistent phonetic system but by giving soundalike words. Apple gives the example of “eye toons” to represent the pronunciation of “iTunes.”
The terms and pronunciations can be in any designated language, though. Siri supports 37 language variants, including six national forms of English. Some domains don’t support all the languages.
Expanding Existing Applications
Within the limits Apple has set, there are a lot of opportunities for integrating existing iOS applications with Siri. A well-written application, with a clean separation between the user interface and the functions it performs, will be easiest to adapt.
The Siri extension needs careful thought. It should make reasonable defaults, so that the user will get a “do what I mean” experience. It can ask Siri to get clarifications from the user when necessary, but if it does this too much, the user will find the interaction frustrating. Responses need to be quick, taking no more than a few seconds. It needs vocabulary terms which the user is likely to try.
Siri has grown more versatile with each release. People who tried early versions and decided it was a cute trick without much practical use should give it another try. People looking into custom iOS applications for their business should look into whether they can benefit from Siri support.
Whether your idea is a Siri candidate or not, AppIt Ventures will deliver a mobile application that will do the best job for your customers or employees. Contact us to talk about what we can do for you.