Conversational interfaces and especially voice interfaces are the most personal channels for a digital product. For which kind of products are they applicable and what are necessary prerequisites? Once you identified what you want to build the question arises how to build it? What are recommended voice interactions and best practices? What design elements are available? Do we already see common interaction patterns emerge? Finally the interface has to be build in a professional way. In addition to the actual coding we will look at local development, deployments and stages, multi-language support and testing.
4. Conversational is the new normal
MESSAGING APPS HAVE SURPASSED
SOCIAL NETWORKS (Monthly active users for top 4 social networks and messaging apps)
Big 4 Social
Network Apps
Big 4 Messaging Apps
4
5. Why now? Because we can
0
5
10
15
20
25
30
2010 2011 2012 2013 2014 2015
Error rate
0
2
4
6
8
10
12
14
16
Error rate
1. Deep Learning
Algorithm
5
ERROR RATE IN IMAGE RECOGNITION
(ILSVRC RESULTS)
ERROR RATE IN SPEECH RECOGNITION
6. Two types of conversational interfaces are on the rise.
6
What kind of conversational interfaces?
TEXT | Chatbots VOICE | existing platforms custom build
7. 7
• Siri (Apple)
• Google Assistent (Google)
• Google Home (Google)
• Cortana (Microsoft)
• Alexa (Amazon)
• Bragi
Voice interfaces are not restricted to Alexa skills
8. In addition to these voice interface
platforms custom build solutions
are possible:
• Matrix Labs
• Google Speech API
• Alexa Services / Amazon Lex
8
You can also built your custom voice interfaces
13. OPERATORS &
EXECUTORS
• Commerce
(fashion, flowers,
food delivery)
• Booking
(Tickets, Travel, …)
• Banking
DOMAIN
KNOWLEDGE EXPERTS
• Customer Support
• Advice and
Recommendations
• Domain-specific
knowledge:
• Sports
• News
• Travel
• Insurance
13
Three types of Conversational UIs (Chatbots)
PERSONAL
ASSISTANT
• Google Assistant
• Facebook M
• Apple Siri
• Microsoft Cortana
• Amazon Alexa
14. 14
(SHORT)
INFORMATION
Types of Voice Interfaces
TV program, weather,
news, knowledge,
status information
ENTERTAINMENT
Jokes, Games,
…
ADVICE AND
RECOMMENDATION
Fashion,
Travel, ...
TRANSACTIONAL
Shopping,
Booking
CUSTOMER CARE?
15. 15
Smart Home
Physical Device
Game
Complex Interaction
Handsfree environment (e.g. car, climbing, assembly, …)
Your user experience can significantly improve
When to consider Voice Interfaces?
17. 17
PRODUCT
ATTRIBUTES
• Goal
• Target Group
• Core Value
PERSONALITY
• Age and gender
• Adjective
• Name
EXAMPLE
DIALOG
• Text
• Talk
• Record
Our current best practices
18. 18
ASK
TELL
REMEMBER
… keeps the dialog going, listens to further user input
… use it for questions, reprompts, error messages
Endpoint of the dialog, shuts down the session
Use it for results, stop and goodbye
Creating a DynamoDB storage is just one line of code!
Create dialogs
21. 21
• Use your favorite IDE (code completions, shortcuts, etc.)
• Realise parallel development (>1 developer)
• Extend live product with new features
• Be able to rollback (in the unlikely case someone messed it up)
Why professional development?
24. Our road to a professional development
enviroment for VUIs (Alexa)
AUTOM.
TESTING
How to create
unit
and integration
tests
MULTI-
LANGUAGE
SUPPORT
Separate
language from
functionality
STAGING
Create stages
for interaction
model and
backend
lambdas
LOCAL
DEVELOPMENT
Set up a local
development
environment
25. 25
• Develop a skill in several languages (English, German)
• Separate utterances from functionality
• Require the correct language file at runtime
Multi-language Support Preparation
26. 26
Multi-language Support
Input / Output
language based on
user settings in Alexa
App
locale: 'de-DE'
handler.js
i18n/de-DE.js
i18n/en-US.js
i18n/en-UK.js
locale: 'de-DE'
// require specific language file
const languages =
require(`./locales/${lang}.js`)
// get text message according to locale
const getText = (alexa, message,
attributes, index) => {
return Language.getText(
alexa.event.request.locale,
message,
attributes,
index)
}
ALEXA
AWS
lambda
31. • Error prone developer has to be on the correct branch
• Next step: automate or use continuous integration system
31
We use Serverless to connect correct branch with
referring stage
32. • Install as a serverless plugin
• Start a local server
• Share localhost with the internet
• Configure Alexa skill to use your HTTPS
endpoint
32
We are working on a serverless plugin to allow for
local development
34. • Several use cases applicable for voice interfaces
• Design dialogs by prototyping them extensively
• Alexa infrastructure is not yet ready for a professional setup
• There are several ways to optimize your development process (we shared one of them)
• We are on our journey to continuously improve this process
• We are looking for input, comments, other experiences and new team members
34
Conclusion