As we add thousands of skills to Alexa, our developers have uncovered some basic and more complex tips for building better skills. Whether you are new to Alexa skill development or if you have created skills that are live today, this session helps you understand how to create better voice experiences. Last year, Capital One joined Alexa on stage at re:Invent to talk about their experience building an Alexa skill. Hear from them one year later to learn from the challenges that they had to overcome and the results they are seeing from their skill. In this session, you will learn the importance of flexible invocations, better VUI design, how OAuth and account linking can add value to your skill, and about Capital One's experience building an Alexa skill.
2. WE BELIEVE VOICE REPRESENTS
THE NEXT MAJOR DISRUPTION IN COMPUTING
3. CONVERSATION IS THE MOST NATURAL W AY TO ENGAGE
W ITH YOUR PRODUCTS
VOICE RELEASES THE FRICTION OF TRADITIONAL
TECHNOLOGY INTERACTION
USERS CAN NOW INTERACT W ITH YOUR PRODUCT IN A
MORE INTIMATE W AY
4.
5.
6.
7. Create Great Content:
ASK is how you connect
to your consumer
A L E X A F R A M E W O R K S
Supported by two powerful frameworks
ALEXA
VOICE
SERVICE
Unparalleled Distribution:
AVS allows your content
to be everywhereLives In The Cloud
Automated Speech
Recognition (ASR)
Natural Language
Understanding (NLU)
Always Learning
ALEXA
SKILLS
KIT
9. Key Design Principles for
ALEXA SKILLS
Skills Should Provide High Value
A Skill Should Evolve Over Time
Users Can Speak to Your Skill Naturally and
Spontaneously
Alexa Should Understand Most Requests to
Your Skill
A Skill Should Respond in an Appropriate Way
10. 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 Pearl Jam tickets
available for this
weekend.”
“There are a limited number
of tickets, ranging from $49
to $279.”
Telling
Provides a quick
reference point
“Alexa, tell me a cat fact.”
“It is well known that dogs
are superior to cats.”
Browsing
Gives info on a broad
subject
“Alexa, ask Amazon what’s
on sale.”
“The following items are on
sale right now...”
11. Example of Automatic Learning
ALEXA SKILL
Alexa, 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?
Philadelphia
Okay, and where are you going?
Boston
Great, now whenever you ask, I can tell you about
the commute from Philadelphia to Boston. The
current drive time is five hours and twenty-three
minutes. There is an accident on I-95 near Hartford.
Alexa, launch Travel Buddy
Your commute is currently five hours and two
minutes.
12. Users Can Speak to Your Skill Naturally and Spontaneously
The experience of using your Alexa skill 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 Alexa just as they would
another human.
All they need is a rough idea of what Alexa can do (e.g. playing
music, setting a timer, etc.), and they just ask her to do it.
This is the real value of voice interface, but this value can quickly
erode in a skill that forces users to interact in unnatural ways.
13. Users Can Speak to Your Skill Naturally and Spontaneously
You should try to remove artificial skill syntax and make interactions
within your skill 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.
21. Capital One’s Alexa Journey
July 2015. Tech off-
site & rapid
prototyping
October 2015.
Prototype at AWS
re:Invent
March 2016. Launch
Capital One for Alexa
skill
November 2015.
Formal project kick-
off
October 2016.
Semantic search feature
@ Grace Hopper
22. Capital One Skill Focus
What do customers want from their bank?
Help me
perform a
task
Financially
speaking...
am I okay?
23. What the heck!?
I don’t recognize
this purchase.
Help Me Perform a Task
I want to
transfer money
to savings
I need to pay
my credit card
bill
I want to pay
my utility bill
I’m about to
travel. Please
don’t decline
my card!
How do I
order a
Venture Card?
24. What’s the last
thing I bought?
Financially Speaking… Am I OK?
What’s my
credit card
balance?
Did my
payment go
through?
How much did
I spend at
Starbucks last
month?
When is my
next payment
due?
What’s left in
my checking
account?
25. Capital One Skill Features
Initial Feature Set
Pay credit card bill with existing
primary payment account
Provide your credit card balance
Provide your checking and/or
savings account balances
List your recent transactions
Provide your available credit
amount
Tell you when payment is due
Give you an account summary
Easter egg: What’s in your wallet?
Evolved Feature Set
Prefetch customer account
information
Activate a new credit card
Provide credit card APR information
Provide credit card transactions at a
specific location
Provide total spending amount
within a specific category like dining
Lock and unlock credit card
27. How to talk to our customers
Ex: What’s my credit card balance?
The following balance may or
may not be accurate due to
partial payments, pending
transactions, and overall
money movement policies.
By listening to this message
you implicitly accept all
liabilities….
Your
QuickSilver
balance is
$470.34
What exactly do
you mean by
“balance”?
28. There are more than 150 ways to ask about recent spending
List my recent
{AcctType} transactions
My recent {AcctType}
transactions
Get my recent transactions
for account ending with
{LastFour}
Get recent {AcctType}
transactions
What are my recent
{AcctType}
transactions
What are my recent charges?
Get my transactions for account {LastFour}
Get my recent transactions for
account in {LastFour}
Transactions for account
ending {LastFour}
Get my transactions for
account {LastFour}
What did I buy?
What have I bought in the
last few days?
What have I purchased
recently?
My recent transactions for
account ending with {LastFour}
"intent":"RecentTransactions",
"slots":[
{
"name":"LastFour",
"type":"AMAZON.FOUR_
DIGIT_NUMBER"
},
{
"name":"AcctType",
"type":"AccountType"
}
]
30. How to balance security and convenience
Security Convenience
31. How to balance security and convenience
Security
Spoken pin
Push notification
Secret phrase
Convenience
32. How to balance security and convenience
Convenience
OAuth account linking
Optional PIN
Security
Spoken pin
Push notification
Secret phrase
33. { "intent": "AccountBalance", "slots":
[ { "name": "LastFour", "type":
"AMAZON.FOUR_DIGIT_NUMBER" },
{ "name":
"AccountType", "type":
"AccountType" }, { "name":
"ProductType", "type":
"ProductType" } ] },
Utterance Compiler
Compiler Template Input
how much [is|do I have] in {My}
([{AccountType}|{ProductType}])? account
Compiler Template Output
AccountBalance how much is in my {AccountType} account
AccountBalance how much is in my {ProductType} account
AccountBalance how much is in my account
AccountBalance how much do I have in my {AccountType}
account
AccountBalance how much do I have in my {ProductType}
account
AccountBalance how much do I have in my account
34. Debug Tool
Username
Feature to Test
Amazon Commands to Invoke
Account Balance Feature
Optional Input
LastFour
AccountType
ProductType
CurrencyType
What’s
CurrentBalance
EndingWith
My
Alexa Output
Help
Stop
No
Yes
Repeat
AccountBalance
AvailableCredit
BillDueDate
AmountDue
RecentTransactions
Financial Summary
Test
Platinum
“The current balance on your Platinum card ending
in <say-as interpret-as=“characters”>3889</say-
as> is $12501.57. “
35. Abstraction Layer
• Pull out common logic for chatbots and other capabilities
• Breakout routing middleware, intent handlers, and backend services