SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scott Totman - Capital One, VP of Mobile and Innovation
Mike Hines – Amazon, Developer Evangelist
October 2015
MBL308
How Capital One Developed
a Skill for Alexa
CREDIBLY INNOVATE PHOTO
HERE
Alexa Skills Kit
TODAY’S AGENDA
About Alexa
Capital One skill demo
Building the Capital One skill
Alexa skill best practices
About Alexa
What is Alexa?
Alexa is a cloud-based voice service
that can answer questions
play music
read the news
and more.
Echo is an
always-on
always-connected
hands-free device that connects to
Alexa.
Alexa architecture
Amazon
Alexa
serviceGUI cards are
rendered in the
Amazon Alexa app
User audio is streamed
to the service
Audio responses
are rendered on
device
Alexa is always learning.
Alexa gets smarter by
learning new skills.
Developers can create new
skills for Alexa.
Alexa is
ALWAYS LEARNING
Creating your own
ALEXA SKILLS
Alexa skills have two parts:
Configuration data in Amazon
Developer Portal
Hosted service responding to user
requests
Alexa Skills Kit architecture
Amazon
Alexa
service
Developer’s
application
service
Amazon’s
Developer
Portal
Application, intents, sample data,
developer service URL endpoint
Configured through portal
User intents and
arguments are sent
to the developer
service
GUI cards are rendered in
the Amazon Alexa app
User audio is
streamed to the
service
Audio responses are
rendered on-device
Text response and/or GUI
card data is returned
Building an Alexa skill
HOSTED SERVICE
• You define interactions for your voice
app through intent schemas
• Each intent consists of two fields. The
intent field gives the name of the intent.
The slots field lists the slots associated
with that intent.
• Slots can also included types, such as
LITERAL, NUMBER, DATE, etc.
Building an Alexa skill
HOSTED SERVICE
• The mappings between intents and the
typical utterances that invoke those
intents are provided in a tab-separated
text document of sample utterances.
• Each possible phrase is assigned to one
of the defined intents.
• GetHoroscope what is the horoscope for
{pisces|Sign}
• GetHoroscope what will the horoscope for
{leo|Sign} be {next tuesday|Date}
Capital One’s Journey
Capital One’s Alexa approach
June: A few
developers buy Echos
July: Full day tech offsite &
side of desk project kickoff
August: Rapid prototyping and
expanding Capital One skill
Goal: Pair Alexa with the
Capital One app and
allow users to get their
credit card balance
Consumer insights: Design thinking/test + learn
Customers like it!
• Hands-free convenience is valuable
• Interested in using Echo for informational
purposes
• Open to making payments/transactions
But…
• Concerns about local security
• Users don’t want financial information captured
by a third party (Amazon)
Prototyping: Prerequisites & new development
Leverage existing API model
built for Android/iPhone apps
Piggy-back off “glance”
services built for Apple Watch
Build new JS service as the
ASK orchestrator*
*Used Alexa app node library
(Thanks Matt Kruse!)
Capital One skills focus
Read-only information Transactional skills Experimenting
• Default accounts
(credit card, bank,
loans)
• Account balances
• Bill due date
• Last payment
• Last transactions
• Interest rate
• Pay bill(s)
• Transfer $
• App usage Patterns
• O-Auth
• Customer service/
support
• Customer
acquisition
• Alexa adoption
• Alexa evolution
Skill development segmented into three priority buckets
Demo
Alexa challenges discovered during prototyping
Numerical utterances, device latency, and security were our most significant
Numerical utterances
Challenge:
• “Twenty-two” is hard to turn into 22 instead of 20
and 2
• “Three hundred and forty-four dollars”
• Needed to call out words like ‘hundred’, ‘and’
Solution:
• Programmatically create utterances (big list)!
• Optional words
• ASK support for CURRENCY data type
PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {eighty eight|CENTS} cents
PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {ninety nine|CENTS} cents
PayAmount {twenty-one|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-three|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-three|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-one|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty-three|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars
PayAmount {twenty two|DOLLARS} dollar {twenty two|CENTS} cents
PayAmount {sixty-seven|THOUSANDS} thousand and {sixty-eight|DOLLARS} dollars
PayAmount {fifty-seven|THOUSANDS} thousand {fifty-eight|DOLLARS} dollars and {fifty-eight|CENTS} cents
PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-two|DOLLARS} dollars
PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {sixty six|CENTS} cents
PayAmount {eighty eight|DOLLARS} dollar {thirty three|CENTS} cents
PayAmount {twenty-three|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-two|DOLLARS} dollars
PayAmount {twenty-one|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars
PayAmount {twenty-three|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars
PayAmount {twenty-one|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars
PayAmount {twenty-three|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars
PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-three|DOLLARS} dollars
PayAmount {twenty-two|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-three|DOLLARS} dollars
Sample numerical utterances…out of 712
Latency
Challenge:
• Coding visually is great for websites, not for voice
• Pauses while the service looks up data are a much
bigger deal for voice
Solution:
• Keep APIs fast
• Leverage Alexa session data
• Keep explanations terse…but not rude
Security
Challenge:
• Account linking didn’t exist as an available solution
• Figure out how to connect an Echo with a
customer account
• No guarantee of privacy on Echo end
Solution:
• Make vulnerabilities dependent on compromised
account
• Pairing code for secure account linking
• 2nd factor authentication for moving money
Pairing process workflow
1. Open session
2. Device ID not
recognized
3. Generate 6-digit PIN
4. Log in
to C1 app
– provide
PIN
Keeping things in context
Challenge:
• Context is hard with multiple accounts
• Helping a user with tasks and cross-
context:
• Switching context
• Keeping context
• Recognizing context
Solution:
• Map user workflow
• When in doubt, ask the user
Code
sample:
Context
switching
function getCreditCardAccount(){
var currentAccount = hasContext()
if( currentAccount && currentAccount.isCreditCard() ) {
return currentAccount
}
var accounts = getCachedAccounts(req,res)
if( accounts ) {
var cached = accounts.filter(function(entry) {
return entry.isCreditCard()
})
if( cached.length == 1 ) {
return cached[0]
}
}
return null
}
Capital One takeaways
Wish list
• Skill discoverability
• Handle vocal interruptions
better, with context
• Notification indicator
Works great
• Straightforward
• Majority of the effort is
on customer
experience, not
implementation
• ASK is evolving quickly
+ adding new
capabilities
Best Practices
Making it sound easy
A person can absorb and process a lot more
written information than audio information.
Instructions that makes sense in an average
web page dialog are probably going to sound
intimidating in a spoken command.
Follow these best practices for better results.
Image of
Picture of an Ear
1. Make it clear the user needs to respond
Not so good
Trivia challenge: Trivia Challenge.
You can choose from the following
categories: 80’s Pop Songs, Potent
Potables, or European History.
1. Make it clear the user needs to respond
Better
Trivia challenge: Trivia
Challenge. Here are your
categories: 80’s Pop Songs,
Potent Potables, or European
History. Which one do you want?
1. Make it clear the user needs to respond
Best practice
If you expect the user to say
something, make sure you end
your prompt with a question.
2. Don’t assume the user knows what to do
Not so good
Car Fu: Car Fu.
2. Don’t assume the user knows what to do
Better
Car 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 on your cell phone will let you
know when your car arrives.
2. Don’t assume the user knows what to do
Best practice
When launching a skill or
finishing an interaction, always
suggest what the user can do
next.
3. Present the options clearly
Not so good
Food Taxi: Would you like french
fries or a salad?
User: Yes
3. Present the options clearly
Better
Food Taxi: Which side would you
like: French fries or a salad?
User: Salad.
3. Present the options clearly
Best practice
Either/or questions must be
stated explicitly, lest it be
interpreted as a yes/no
question.
4. Keep it brief
Not so good
Astrology Daily: There are 12
Zodiac signs that I can give you
a horoscope for. Please tell
which one you’d like.
Image Here
4. Keep it brief
Better
Astrology Daily: Get the
Horoscope for which sign?
Image Here
4. Keep it brief
Best practice
Use fewer words than you
might on your website.
Image Here
5. Avoid verbose choices
Not so good
Dairy Shack: What flavor do you
want? For chocolate, say
Chocolate. For vanilla, say
Vanilla. Or for strawberry, say
Strawberry.
Image Here
5. Avoid verbose choices
Better
Dairy Shack: Which flavor
would you like? You can say
Chocolate, Vanilla, or
Strawberry.
5. Avoid verbose choices
Best practice
Do not present more than
three choices and avoid
repetitive wording.
6. Avoid crowding options
Not so good
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 was that again?
Image Here
6. Avoid crowding options
Better
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, or reset all
players.
You can also say stop if you’re done.
So, how can I help?
6. Avoid crowding options
Best practice
Present the 2-3 choices that users
will pick 80% of the time and expose
the rest through ‘Help’.
7. Get one piece of information at a time and use it
Not so good
Joke Bank: Would you like to hear a
joke?
User: Yes.
Joke Bank: What’s black, white, and
red all over? An embarrassed skunk.
“One, Two, Five!”
“Three, sir! Three!”
7. Get one piece of information at a time and use it
Better
Joke Bank: What’s black,
white, and red all over? An
embarrassed skunk.
7. Get one piece of information at a time and use it
Best practice
Make smart assumptions
where possible.
Avoid asking non-essential
questions.
8. Finally, make the user comfortable
Best practice
• Let users know they’re in the right place.
• Present usable chunks of information, not overload.
• Take care of technical and legal details when enabling the
skill, not in the audio.
• Don’t blame the user.
Best practices
1. Make it clear the user needs to respond
2. Don’t assume the user knows what to do
3. Present the options clearly
4. Keep it brief
5. Avoid verbose choices
6. Avoid crowding options
7. Get information and use it
8. Make users comfortable
@MikeFHines
developer.amazon.com/blog
Learn more:
http://developer.amazon.com/ASK
http://capitalone.com
How did we do:
Remember to complete the evaluation!
Follow us:
Thank you!
http://bit.ly/appstoregiveaway

Contenu connexe

En vedette

Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski Amazon
Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski AmazonArtificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski Amazon
Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski AmazonAssist
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home SkillJun Ichikawa
 
Amazon alexa - building custom skills
Amazon alexa - building custom skillsAmazon alexa - building custom skills
Amazon alexa - building custom skillsAniruddha Chakrabarti
 
Ai専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon PollyAi専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon PollyJun Ichikawa
 
Introduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to workIntroduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to workAbe Diaz
 
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬)
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬) Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬)
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬) Amazon Web Services Korea
 
