Delivered at Casual Connect Europe 2016
Game developers often wonder what’s next, and we’ve heard a lot of talk about VR and AR devices. One new technology we don’t need to wonder about is Voice Interfaces. Voice command interfaces aren’t a question of ‘if’ or ‘when’ anymore; they’re a question of ‘how’. With audio interfaces common in vehicles, cell phone assistants and other consumer electronics, you will need to design an audio interface. And you’ll probably do that sooner rather than later. Mike Hines has worked with the lead developer on the Capital One Voice Skill for Amazon Alexa, and in this session you will see and hear about the most common (and amusing) traps developers fall into when designing audio interfaces. Leveraging lessons learned from developers like Capital One, learn industry best practices of designing apps and games for Voice.
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Voice Services – Speaking About the Next User Interface | Mike Hines
1. Voice Services
Speaking About the Next User Interface…
Reach Engage Earn
MIKE HINES
DEVELOPER EVANGELIST, AMAZON
@MikeFHines mikehines45
mihines@amazon.com
2. Imagine ordering food at a fast food restaurant,
and the automated server asks you:
“Do you want chips or salad with your order?”
You say: “Yes I would!”
The server stops and throws and error…
3. This is what the developer of the
automated server was starting
from.
Why?
NOT ALL UI IS
CREATED EQUAL
4. Fire TV and Echo
taught Amazon a lot about
VOICE INTERACTIONS
Voice Recognition
is not
Natural Language Understanding
The key is in the interactions
5. Interactions are how you talk to your customer.
They invite your customers to a conversation.
Conversations create experiences.
6. Key Design Principles for
VOICE INTERACTIONS
Interactions Should ProvideHigh Value
An Interaction ShouldEvolve Over Time
Users CanSpeak toYour Service Naturally andSpontaneously
The Service ShouldUnderstand MostRequests toYour Interface
An Interface Should Respond in an Appropriate Way
8. High Utility Low Utility
Doing
Performs a Task
“Alexa, ask Scout to arm
away mode.”
“Away mode armed. You
have 45 seconds to leave
the house.”
Searching
Identifies specific info
“Alexa, ask Vendor if
there are Madonna tickets
available for this
weekend.”
“There are a limited
amount of tickets, ranging
from $49 to $279.”
Telling
Provides a quick
reference point
“Alexa, tell me a cat fact.”
“It is well known fact that
cats are smarter than
dogs.”
Browsing
Gives info on a broad
subject
“Alexa, ask Amazon
what’s on sale.”
“The following items are
on sale right now...”
9. Interactions Should Provide High Value
Voice is conversational. Very different than touch driven experiences. Less is
more.
A large majority of the types of interactions submitted today can grow with
the user over time. Aim for interactions that perform tasks on behalf of the
user and learn as time goes on.
This will provide a much better experience and lead to more interactions that
can do more.
10. Customer secure
ACCOUNT LINKING
• Allow your customers to link their
accounts to your service.
• Platform may provide this.
• Developer may have to provide.
12. An Interaction Should Evolve Over Time
Voice user interfaces work well when they are focused, and give
quick responses.
Start with a primary use case that both communicates your business
case, but is also a clear winner for a voice user interface.
Let’s do one thing well, and add in capabilities allowing it to get
smarter over time.
Evolve shorter, more focused interactions by learning about the
customer.
13. Example of Adaptive Design
VOICE INTERACTION
Launch Travel Buddy
Hi, I’m travel buddy. I can easily tell you about your
daily commute. Let’s get you set up. Where are you
starting from?
Utrecht
Ok, and where are you going?
Amsterdam
Great, now whenever you ask, I can tell you about
the commute from Utrecht to Amsterdam. The
current commute time is forty three minutes. There
is a 15 minute delay from Utrecht Central.
Launch Travel Buddy
Your commute time is currently twenty two minutes.
14. Users Can Speak to Your Interface Naturally and Spontaneously
15. Users Can Speak to Your Interface Naturally and Spontaneously
The experience of using your voice interaction should allow users to
not have to think about what to say and allow them to not remember
how to say it.
They should be able to converse with your interface just as they
would another human.
All they need is a rough idea of what your service can do (e.g.
playing music, placing a call, etc.), and they just ask the service to do
it.
This is the real value of voice interface, but this value can quickly
erode in an interaction that forces users to interact in unnatural ways.
16. Users Can Speak to Your Skill Naturally and Spontaneously
You should try to remove artificial interaction syntax and make
interactions as natural as possible.
Allowing your users to make simple requests without having to think
about the format those requests should be in, will create a much
better experience.
17. Starting a Conversation in
Voice Interactions
Invocation options:
An invocation is how you start your voice service.
With Amazon Alexa, you can say:
“Alexa,
[ask | tell | play | launch | use | start |
begin] MyService
[for | to | and | for]
[variable]”
Alexa, ask [scheduleUpdate] for [dailyUpdate].
Alexa, start [scheduleUpdate].
18. Example of awkward
Voice Interactions
Odd Phrasing: Very odd and/or lengthy invocations
that inhibit using the skill in a conversational and
spontaneous way.
“Order [boots], [hiking], [size 12]”
“Order [size 12] [hiking] [boots].”
Lengthy Invocations: The combination of service
name with the task is often difficult to remember the
exact syntax .
“Ask [transportation service alerts] for the [current
status] of [train] [train_number].”
“Ask [trafficbuddy] about [the train][to Amsterdam]”
20. Your Service Should Understand Most Requests
In a natural voice interaction, most requests are understood and
acted on.
Your service should endeavor to do the same.
Requiring numerous attempts to invoke your service will be
frustrating for your customer.
21. Building a Voice Interface
CUSTOMER INTENT
• The mappings between a customer’s
intents and the typical things they say
that invoke those intents should be
enumerated.
23. Appropriate responses are
TIMELY
Challenge:
• Pauses while the service looks up data are a
much bigger deal for voice that screen
Solution:
• Keep APIs fast
• Leverage Service Session data
• Keep explanations terse…but not rude
24. An Interaction Should Respond in an Appropriate Way
Appropriate responses are timely.
Provide adequate error handling for unexpected or unsupported
input.
A user should never be exposed directly to error handling. (Instead
respond with a request for more information.)
Check for missing variables or values in your service.
If you find any missing information you should respond to the
customer with a reprompt.
26. Having a Good Conversation in a
VOICE INTERFACE
Makes It Clear that the User Needs to Respond
Clearly Presents the Options
Keeps It Brief
Avoids Overwhelming
Offers Help for Complex Skills
Asks Only Necessary Questions
Uses Confirmations Selectively
Obtains One Piece of Information at a Time
Makes Sure Users Know They are in the Right
Place
Avoids Technical and Legal Jargon
Write for the Ear, not the Eye!
27. Digging Deeper into Voice Design
Alexa Skills Kit Voice Design Best Practices - http://bit.ly/voicedesign
Alexa Skills Kit Voice Design Handbook - http://bit.ly/voicehandbook
Wired for Speech: How Voice Activates and Advances the Human-Computer Relationship, by
Nass and Brave
The Elements of VUI Style: A Practical Guide to Voice User Interface Design, by Bouzid and Ma
Don’t Make Me Tap!: A Common Sense Approach to Voice Usability, by Bouzid and Ma
The Voice in the Machine: Building Computers That Understand Speech, by Pieraccini
Voice User Interface Design, by Cohen, Giangola, and Balogh
Did you enjoy this presentation? - http://bit.ly/mikehines
Add your email to the form to enter drawing for a Kindle Fire tablet!
Notes de l'éditeur
Hello
Thank you for coming to learn what the top 50 apps do with IAP that the rest of us don’t do.
(no offense if you’re in the top 50)
My name is Mike Hines, valuable actionable information that will help you be more like the top 50.
For Example: Let’s say you want to build a skill for traffic. First, identify your primary use case. Although, in theory, you could give the traffic information for the distance between any locations, it would be highly complex to successfully create a skill that could recognize any location. So let’s identify the primary use case for traffic: From your home to your office. If we first gather the user’s home/office locations, then the next time they ask for traffic, we would be able to give them the information they seek quickly and easily.
For Example: Let’s say you want to build a skill for traffic. First, identify your primary use case. Although, in theory, you could give the traffic information for the distance between any locations, it would be highly complex to successfully create a skill that could recognize any location. So let’s identify the primary use case for traffic: From your home to your office. If we first gather the user’s home/office locations, then the next time they ask for traffic, we would be able to give them the information they seek quickly and easily.
For Example: Let’s say you want to build a skill for traffic. First, identify your primary use case. Although, in theory, you could give the traffic information for the distance between any locations, it would be highly complex to successfully create a skill that could recognize any location. So let’s identify the primary use case for traffic: From your home to your office. If we first gather the user’s home/office locations, then the next time they ask for traffic, we would be able to give them the information they seek quickly and easily.
Demos of the developer portal screens. Hidden slides that follow show what to enter or demonstrate.
Demos of the developer portal screens. Hidden slides that follow show what to enter or demonstrate.
Getting Information from the User
Make It Clear that the User Needs to Respond
Presenting the options alone does not sufficiently inform the user that they need to respond, so make sure you ask the user a question so they know that they are expected to say something.
User: Alexa, start Trivia Challenge.
DoDon’tTrivia Challenge:
Trivia Challenge. Here are your categories: 80’s Pop Songs, Potent Potables, or European History. Which one do you want?
Trivia Challenge:
Trivia Challenge. You can choose from the following categories: 80’s Pop Songs, Potent Potables, or European History.
Don’t Assume Users Know What to Do
When users experience your capability for the first time, they may give only minimal information by simply asking Alexa to talk to your skill without providing any further detail. When this happens, you need to tell them what options they have for interacting with your experience.
User: Alexa, talk to Car Fu.
DoDon’tCar Fu:
Car Fu. You can ask to get a ride or request a fare estimate. Which will it be?
User: Get a ride.
Car Fu:
Sending your request. A mobile alert will let you know when your car arrives. Thanks for using Car Fu.
Car Fu:
Opening Car Fu.
User: (Here, it may not be obvious to users what they can do unless you give them some options)
Clearly Present the Options
When prompting the user with a set of options, construct the language of your prompt so that it is clear to the user that it is an either/or question. Otherwise, the Alexa TTSservice may render the prompt in a way that sounds like a yes/no question. It is important to listen every prompt on the test device to verify that the TTS is elicited the expected responses.
User: Alexa, ask Food Taxi to order a burger for me.
DoDon’tFood Taxi:
Which side would you like: french fries or a salad?
User: Salad
Food Taxi:
Would you like French fries or a salad?
User: Yes
Keep It Brief
Speech is linear and time-based and users cannot skim spoken content like they can visual content. Users need to make quick decisions in response to questions they are asked because time is ticking. Therefore, prompts should be short and concise, while still being clear.
User: Alexa, ask Astrology Daily to give me my horoscope
DoDon’tAstrology Daily:
Horoscope for which sign?
Astrology Daily:
There are 12 zodiac signs that I can give you a horoscope for, please tell which one you’d like.
Avoid Overwhelming Users with Too Many Choices
When presenting users with a list of options to choose from, make sure choices are clearly stated, do not present more than three choices, and avoid repetitive wording.
User: Alexa, ask Dairy Shack to order me a milkshake.
DoDon’tDairy Shack:
Which flavor would you like: Chocolate, Vanilla, or Strawberry?
Dairy Shack:
What flavor do you want? For chocolate, say Chocolate. For vanilla, say Vanilla. Or for strawberry, say Strawberry.
Offer Help for Complex Skills
When your Alexa capability does a lot of things (more than three), you should not try to fit every option into a single prompt. Instead, present the most important options first, along with help. If the user asks for help, you should list out all your capabilities. Remember to ask the user a question after presenting the options.
User: Alexa, start Score Keeper
DoDon’tScore Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,
give John 5 points,
tell me the score,
start a new game, or
reset all players.
You can also say, stop, if you’re done.
So, how can I help?
Score Keeper:
Score Keeper. You can give a player points, add a new player,
ask for the score,
start a new game,
clear all players,
or stop if you’re done. Now, what would you like?
User: What’s the score?
Note: to provide help for your skill, implement a handler for the built-in AMAZON.HelpIntent that returns the help text. The AMAZON.HelpIntent is invoked when the user requests help using common phrases such as “help,” “help me,” and so on.
Ask Only Necessary Questions
You should make smart assumptions when possible in order to avoid unnecessary questions. Asking non-essential questions adds friction to the user experience and makes your experience seem less thoughtful. Examples:
If your skill only does one thing, do not ask the user if they want to do that thing.
Make educated guesses when appropriate (without making it difficult to correct).
Tailor prompt examples based on the user (e.g., user profile).
User: Alexa, start Joke Bank.
DoDon’tJoke Bank:
What’s black, white, and red all over? An embarrassed skunk.
Joke Bank:
Would you like to hear a joke?
User: Yes.
Use Confirmation Selectively
Avoid dialogs that create too many confirmations, but confirm actions of high consequence, such as:
Actions that are publicly visible (e.g. posting to social media)
Actions that affect another person (e.g. sending a message)
Actions where money is involved (e.g. when the user is buying something)
User: Alexa, ask Astrology Daily for my horoscope.
Astrology Daily: Horoscope for what sign?
User: Libra
DoDon’tAstrology Daily:
Today’s outlook for Libra is…
Astrology Daily:
You want the horoscope for Libra, right?
User: Yes
Obtain One Piece of Information at a Time
Users may not always give all of the information required in one step. If information cannot be assumed, ask the user for the missing information step-by-step.
User: Alexa, Ask Date Night to make a reservation at Haymarket tonight.
DoDon’tDate Night:
Reservation at Haymarket. For what time tonight?
User: About 7:30.
Date Night:
To make a reservation, you need to say the location, time, date and number of people. Please start over.
Use the Amazon Alexa App to Enhance Discovery
Take advantage of your card in the Alexa App to educate users on the capabilities of your experience. When you provide sample interactions in your card, you should only include “full intent” examples. Think of these as the equivalent of the way you’d verbally describe how to use your skill to someone who’d never used it before. Avoid using examples where the user does not give an intent.
DoDon’t“Alexa, ask Score Keeper to start a new game”
“Alexa, ask Score Keeper to add John to the game”
“Alexa, ask Score Keeper to give 5 points to John.”
“Alexa, ask Score Keeper for the score”
“Alexa, open Score Keeper”
“Alexa, start Score Keeper”
“Alexa, talk to Score Keeper”
Presenting Information to the User
Make Sure Users Know They are in the Right Place
In short interactions, it is not necessary to explicitly tell users that they are entering or exiting your experience, but it is still important to let them know where they are to help confirm that they are in the right place (this also helps in cases where Alexa mistakenly routed them to your skill). In speech-only interactions, users do not have the benefit of visuals to orient themselves. Using landmarks tells users that Alexa heard them correctly, orients them in the interaction, and helps to instill trust in your experience.
User: Alexa, ask Astrology Daily for today’s Pisces horoscope.
DoDon’tAstrology Daily:
Here’s today’s Pisces horoscope: You’ve got a friend who can help you overcome today’s problems.
[dialog ends]
Astrology Daily:
You’ve got a friend who can help you overcome today’s problems.
[dialog ends]
Present Information in Consumable Pieces
Humans can only retain small pieces of information that they hear. As such, you should only present what is absolutely required in order to keep the interaction as short as possible. When presenting longer lists, group them into small chunks of three to five items and ask the user if they want to continue after you present each chunk. This also helps users feel like they are in control of the interaction.
User: Alexa, ask Savvy Consumer for best sellers in garden.
DoDon’tSavvy Consumer:
The top seller in the garden department is Repel Lemon Eucalyptus Natural Insect Repellent, 4-Ounce Pump Spray
Would you like to hear the rest?
User: “Yes”
Savvy Consumer:
Number 2: TERRO Ant Killer Liquid Ant Baits
Number 3: Weber 12-Inch 3-Sided Grill Brush
Number 4: Black & Decker 30-Feet Line String Trimmer Replacement Spool
Would you like to hear more?
User: “No”
Savvy Consumer:
Here are the top sellers in the garden department Number 1: Repel Lemon Eucalyptus Natural Insect Repellent, 4-Ounce Pump Spray
Number 2: TERRO Ant Killer Liquid Ant Baits
Number 3: Weber 12-Inch 3-Sided Grill Brush
Number 4: Black & Decker 30-Feet Line String Trimmer Replacement Spool
Number 5:…
Write for the Ear, not the Eye
The prompts written for voice-forward experiences will be heard, not read, so it is important to write them for spoken conversation. Fragment sentences and ending sentences with a preposition are acceptable, if it sounds natural in spoken dialog. Also, remember that what looks good on paper may not sound good when spoken, so make sure to listen to your prompts on your test device to make sure the TTS sounds good.
User: Alexa ask NHL tracker to give me update on the Sharks game.
DoDon’tNHL Tracker:
The Sharks are trailing the Stars, 3 to 2, in the third period.
NHL Tracker:
San Jose Sharks (40-33-9): 2 goals.
Dallas Stars (41-31-10): 3 goals.
Time remaining: 4:35, 3rd period
Avoid Technical and Legal Jargon
Be honest with the user about what is happening, but don’t use technical jargon that the user won’t understand or that does not sound natural. Similarly, since legal messages often contain long, unnatural language meant for reading, not spoken dialog, they can disrupt the voice experience and can confuse users. As much as possible, keep legal jargon out of an Alexa experience (though you should consult your own legal counsel about what may be required for your Alexa experience, and this is not legal advice). Legal disclaimers can be added to the Alexa app for users to read and take time to process, if needed.
User: Alexa, ask Flight Stats for the status of Alaska 328.
DoDon’tFlight Stats:
Alaska flight 328, from Seattle to San Jose, is delayed due to mechanical repairs, and is now scheduled to depart at 6:25.
Flight Stats:
Alaska 328, Seattle to San Jose, is in state DELAY::XFM5341 at the moment. Reposted time of departure is 1825.
User: Alexa, talk to Taxi Broker.
DoDon’tTaxi Broker:
Taxi Broker. Where to? user was presented with terms and conditions when enabling the skill.
Taxi Broker:
Taxi Broker. The Taxi Brokers terms and conditions may apply; if you are a resident of New York then NY law…** Where to?
Handling Dialogue Errors
Use Re-Prompting to Provide Guidance
If user says something that Alexa does not understand, or the user does not respond at all, the Voice Interactions Kit gives you the option of specifying a re-prompt (a prompt that is played after an error). Since only a single prompt is permitted for both low confidence and timeout errors, the prompt you write needs to give the user guidance on what kind of response you are expecting. It is acceptable for re-prompts to be slightly more verbose than the first prompt users hear, but the content needs to clearly present what the user is expected to say.
User: Alexa, ask Tide Pooler for high tides.
Tide Pooler: High tides for what city?
User: Las Vegas
DoDon’tTide Pooler:
I can only provide tide information for coastal cities, like San Diego or Boston. Now, which city would you like?
User: Virginia Beach.
Tide Pooler:
Please tell me another city.
User: Uh….
Offer a Way Out if the User Gets Stuck
False accepts occur when Alexa incorrectly understood what the user said and continues with the wrong information. If Alexa presents your skill to the user by mistake, or the user is otherwise stuck in the interaction, you should offer a way out in the help prompt in case they are unaware that the “stop” command is available.
User: Alexa, start Store Finder
Alexa: [Misinterprets this request as “start Score Keeper”]
DoDon’tScore Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,give John 5 points,tell me the score,start a new game, orreset all players.
You can also say, stop, if you’re done.
So, how can I help?
Score Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,give John 5 points,tell me the score,start a new game, orreset all players.So, how can I help?
Don’t Blame the User
Errors will happen. Expect that they will and handle them well. Do not place blame on the user when errors happen, but do not be too apologetic either (doing so makes your experience seem tentative and further reduces user confidence in your skill).
User: Ask Hotel Hub to find a hotel
Hotel Hub: Hotel reservations for what city?
User: [background noise]
DoDon’tHotel Hub:
What city was that?
Hotel Hub:
The city you gave is not valid. Please say the city where you want to make reservations.
Expect the Unexpected
Unlike a visual interface, where the user can only interact with the affordances presented on the screen, there is no way to limit what users can say in a speech interaction. Because of this, it is important to plan for reasonable things users might say that are not supported –and then handle them intelligently.
User: Ask Date Night to make a reservation at Haymarket tomorrow.
Date Night: Reservation at Haymarket. For what time tomorrow?
User: At 10:30 pm
DoDon’tDate Night:
Haymarket takes reservations between 5:00 and 9:30 pm. What time would you like your reservation?
User: 9:00
Date Night:
And for how many people?
Date Night:
Sorry, what time would you like your reservation for?
User: 10:30 pm
Date Night:
I’m having trouble understanding. <error earcon>
[stream closes; dialog ends]
Getting Information from the User
Make It Clear that the User Needs to Respond
Presenting the options alone does not sufficiently inform the user that they need to respond, so make sure you ask the user a question so they know that they are expected to say something.
User: Alexa, start Trivia Challenge.
DoDon’tTrivia Challenge:
Trivia Challenge. Here are your categories: 80’s Pop Songs, Potent Potables, or European History. Which one do you want?
Trivia Challenge:
Trivia Challenge. You can choose from the following categories: 80’s Pop Songs, Potent Potables, or European History.
Don’t Assume Users Know What to Do
When users experience your capability for the first time, they may give only minimal information by simply asking Alexa to talk to your skill without providing any further detail. When this happens, you need to tell them what options they have for interacting with your experience.
User: Alexa, talk to Car Fu.
DoDon’tCar Fu:
Car Fu. You can ask to get a ride or request a fare estimate. Which will it be?
User: Get a ride.
Car Fu:
Sending your request. A mobile alert will let you know when your car arrives. Thanks for using Car Fu.
Car Fu:
Opening Car Fu.
User: (Here, it may not be obvious to users what they can do unless you give them some options)
Clearly Present the Options
When prompting the user with a set of options, construct the language of your prompt so that it is clear to the user that it is an either/or question. Otherwise, the Alexa TTSservice may render the prompt in a way that sounds like a yes/no question. It is important to listen every prompt on the test device to verify that the TTS is elicited the expected responses.
User: Alexa, ask Food Taxi to order a burger for me.
DoDon’tFood Taxi:
Which side would you like: french fries or a salad?
User: Salad
Food Taxi:
Would you like French fries or a salad?
User: Yes
Keep It Brief
Speech is linear and time-based and users cannot skim spoken content like they can visual content. Users need to make quick decisions in response to questions they are asked because time is ticking. Therefore, prompts should be short and concise, while still being clear.
User: Alexa, ask Astrology Daily to give me my horoscope
DoDon’tAstrology Daily:
Horoscope for which sign?
Astrology Daily:
There are 12 zodiac signs that I can give you a horoscope for, please tell which one you’d like.
Avoid Overwhelming Users with Too Many Choices
When presenting users with a list of options to choose from, make sure choices are clearly stated, do not present more than three choices, and avoid repetitive wording.
User: Alexa, ask Dairy Shack to order me a milkshake.
DoDon’tDairy Shack:
Which flavor would you like: Chocolate, Vanilla, or Strawberry?
Dairy Shack:
What flavor do you want? For chocolate, say Chocolate. For vanilla, say Vanilla. Or for strawberry, say Strawberry.
Offer Help for Complex Skills
When your Alexa capability does a lot of things (more than three), you should not try to fit every option into a single prompt. Instead, present the most important options first, along with help. If the user asks for help, you should list out all your capabilities. Remember to ask the user a question after presenting the options.
User: Alexa, start Score Keeper
DoDon’tScore Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,
give John 5 points,
tell me the score,
start a new game, or
reset all players.
You can also say, stop, if you’re done.
So, how can I help?
Score Keeper:
Score Keeper. You can give a player points, add a new player,
ask for the score,
start a new game,
clear all players,
or stop if you’re done. Now, what would you like?
User: What’s the score?
Note: to provide help for your skill, implement a handler for the built-in AMAZON.HelpIntent that returns the help text. The AMAZON.HelpIntent is invoked when the user requests help using common phrases such as “help,” “help me,” and so on.
Ask Only Necessary Questions
You should make smart assumptions when possible in order to avoid unnecessary questions. Asking non-essential questions adds friction to the user experience and makes your experience seem less thoughtful. Examples:
If your skill only does one thing, do not ask the user if they want to do that thing.
Make educated guesses when appropriate (without making it difficult to correct).
Tailor prompt examples based on the user (e.g., user profile).
User: Alexa, start Joke Bank.
DoDon’tJoke Bank:
What’s black, white, and red all over? An embarrassed skunk.
Joke Bank:
Would you like to hear a joke?
User: Yes.
Use Confirmation Selectively
Avoid dialogs that create too many confirmations, but confirm actions of high consequence, such as:
Actions that are publicly visible (e.g. posting to social media)
Actions that affect another person (e.g. sending a message)
Actions where money is involved (e.g. when the user is buying something)
User: Alexa, ask Astrology Daily for my horoscope.
Astrology Daily: Horoscope for what sign?
User: Libra
DoDon’tAstrology Daily:
Today’s outlook for Libra is…
Astrology Daily:
You want the horoscope for Libra, right?
User: Yes
Obtain One Piece of Information at a Time
Users may not always give all of the information required in one step. If information cannot be assumed, ask the user for the missing information step-by-step.
User: Alexa, Ask Date Night to make a reservation at Haymarket tonight.
DoDon’tDate Night:
Reservation at Haymarket. For what time tonight?
User: About 7:30.
Date Night:
To make a reservation, you need to say the location, time, date and number of people. Please start over.
Use the Amazon Alexa App to Enhance Discovery
Take advantage of your card in the Alexa App to educate users on the capabilities of your experience. When you provide sample interactions in your card, you should only include “full intent” examples. Think of these as the equivalent of the way you’d verbally describe how to use your skill to someone who’d never used it before. Avoid using examples where the user does not give an intent.
DoDon’t“Alexa, ask Score Keeper to start a new game”
“Alexa, ask Score Keeper to add John to the game”
“Alexa, ask Score Keeper to give 5 points to John.”
“Alexa, ask Score Keeper for the score”
“Alexa, open Score Keeper”
“Alexa, start Score Keeper”
“Alexa, talk to Score Keeper”
Presenting Information to the User
Make Sure Users Know They are in the Right Place
In short interactions, it is not necessary to explicitly tell users that they are entering or exiting your experience, but it is still important to let them know where they are to help confirm that they are in the right place (this also helps in cases where Alexa mistakenly routed them to your skill). In speech-only interactions, users do not have the benefit of visuals to orient themselves. Using landmarks tells users that Alexa heard them correctly, orients them in the interaction, and helps to instill trust in your experience.
User: Alexa, ask Astrology Daily for today’s Pisces horoscope.
DoDon’tAstrology Daily:
Here’s today’s Pisces horoscope: You’ve got a friend who can help you overcome today’s problems.
[dialog ends]
Astrology Daily:
You’ve got a friend who can help you overcome today’s problems.
[dialog ends]
Present Information in Consumable Pieces
Humans can only retain small pieces of information that they hear. As such, you should only present what is absolutely required in order to keep the interaction as short as possible. When presenting longer lists, group them into small chunks of three to five items and ask the user if they want to continue after you present each chunk. This also helps users feel like they are in control of the interaction.
User: Alexa, ask Savvy Consumer for best sellers in garden.
DoDon’tSavvy Consumer:
The top seller in the garden department is Repel Lemon Eucalyptus Natural Insect Repellent, 4-Ounce Pump Spray
Would you like to hear the rest?
User: “Yes”
Savvy Consumer:
Number 2: TERRO Ant Killer Liquid Ant Baits
Number 3: Weber 12-Inch 3-Sided Grill Brush
Number 4: Black & Decker 30-Feet Line String Trimmer Replacement Spool
Would you like to hear more?
User: “No”
Savvy Consumer:
Here are the top sellers in the garden department Number 1: Repel Lemon Eucalyptus Natural Insect Repellent, 4-Ounce Pump Spray
Number 2: TERRO Ant Killer Liquid Ant Baits
Number 3: Weber 12-Inch 3-Sided Grill Brush
Number 4: Black & Decker 30-Feet Line String Trimmer Replacement Spool
Number 5:…
Write for the Ear, not the Eye
The prompts written for voice-forward experiences will be heard, not read, so it is important to write them for spoken conversation. Fragment sentences and ending sentences with a preposition are acceptable, if it sounds natural in spoken dialog. Also, remember that what looks good on paper may not sound good when spoken, so make sure to listen to your prompts on your test device to make sure the TTS sounds good.
User: Alexa ask NHL tracker to give me update on the Sharks game.
DoDon’tNHL Tracker:
The Sharks are trailing the Stars, 3 to 2, in the third period.
NHL Tracker:
San Jose Sharks (40-33-9): 2 goals.
Dallas Stars (41-31-10): 3 goals.
Time remaining: 4:35, 3rd period
Avoid Technical and Legal Jargon
Be honest with the user about what is happening, but don’t use technical jargon that the user won’t understand or that does not sound natural. Similarly, since legal messages often contain long, unnatural language meant for reading, not spoken dialog, they can disrupt the voice experience and can confuse users. As much as possible, keep legal jargon out of an Alexa experience (though you should consult your own legal counsel about what may be required for your Alexa experience, and this is not legal advice). Legal disclaimers can be added to the Alexa app for users to read and take time to process, if needed.
User: Alexa, ask Flight Stats for the status of Alaska 328.
DoDon’tFlight Stats:
Alaska flight 328, from Seattle to San Jose, is delayed due to mechanical repairs, and is now scheduled to depart at 6:25.
Flight Stats:
Alaska 328, Seattle to San Jose, is in state DELAY::XFM5341 at the moment. Reposted time of departure is 1825.
User: Alexa, talk to Taxi Broker.
DoDon’tTaxi Broker:
Taxi Broker. Where to? user was presented with terms and conditions when enabling the skill.
Taxi Broker:
Taxi Broker. The Taxi Brokers terms and conditions may apply; if you are a resident of New York then NY law…** Where to?
Handling Dialogue Errors
Use Re-Prompting to Provide Guidance
If user says something that Alexa does not understand, or the user does not respond at all, the Voice Interactions Kit gives you the option of specifying a re-prompt (a prompt that is played after an error). Since only a single prompt is permitted for both low confidence and timeout errors, the prompt you write needs to give the user guidance on what kind of response you are expecting. It is acceptable for re-prompts to be slightly more verbose than the first prompt users hear, but the content needs to clearly present what the user is expected to say.
User: Alexa, ask Tide Pooler for high tides.
Tide Pooler: High tides for what city?
User: Las Vegas
DoDon’tTide Pooler:
I can only provide tide information for coastal cities, like San Diego or Boston. Now, which city would you like?
User: Virginia Beach.
Tide Pooler:
Please tell me another city.
User: Uh….
Offer a Way Out if the User Gets Stuck
False accepts occur when Alexa incorrectly understood what the user said and continues with the wrong information. If Alexa presents your skill to the user by mistake, or the user is otherwise stuck in the interaction, you should offer a way out in the help prompt in case they are unaware that the “stop” command is available.
User: Alexa, start Store Finder
Alexa: [Misinterprets this request as “start Score Keeper”]
DoDon’tScore Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,give John 5 points,tell me the score,start a new game, orreset all players.
You can also say, stop, if you’re done.
So, how can I help?
Score Keeper:
Score Keeper. You can give a player points, ask for the score, or say help. What would you like?
User: Help
Score Keeper:
Here are some things you can say:
add John,give John 5 points,tell me the score,start a new game, orreset all players.So, how can I help?
Don’t Blame the User
Errors will happen. Expect that they will and handle them well. Do not place blame on the user when errors happen, but do not be too apologetic either (doing so makes your experience seem tentative and further reduces user confidence in your skill).
User: Ask Hotel Hub to find a hotel
Hotel Hub: Hotel reservations for what city?
User: [background noise]
DoDon’tHotel Hub:
What city was that?
Hotel Hub:
The city you gave is not valid. Please say the city where you want to make reservations.
Expect the Unexpected
Unlike a visual interface, where the user can only interact with the affordances presented on the screen, there is no way to limit what users can say in a speech interaction. Because of this, it is important to plan for reasonable things users might say that are not supported –and then handle them intelligently.
User: Ask Date Night to make a reservation at Haymarket tomorrow.
Date Night: Reservation at Haymarket. For what time tomorrow?
User: At 10:30 pm
DoDon’tDate Night:
Haymarket takes reservations between 5:00 and 9:30 pm. What time would you like your reservation?
User: 9:00
Date Night:
And for how many people?
Date Night:
Sorry, what time would you like your reservation for?
User: 10:30 pm
Date Night:
I’m having trouble understanding. <error earcon>
[stream closes; dialog ends]