217 wwdc16 – introducing sirikit final 05...“hey siri, can you please do me a favor and launch...
TRANSCRIPT
© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
“Hey Siri, say hello to apps”
App Frameworks #WWDC16
Session 217
Introducing SiriKit
Robby Walker SiriKit EngineeringBrandon Newendorp SiriKit EngineeringCorey Peterson SiriKit Design
Agenda
SiriKit
NEW
Agenda
SiriKitExtensions
NEW
Agenda
SiriKitExtensionsDesign
NEW
UnicornChat
UnicornChat
UnicornChat
“Hey Siri, send a UnicornChat message”UnicornChat
“Hey Siri, send a UnicornChat message”
To whom?
UnicornChat
“Hey Siri, send a UnicornChat message”
“Celestra”
To whom?
UnicornChat
What do you want to say to Celestra?
“Hey Siri, send a UnicornChat message”
“Celestra”
To whom?
UnicornChat
What do you want to say to Celestra?
“Hey Siri, send a UnicornChat message”
“Let’s add more sparkle transitions”
“Celestra”
To whom?
UnicornChat
“Send a message to Celestra on UnicornChat”
What do you want to say to Celestra?
“Send a message to Celestra on UnicornChat”
“Let’s add more sparkle transitions”
“UnicornChat Celestra let’s add more sparkle transitions”
“ ”
“Hey Siri, can you please do me a favor andlaunch the UnicornChat app to send a text withthe message let’s add more sparkle transitions”
To whom?
“Hey Siri, can you please do me a favor andlaunch the UnicornChat app to send a text withthe message let’s add more sparkle transitions”
“My very best friend Celestra”
SiriKit and Your App
SiriKit and Your App
Quality
SiriKit and Your App
QualityConsistency
SiriKit and Your App
QualityConsistencyEasy to adopt
SiriKit and Your App
QualityConsistencyEasy to adopt
Speech
Speech Intent
Speech Intent Action
Speech Intent ResponseAction
Speech Intent ResponseAction
Vocabulary
Speech Intent ResponseAction
Vocabulary AppLogic
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Speech Intent ResponseAction
What do you want to say to Celestra?
“Hey Siri, send a UnicornChat message to Celestra”
“Let’s add more sparkle transitions”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
“Hey Siri, send a UnicornChat message to Celestra”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
“Hey Siri, send a UnicornChat message to Celestra”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
“Hey Siri, send a UnicornChat message to Celestra”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
“Hey Siri, send a UnicornChat message to Celestra”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Recipient
“Hey Siri, send a UnicornChat message to Celestra”
What do you want to say to Celestra?
“Let’s add more sparkle transitions”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Recipient
Content
“Hey Siri, send a UnicornChat message to Celestra”
What do you want to say to Celestra?
“Let’s add more sparkle transitions”
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Recipient
Content
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Domain: MessagesIntent: sendMessageRecipient: CelestraContent: Let’s add more sparkle transitions
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
Speech Intent ResponseAction
Vocabulary AppLogic
UserInterface
SiriKit
SiriKit
Simple
SiriKit
SimplePowerful
Speaking Siri’s Language
Brandon Newendorp SiriKit Engineering
Speaking Siri’s Language
Speaking Siri’s Language
Siri works in domains
Speaking Siri’s Language
Siri works in domainsMessaging, VoIP calling, Payments, Workouts, Ride booking, Photo search
Speaking Siri’s Language
Siri works in domainsMessaging, VoIP calling, Payments, Workouts, Ride booking, Photo searchGroup of known actions, or intents
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPay
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPayPayee: Buttercup
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPayPayee: ButtercupAmount: 85
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPayPayee: ButtercupAmount: 85Currency: USD
Speaking Siri’s Language
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPayPayee: ButtercupAmount: 85Currency: USDNote: Rainbow polish
Speaking Siri’s Language
Speaking Siri’s Language
Common language
Speaking Siri’s Language
Common languageIntents describe actions
Speaking Siri’s Language
Common languageIntents describe actionsIntentResponses describe results
IntentSpeaking Siri’s Language
IntentSpeaking Siri’s Language
Action to be performed
IntentSpeaking Siri’s Language
Action to be performedZero-to-many parameters
IntentSpeaking Siri’s Language
Action to be performedZero-to-many parametersClassified into a domain
IntentResponseSpeaking Siri’s Language
IntentResponseSpeaking Siri’s Language
Result of handling an intent
IntentResponseSpeaking Siri’s Language
Result of handling an intentResponse code
IntentResponseSpeaking Siri’s Language
Result of handling an intentResponse code NSUserActivity
Lifecycle of an Intent
Lifecycle of an Intent
Resolve
Lifecycle of an Intent
Resolve
Lifecycle of an Intent
Resolve Confirm
Lifecycle of an Intent
Resolve Confirm Handle
Lifecycle of an Intent
Resolve Confirm Handle
ResolveLifecycle of an Intent
ResolveLifecycle of an Intent
Help Siri understand the values the user provided
ResolveLifecycle of an Intent
Help Siri understand the values the user providedOpportunity to influence Siri’s behavior
ResolveLifecycle of an Intent
Help Siri understand the values the user providedOpportunity to influence Siri’s behaviorProvide resolution response
Lifecycle of an Intent
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Domain: Payments Intent: sendPayment App: UnicornPayPayee: Buttercup Amount: 85Currency: USDNote: Rainbow polish
Your app matched the user’s request to a specific personsuccess(with:)
ResolveLifecycle of an Intent
ResolveLifecycle of an Intent
Your app would like the user to confirm the resolved person
confirmationRequired(with:)
ResolveLifecycle of an Intent
Your app needs the user to select from a list of people
disambiguation(with:)
ResolveLifecycle of an Intent
Your app had insufficient information to resolve the person, and would like Siri to ask the user to be more specific
needsMoreDetails(for:)
ResolveLifecycle of an Intent
Your app requires a value be specified, but no value was provided
needsValue
ResolveLifecycle of an Intent
Your app can’t use the specified valueunsupportedWithReason
Your app doesn’t require a value for this parameter
ResolveLifecycle of an Intent
notRequired
Lifecycle of an Intent
Resolve Confirm Handle
Lifecycle of an Intent
Resolve Confirm Handle
ConfirmLifecycle of an Intent
ConfirmLifecycle of an Intent
Tell Siri the expected result of an intent
ConfirmLifecycle of an Intent
Tell Siri the expected result of an intentCheck required state
ConfirmLifecycle of an Intent
Tell Siri the expected result of an intentCheck required stateProvide an intent response
ConfirmLifecycle of an Intent
Tell Siri the expected result of an intentCheck required stateProvide an intent responseSiri prompts for confirmation as necessary
Lifecycle of an Intent
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Service available?
Lifecycle of an Intent
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Service available?
Lifecycle of an Intent
Signed in?
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Service available?
Lifecycle of an Intent
Signed in?Sufficient balance?
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
IntentResponse
Service available?
Lifecycle of an Intent
Signed in?Sufficient balance?
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
ResultCode: Success Payee: Buttercup Amount: 85 Currency: USD Note: Rainbow polish
Lifecycle of an Intent
Resolve Confirm Handle
Lifecycle of an Intent
Resolve Confirm Handle
HandleLifecycle of an Intent
Perform the requested action
HandleLifecycle of an Intent
Perform the requested actionProvide as much information about the result as possible
HandleLifecycle of an Intent
HandleLifecycle of an Intent
HandleLifecycle of an Intent
Network calls can take time
HandleLifecycle of an Intent
Network calls can take timeSiri shows waiting UI
HandleLifecycle of an Intent
Network calls can take timeSiri shows waiting UIProvide response within a few seconds
HandleLifecycle of an Intent
Network calls can take timeSiri shows waiting UIProvide response within a few secondsOtherwise use InProgress response code
Lifecycle of an Intent
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
Lifecycle of an Intent
“Hey Siri, send Buttercup 85 bucks on UnicornPay for rainbow polish”
IntentResponse
ResultCode: Success Payee: Buttercup Amount: 85 Currency: USD Note: Rainbow polish
Adding SiriKit to Your App
Adding SiriKit
Adding SiriKit
Two new extension points
Adding SiriKit
Two new extension points• Intents extension
Adding SiriKit
Two new extension points• Intents extension• Intents UI extension
Adding SiriKit
Two new extension points• Intents extension• Intents UI extension
Provide words and phrases to aid recognition
Adding SiriKit
Two new extension points• Intents extension• Intents UI extension
Provide words and phrases to aid recognition• App vocabulary
Adding SiriKit
Two new extension points• Intents extension• Intents UI extension
Provide words and phrases to aid recognition• App vocabulary• User vocabulary
Adding SiriKit
Intents Extension
Adding SiriKit
Intents Extension
Resolve Confirm Handle
Intents extensionAdding SiriKit
Intents extensionAdding SiriKit
Basis of SiriKit
Intents extensionAdding SiriKit
Basis of SiriKitSupports one or more intents
Intents extensionAdding SiriKit
Basis of SiriKitSupports one or more intentsRuns in the background while Siri is active
Intents extensionAdding SiriKit
Basis of SiriKitSupports one or more intentsRuns in the background while Siri is activeImplements resolve, confirm, and handle methods
SecurityAdding SiriKit
SecurityAdding SiriKit
Restrict while locked
SecurityAdding SiriKit
Restrict while lockedLocal Authentication framework
WWDC 2014Keychain and Authentication with Touch ID
SecurityAdding SiriKit
Restrict while lockedLocal Authentication frameworkApple Pay support
NEW
WWDC 2014Keychain and Authentication with Touch ID
What’s New with Wallet and Apple Pay Mission Tuesday 3:00PM
Adding SiriKit
Intents Extension
Adding SiriKit
Intents Extension
Adding SiriKit
Intents Extension Intents UI Extension
Adding SiriKit
Intents Extension Intents UI Extension
Intents UI extensionAdding SiriKit
Intents UI extensionAdding SiriKit
Bring your app’s interface into Siri
Intents UI extensionAdding SiriKit
Bring your app’s interface into SiriProvide a UIViewController
Intents UI extensionAdding SiriKit
Bring your app’s interface into SiriProvide a UIViewController Optional
Intents UI extensionAdding SiriKit
Bring your app’s interface into SiriProvide a UIViewController OptionalAvailable for certain intents
Intents UI extensionAdding SiriKit
Intents UI extensionAdding SiriKit
Show additional information
Intents UI extensionAdding SiriKit
Show additional informationUpdate status
Intents UI extensionAdding SiriKit
Show additional informationUpdate statusDisplayed alongside Siri content
Intents UI extensionAdding SiriKit
Show additional informationUpdate statusDisplayed alongside Siri contentCan replace select Siri interface elements
Intents UI extensionAdding SiriKit
Show additional informationUpdate statusDisplayed alongside Siri contentCan replace select Siri interface elementsNot interactive
Adding SiriKit
Intents Extension Intents UI Extension
Adding SiriKit
Intents Extension Intents UI Extension
Adding SiriKit
Intents Extension AppIntents UI Extension
Adding SiriKit
Intents Extension AppIntents UI Extension
VocabularyAdding SiriKit
VocabularyAdding SiriKit
Many apps have unique ways of describing things
VocabularyAdding SiriKit
Many apps have unique ways of describing thingsSiri needs your assistance to understand words and phrases unique to your app
VocabularyAdding SiriKit
Many apps have unique ways of describing thingsSiri needs your assistance to understand words and phrases unique to your appSome phrases are part of your app
VocabularyAdding SiriKit
Many apps have unique ways of describing thingsSiri needs your assistance to understand words and phrases unique to your appSome phrases are part of your appOther phrases are unique to the user of your app
App-specific vocabularyAdding SiriKit
App-specific vocabularyAdding SiriKit
Words and phrases that are part of your app
App-specific vocabularyAdding SiriKit
Words and phrases that are part of your appKnown to all users of your app
App-specific vocabularyAdding SiriKit
Words and phrases that are part of your appKnown to all users of your appDefined in a plist
App-specific vocabularyAdding SiriKit
Words and phrases that are part of your appKnown to all users of your appDefined in a plistLocalized
App-specific vocabularyAdding SiriKit
Vocabulary plist
App-specific vocabularyAdding SiriKit
Start a workout with UnicornFit
Vocabulary plist
Example Uses for App
App-specific vocabularyAdding SiriKit
Start a workout with UnicornFit
workoutName
Vocabulary plist
Example Uses for App
Parameter
App-specific vocabularyAdding SiriKit
Phrase
Start a workout with UnicornFit
workoutName
Colorlicious
Vocabulary plist
Example Uses for App
Parameter
App-specific vocabularyAdding SiriKit
Pronunciation
Phrase
Start a workout with UnicornFit
workoutName
Colorlicious
colorlishus
Vocabulary plist
Example Uses for App
Parameter
App-specific vocabularyAdding SiriKit
Pronunciation
Examples
Phrase
Start a workout with UnicornFit
workoutName
Colorlicious
colorlishus
Do a Colorlicious in UnicornFit
Vocabulary plist
Example Uses for App
Parameter
User-specific vocabularyAdding SiriKit
User-specific vocabularyAdding SiriKit
Terminology that’s specific to an individual user
User-specific vocabularyAdding SiriKit
Terminology that’s specific to an individual userProvided by your app
User-specific vocabularyAdding SiriKit
Terminology that’s specific to an individual userProvided by your appOrderedSet of terms
Other Contacts
User-specific vocabularyAdding SiriKit
All Contacts
Other Contacts
User-specific vocabularyAdding SiriKit
All Contacts
Other Contacts
User-specific vocabularyAdding SiriKit
Recent Contacts All Contacts
Other Contacts
User-specific vocabularyAdding SiriKit
Recent Contacts
Other Contacts
User-specific vocabularyAdding SiriKit
Recent ContactsFavorites
User-specific vocabularyAdding SiriKit
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords• iOS address book is already available to Siri
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords• iOS address book is already available to Siri
Only provide necessary values
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords• iOS address book is already available to Siri
Only provide necessary valuesSend data on changes
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords• iOS address book is already available to Siri
Only provide necessary valuesSend data on changesDelete promptly
User-specific vocabularyAdding SiriKit
Contacts, workout names, photo albums, photo keywords• iOS address book is already available to Siri
Only provide necessary valuesSend data on changesDelete promptlyRemove all vocabulary when needed
PermissionsAdding SiriKit
PermissionsAdding SiriKit
Request authorization
PermissionsAdding SiriKit
Request authorization
PermissionsAdding SiriKit
Request authorization Explain what data goes to Siri
PermissionsAdding SiriKit
Request authorization Explain what data goes to SiriRequest permission from your app
SiriKit and iOS
SiriKit and iOS
Siri is an integral part of iOS
SiriKit and iOS
Siri is an integral part of iOSIntents.framework
SiriKit and iOS
Siri is an integral part of iOSIntents.framework
Contacts integration
SiriKit and iOS
Siri is an integral part of iOSIntents.framework
Contacts integrationCallKit
SiriKit and iOS
For Free!
Selecting Your App
Selecting Your App
User must say the name of your app
Selecting Your App
User must say the name of your appBundle display name
Selecting Your App
User must say the name of your appBundle display nameCan be used in many parts of speech
Selecting Your App
User must say the name of your appBundle display nameCan be used in many parts of speechVerbing the app name
Selecting Your App
User must say the name of your appBundle display nameCan be used in many parts of speechVerbing the app name• “UnicornChat Celestra order five rainbow rolls please”
Get me a bicorn ride on UnicornRide to the forest
UnicornPay 18 dollars to Sparkle Sparkly
UnicornChat Celestra order five rainbow rolls please
Start a 15-minute trot with UnicornFit
Ask CJ to UnicornPay me 25 dollars to cover dinner at Noon’s Grill
Using UnicornChat tell Pinky Nose that I’m running late
I need a UnicornRide to get me home
End my UniDuel in UnicornFit
Call Lucky Moontrotter using UnicornChat
Designing a Great Siri Experience
Corey Peterson SiriKit Design
Design Topics
Design Topics
How Siri helps you
Design Topics
How Siri helps youDesign guidelines
Design Topics
How Siri helps youDesign guidelinesPolish the design
User Interface
Send
Conversational Interface
Conversational Interface
Context through conversation
Conversational Interface
Context through conversationInformation in the user’s head
Conversational Interface
Context through conversationInformation in the user’s headShaped by questions and responses
Conversational Interface
Context through conversationInformation in the user’s headShaped by questions and responses• Important to think about how Siri asks and responds
Ready to Send It?
“Send it”
Ready to Send It?
“Send it”
“No”
Ready to Send It?
“Send it”
“No”
“Cancel”
Ready to Send It?
“Send it”
“No”
“Cancel”
“Read it to me again”
Ready to Send It?
“Send it”
“No”
“Cancel”
“Read it to me again”
“Change it”
Ready to Send It?
“Send it”
“No”
“Cancel”
“Read it to me again”
“Change it”
“Yes” “Yes please” “Send” “OK” “Yes thank you” “Do it” “Yes I would”
“No thanks” “Don’t do it” “Not yet” “I’m not ready” “Nope” “Nah”
“Discard the message” “Cancel it” “Cancel the message” “Discard”
“Read it” “What does it say” “Read it back to me”
No edit” “Send it to Eric instead” “Edit the message” “Change it to say…”
Ready to Send It?
And how you can help, tooHow Siri Helps You
And how you can help, tooHow Siri Helps You
Test with many different requests
And how you can help, tooHow Siri Helps You
Test with many different requestsTest in different situations
And how you can help, tooHow Siri Helps You
Test with many different requestsTest in different situationsProvide info to Siri
Design Guidelines
A conversation with your usersDesign Guidelines
A conversation with your usersDesign Guidelines
Prepare
A conversation with your usersDesign Guidelines
PrepareBe a good listener
A conversation with your usersDesign Guidelines
PrepareBe a good listenerAsk questions
A conversation with your usersDesign Guidelines
PrepareBe a good listenerAsk questionsRespond to the request
PrepareDesign Guidelines
PrepareDesign Guidelines
Users aren’t exactly like you
PrepareDesign Guidelines
Users aren’t exactly like youAsk real people—“What would you say to Siri?”
“Get a ride”
“Get a ride”
“Get me to SFO with UnicornRides”
“Get a ride”
“Get me to SFO with UnicornRides”
“Ask UnicornRides to get me a Pegasus for 6 people from 300 Post Street to Bill Graham Auditorium”
Be a good listenerDesign Guidelines
Be a good listenerDesign Guidelines
Use the original request
Be a good listenerDesign Guidelines
Use the original requestPick good defaults
Be a good listenerDesign Guidelines
Use the original requestPick good defaultsMake educated guesses
Be a good listenerDesign Guidelines
Use the original requestPick good defaultsMake educated guessesAvoid bad surprises
Ask questionsDesign Guidelines
Ask questionsDesign Guidelines
Keep it simple!
Ask questionsDesign Guidelines
Keep it simple! Only ask for things that are necessary
Ask questionsDesign Guidelines
Keep it simple! Only ask for things that are necessaryHandle errors
ConfirmationDesign Guidelines
ConfirmationDesign Guidelines
Presenting a single option
ConfirmationDesign Guidelines
Presenting a single optionCheck with the user:
ConfirmationDesign Guidelines
Presenting a single optionCheck with the user:• If you made an educated guess
ConfirmationDesign Guidelines
Presenting a single optionCheck with the user:• If you made an educated guess• If there is a big impact
DisambiguationDesign Guidelines
DisambiguationDesign Guidelines
Presenting multiple options
DisambiguationDesign Guidelines
Presenting multiple options• Small number of possibilities
DisambiguationDesign Guidelines
Presenting multiple options• Small number of possibilities• Filtered list from the user’s request
DisambiguationDesign Guidelines
Presenting multiple options• Small number of possibilities• Filtered list from the user’s request
Siri can read the list
Final confirmationDesign Guidelines
Final confirmationDesign Guidelines
Siri checks with your extension
Final confirmationDesign Guidelines
Siri checks with your extension• Send info to Siri to present
Final confirmationDesign Guidelines
Siri checks with your extension• Send info to Siri to present
Siri checks with the user
Siri gives the resultsRespond to the Request
Siri gives the resultsRespond to the Request
Matches the request
Siri gives the resultsRespond to the Request
Matches the requestWorks everywhere (CarPlay, “Hey Siri”)
Siri gives the resultsRespond to the Request
Matches the requestWorks everywhere (CarPlay, “Hey Siri”)Siri provides visual UI
Custom UI (optional)Respond to the Request
Custom UI (optional)Respond to the Request
Bring the feel of your app into Siri
Custom UI (optional)Respond to the Request
Bring the feel of your app into SiriLimit what you show
Custom UI (optional)Respond to the Request
Bring the feel of your app into SiriLimit what you showDesign for multiple device sizes
Custom UI (optional)Respond to the Request
Custom UI (optional)Respond to the Request
Custom UI (optional)Respond to the Request
Use API to hide redundant info
Custom UI (optional)Respond to the Request
Use API to hide redundant infoRepresent everything visually
Custom UI (optional)Respond to the Request
Use API to hide redundant infoRepresent everything visuallyStill send all info to Siri
In your appRespond to the Request
In your appRespond to the Request
App provides follow up actions
In your appRespond to the Request
App provides follow up actionsDon’t surprise the user
Polish the Design
647 x 1150
647 x 1150
GuidelinesGuide Examples
GuidelinesGuide Examples
Include your app name
GuidelinesGuide Examples
Include your app nameKeep your examples short
GuidelinesGuide Examples
Include your app nameKeep your examples shortProvide multiple examples for each intent
GuidelinesGuide Examples
Include your app nameKeep your examples shortProvide multiple examples for each intent• Prioritize intents and examples
GuidelinesGuide Examples
Include your app nameKeep your examples shortProvide multiple examples for each intent• Prioritize intents and examples• Localized examples
GuidelinesGuide Examples
Include your app nameKeep your examples shortProvide multiple examples for each intent• Prioritize intents and examples• Localized examples
Make sure they work
AvoidGuide Examples
Would you please tell meet a ride with UnicornRides”g
here is my UnicornRide?”w““Hey Siri,G
W
GoodGuide Examples
““ et a ride with UnicornRides”gG
here is my UnicornRide?”wW
Iterate on the Experience
Iterate on the Experience
Experiment
Iterate on the Experience
Experiment Try it with real people
Iterate on the Experience
Experiment Try it with real peopleTry it in different situations
Iterate on the Experience
Experiment Try it with real peopleTry it in different situationsDoes it feel right?
Summary
Summary
SiriKit
Summary
SiriKitExtensions, Intents, Vocabulary
Summary
SiriKitExtensions, Intents, VocabularyDesign the conversation
More Information
https://developer.apple.com/wwdc16/217
Related Sessions
What’s New with Wallet and Apple Pay Mission Tuesday 3:00PM
Engineering Privacy for Your Users Pacific Heights Wednesday 4:00PM
Enhancing VoIP Apps with CallKit Mission Thursday 5:00PM
Related Sessions
Extending Your Apps with SiriKit Nob Hill Thursday 1:40PM
Labs
SiriKit Lab FrameworksLab C Thursday 3:00PM
SiriKit Lab FrameworksLab B Friday 9:00AM