Machine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSMachine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSAmazon Web Services
 
Financial Services Analytics on AWS
Financial Services Analytics on AWSFinancial Services Analytics on AWS
Financial Services Analytics on AWSAmazon Web Services
 
Grid Computing for Financial Services
Grid Computing for Financial ServicesGrid Computing for Financial Services
Grid Computing for Financial ServicesAmazon Web Services
 
Achieving Agility with Control in Financial Services
Achieving Agility with Control in Financial ServicesAchieving Agility with Control in Financial Services
Achieving Agility with Control in Financial ServicesAmazon Web Services
 
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital OneDOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital OneGene Kim
 
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...Amazon Web Services
 
The Cloud Adoption Program for Financial Services
The Cloud Adoption Program for Financial ServicesThe Cloud Adoption Program for Financial Services
The Cloud Adoption Program for Financial ServicesAmazon Web Services
 
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)AWS re:Invent 2016: Deep Learning in Alexa (MAC202)
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)Amazon Web Services
 
Flink Case Study: Capital One
Flink Case Study: Capital OneFlink Case Study: Capital One
Flink Case Study: Capital OneFlink Forward
 
Amazon Alexa - Introduction & Custom Skills
Amazon Alexa - Introduction & Custom SkillsAmazon Alexa - Introduction & Custom Skills
Amazon Alexa - Introduction & Custom SkillsAndré Maré
 
