Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Building Applications for Amazon's Alexa Platform
Ben NorthropDistinguished Technical Consultant
Summa
Follow Alongbennorthrop.com/alexa
github.com/throp/mathwhiz
About Me
● Oldish guy who still writes code● Full stack developer● Not an expert in voice technology
– Recently deployed Alexa skill for retail client
– Worked for voice technology company prior
Disclaimer
Agenda
1. Intro to Alexa2. Desiging Voice UIs3. Building "Skills" with Java
1. Intro to Alexa
What is Alexa?
● Voice driven, virtual personal assistant● Delivered via Echo, Dot, Tap, or Show● Cloud-based● Offers skills from third-party developers
What can it do?
● Read the news, stories, facts...● Look up recipes, weather, TV guide...● Play music, podcasts, background noise...● Order a pizza, uber, doll house...● Control lights, thermostat, TV remote...● Quiz you on trivia, vocabulary, math...
Popular Skills
Skills, Skills, and More Skills
In November 2016, a total of 5 million Amazon Echos, Dots, and Taps had been sold. In 6
months that number almost doubled.
Alexa Sales
Exciting things in the News
Voice Catching On
Major Limitations
● No voice recognition● Unable to push messages or notifications *● No coordination between multiple devices● Unable to record voice● Continuous interaction needed -->
Other Concerns
● Not as sticky as apps on other platforms● No clear way to monetize yet ● Less natural interaction or conversation
– Who does the “heavy lifting”?
User Developer
<------------------------------------->
or
Crossed the Chasm?
2. Designing Voice User Interfaces
The Domain of Alexa
New Skill: “Math Whiz”
Skill
● Can be one of three types:– Smart home ---------------------------->
– Flash briefing -------------------------->
– Custom ---------------------------------->
● Activated via an invocation name – “math whiz”
● Defined in a given language
Intent
An intent represents an action that fulfills a user’s spoken request.
Intent Schema
Utterance
The words people say to interact with your skill.
Slot Type
● Number– “three”, “one oh four”, “nine eight nine”
● Date– “may 4th”, “today”, “next week”, “this winter”
● Duration– “ten minutes”, “three days”, “seven years”
● Time– “noon”, “six am”, “two fifteen pm”
● List Type– airline, city, country, animal, artist, person, organization, etc.
Alexa Console
User Interface
3. Building Alexa Skills with Java
Architecture
JSON Request
Java Speechlet Framework
Speechlet
SpeechletRequestStreamHandler
Maven
Hosting Options
● Amazon– Beanstalk
– Lamda
● Web Service
Amazon Lamda
Testing
Account Linking
Other Features
● Session● Audio● Built-in Intents
Demo and
Questions?