Capital One Digital Strategy - Rachel Shapiro
Capital One Digital Strategy - Rachel ShapiroCapital One Digital Strategy - Rachel Shapiro
Capital One Digital Strategy - Rachel ShapiroRachel Shapiro
 

En vedette (18)

Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski Amazon
Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski AmazonArtificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski Amazon
Artificial Intelligence at Work - Assist Workshop 2016 - Dave Isbitski Amazon
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home Skill
 
Amazon alexa - building custom skills
Amazon alexa - building custom skillsAmazon alexa - building custom skills
Amazon alexa - building custom skills
 
Ai専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon PollyAi専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon Polly
 
Introduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to workIntroduction to building alexa skills and putting your amazon echo to work
Introduction to building alexa skills and putting your amazon echo to work
 
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬)
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬) Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬)
Amazon Echo 기반 IoT 서비스 개발을 위한 Alexa Skills Kit 및 AWS Lambda 활용 (윤석찬)
 
Machine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWSMachine Learning & Data Lake for IoT scenarios on AWS
Machine Learning & Data Lake for IoT scenarios on AWS
 
Financial Services Analytics on AWS
Financial Services Analytics on AWSFinancial Services Analytics on AWS
Financial Services Analytics on AWS
 
CRM at capital one
CRM at capital one CRM at capital one
CRM at capital one
 
Grid Computing for Financial Services
Grid Computing for Financial ServicesGrid Computing for Financial Services
Grid Computing for Financial Services
 
Achieving Agility with Control in Financial Services
Achieving Agility with Control in Financial ServicesAchieving Agility with Control in Financial Services
Achieving Agility with Control in Financial Services
 
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital OneDOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital One
 
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
AWS re:Invent 2016: Workshop: Build an Alexa-Enabled Product with Raspberry P...
 
The Cloud Adoption Program for Financial Services
The Cloud Adoption Program for Financial ServicesThe Cloud Adoption Program for Financial Services
The Cloud Adoption Program for Financial Services
 
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)AWS re:Invent 2016: Deep Learning in Alexa (MAC202)
AWS re:Invent 2016: Deep Learning in Alexa (MAC202)
 
Flink Case Study: Capital One
Flink Case Study: Capital OneFlink Case Study: Capital One
Flink Case Study: Capital One
 
Amazon Alexa - Introduction & Custom Skills
Amazon Alexa - Introduction & Custom SkillsAmazon Alexa - Introduction & Custom Skills
Amazon Alexa - Introduction & Custom Skills
 
Capital One Digital Strategy - Rachel Shapiro
Capital One Digital Strategy - Rachel ShapiroCapital One Digital Strategy - Rachel Shapiro
Capital One Digital Strategy - Rachel Shapiro
 

Plus de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Dernier

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Dernier (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

(MBL308) Extending Alexa’s Built-in Skills. See How Capital One Did It

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scott Totman - Capital One, VP of Mobile and Innovation Mike Hines – Amazon, Developer Evangelist October 2015 MBL308 How Capital One Developed a Skill for Alexa
  • 2. CREDIBLY INNOVATE PHOTO HERE Alexa Skills Kit TODAY’S AGENDA About Alexa Capital One skill demo Building the Capital One skill Alexa skill best practices
  • 4. What is Alexa? Alexa is a cloud-based voice service that can answer questions play music read the news and more. Echo is an always-on always-connected hands-free device that connects to Alexa.
  • 5.
  • 6.
  • 7. Alexa architecture Amazon Alexa serviceGUI cards are rendered in the Amazon Alexa app User audio is streamed to the service Audio responses are rendered on device
  • 8. Alexa is always learning. Alexa gets smarter by learning new skills. Developers can create new skills for Alexa. Alexa is ALWAYS LEARNING
  • 9. Creating your own ALEXA SKILLS Alexa skills have two parts: Configuration data in Amazon Developer Portal Hosted service responding to user requests
  • 10. Alexa Skills Kit architecture Amazon Alexa service Developer’s application service Amazon’s Developer Portal Application, intents, sample data, developer service URL endpoint Configured through portal User intents and arguments are sent to the developer service GUI cards are rendered in the Amazon Alexa app User audio is streamed to the service Audio responses are rendered on-device Text response and/or GUI card data is returned
  • 11. Building an Alexa skill HOSTED SERVICE • You define interactions for your voice app through intent schemas • Each intent consists of two fields. The intent field gives the name of the intent. The slots field lists the slots associated with that intent. • Slots can also included types, such as LITERAL, NUMBER, DATE, etc.
  • 12. Building an Alexa skill HOSTED SERVICE • The mappings between intents and the typical utterances that invoke those intents are provided in a tab-separated text document of sample utterances. • Each possible phrase is assigned to one of the defined intents. • GetHoroscope what is the horoscope for {pisces|Sign} • GetHoroscope what will the horoscope for {leo|Sign} be {next tuesday|Date}
  • 14. Capital One’s Alexa approach June: A few developers buy Echos July: Full day tech offsite & side of desk project kickoff August: Rapid prototyping and expanding Capital One skill Goal: Pair Alexa with the Capital One app and allow users to get their credit card balance
  • 15. Consumer insights: Design thinking/test + learn Customers like it! • Hands-free convenience is valuable • Interested in using Echo for informational purposes • Open to making payments/transactions But… • Concerns about local security • Users don’t want financial information captured by a third party (Amazon)
  • 16. Prototyping: Prerequisites & new development Leverage existing API model built for Android/iPhone apps Piggy-back off “glance” services built for Apple Watch Build new JS service as the ASK orchestrator* *Used Alexa app node library (Thanks Matt Kruse!)
  • 17. Capital One skills focus Read-only information Transactional skills Experimenting • Default accounts (credit card, bank, loans) • Account balances • Bill due date • Last payment • Last transactions • Interest rate • Pay bill(s) • Transfer $ • App usage Patterns • O-Auth • Customer service/ support • Customer acquisition • Alexa adoption • Alexa evolution Skill development segmented into three priority buckets
  • 18. Demo
  • 19. Alexa challenges discovered during prototyping Numerical utterances, device latency, and security were our most significant
  • 20. Numerical utterances Challenge: • “Twenty-two” is hard to turn into 22 instead of 20 and 2 • “Three hundred and forty-four dollars” • Needed to call out words like ‘hundred’, ‘and’ Solution: • Programmatically create utterances (big list)! • Optional words • ASK support for CURRENCY data type
  • 21. PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {eighty eight|CENTS} cents PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {ninety nine|CENTS} cents PayAmount {twenty-one|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-three|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-three|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-one|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty-three|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-one|DOLLARS} dollars PayAmount {twenty two|DOLLARS} dollar {twenty two|CENTS} cents PayAmount {sixty-seven|THOUSANDS} thousand and {sixty-eight|DOLLARS} dollars PayAmount {fifty-seven|THOUSANDS} thousand {fifty-eight|DOLLARS} dollars and {fifty-eight|CENTS} cents PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-two|DOLLARS} dollars PayAmount {one|THOUSANDS} thousand {one|HUNDREDS} hundred {one|DOLLARS} dollars and {sixty six|CENTS} cents PayAmount {eighty eight|DOLLARS} dollar {thirty three|CENTS} cents PayAmount {twenty-three|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-two|DOLLARS} dollars PayAmount {twenty-one|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars PayAmount {twenty-three|THOUSANDS} thousand {twenty-three|HUNDREDS} hundred {twenty-two|DOLLARS} dollars PayAmount {twenty-one|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars PayAmount {twenty-three|THOUSANDS} thousand {twenty-one|HUNDREDS} hundred {twenty-three|DOLLARS} dollars PayAmount {twenty-one|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-three|DOLLARS} dollars PayAmount {twenty-two|THOUSANDS} thousand {twenty-two|HUNDREDS} hundred {twenty-three|DOLLARS} dollars Sample numerical utterances…out of 712
  • 22. Latency Challenge: • Coding visually is great for websites, not for voice • Pauses while the service looks up data are a much bigger deal for voice Solution: • Keep APIs fast • Leverage Alexa session data • Keep explanations terse…but not rude
  • 23. Security Challenge: • Account linking didn’t exist as an available solution • Figure out how to connect an Echo with a customer account • No guarantee of privacy on Echo end Solution: • Make vulnerabilities dependent on compromised account • Pairing code for secure account linking • 2nd factor authentication for moving money
  • 24. Pairing process workflow 1. Open session 2. Device ID not recognized 3. Generate 6-digit PIN 4. Log in to C1 app – provide PIN
  • 25. Keeping things in context Challenge: • Context is hard with multiple accounts • Helping a user with tasks and cross- context: • Switching context • Keeping context • Recognizing context Solution: • Map user workflow • When in doubt, ask the user
  • 26. Code sample: Context switching function getCreditCardAccount(){ var currentAccount = hasContext() if( currentAccount && currentAccount.isCreditCard() ) { return currentAccount } var accounts = getCachedAccounts(req,res) if( accounts ) { var cached = accounts.filter(function(entry) { return entry.isCreditCard() }) if( cached.length == 1 ) { return cached[0] } } return null }
  • 27. Capital One takeaways Wish list • Skill discoverability • Handle vocal interruptions better, with context • Notification indicator Works great • Straightforward • Majority of the effort is on customer experience, not implementation • ASK is evolving quickly + adding new capabilities
  • 29. Making it sound easy A person can absorb and process a lot more written information than audio information. Instructions that makes sense in an average web page dialog are probably going to sound intimidating in a spoken command. Follow these best practices for better results. Image of Picture of an Ear
  • 30. 1. Make it clear the user needs to respond Not so good Trivia challenge: Trivia Challenge. You can choose from the following categories: 80’s Pop Songs, Potent Potables, or European History.
  • 31. 1. Make it clear the user needs to respond Better Trivia challenge: Trivia Challenge. Here are your categories: 80’s Pop Songs, Potent Potables, or European History. Which one do you want?
  • 32. 1. Make it clear the user needs to respond Best practice If you expect the user to say something, make sure you end your prompt with a question.
  • 33. 2. Don’t assume the user knows what to do Not so good Car Fu: Car Fu.
  • 34. 2. Don’t assume the user knows what to do Better Car 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 on your cell phone will let you know when your car arrives.
  • 35. 2. Don’t assume the user knows what to do Best practice When launching a skill or finishing an interaction, always suggest what the user can do next.
  • 36. 3. Present the options clearly Not so good Food Taxi: Would you like french fries or a salad? User: Yes
  • 37. 3. Present the options clearly Better Food Taxi: Which side would you like: French fries or a salad? User: Salad.
  • 38. 3. Present the options clearly Best practice Either/or questions must be stated explicitly, lest it be interpreted as a yes/no question.
  • 39. 4. Keep it brief Not so good Astrology Daily: There are 12 Zodiac signs that I can give you a horoscope for. Please tell which one you’d like. Image Here
  • 40. 4. Keep it brief Better Astrology Daily: Get the Horoscope for which sign? Image Here
  • 41. 4. Keep it brief Best practice Use fewer words than you might on your website. Image Here
  • 42. 5. Avoid verbose choices Not so good Dairy Shack: What flavor do you want? For chocolate, say Chocolate. For vanilla, say Vanilla. Or for strawberry, say Strawberry. Image Here
  • 43. 5. Avoid verbose choices Better Dairy Shack: Which flavor would you like? You can say Chocolate, Vanilla, or Strawberry.
  • 44. 5. Avoid verbose choices Best practice Do not present more than three choices and avoid repetitive wording.
  • 45. 6. Avoid crowding options Not so good 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 was that again? Image Here
  • 46. 6. Avoid crowding options Better 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, or reset all players. You can also say stop if you’re done. So, how can I help?
  • 47. 6. Avoid crowding options Best practice Present the 2-3 choices that users will pick 80% of the time and expose the rest through ‘Help’.
  • 48. 7. Get one piece of information at a time and use it Not so good Joke Bank: Would you like to hear a joke? User: Yes. Joke Bank: What’s black, white, and red all over? An embarrassed skunk. “One, Two, Five!” “Three, sir! Three!”
  • 49. 7. Get one piece of information at a time and use it Better Joke Bank: What’s black, white, and red all over? An embarrassed skunk.
  • 50. 7. Get one piece of information at a time and use it Best practice Make smart assumptions where possible. Avoid asking non-essential questions.
  • 51. 8. Finally, make the user comfortable Best practice • Let users know they’re in the right place. • Present usable chunks of information, not overload. • Take care of technical and legal details when enabling the skill, not in the audio. • Don’t blame the user.
  • 52. Best practices 1. Make it clear the user needs to respond 2. Don’t assume the user knows what to do 3. Present the options clearly 4. Keep it brief 5. Avoid verbose choices 6. Avoid crowding options 7. Get information and use it 8. Make users comfortable