Sehr spontaner Vortrag auf der API CON 2017 in Berlin. Bin für einen ausgefallenen Speaker eingesprungen. Neben den Slides haben wir eine längere Fragerunde zum Thema gemacht.
5. Ralf EggertRalf Eggert 55 fromfrom 2828
How does an Alexa request work?How does an Alexa request work?
Alexa! Start
GUEST reception!
I am very pleased
That guests are here!
Custom Skill Code
(AWS Lambda or
HTTP endpoint)
Amazon
Alexa
Service
Platform
JSON request / response
Speech recognition / Text to speech
Voice request /
text response
9. Ralf EggertRalf Eggert 99 fromfrom 2828
PHP on AWS Lambda?PHP on AWS Lambda?
https://goo.gl/N9VVvb
10. Ralf EggertRalf Eggert 1010 fromfrom 2828
Why use own end-point server?Why use own end-point server?
No native PHP support
on AWS Lambda functions
Need to compile PHP and
use a Node.js wrapper
More complicated than
a plain old LAMP server
14. Ralf EggertRalf Eggert 1414 fromfrom 2828
How it worksHow it works
Alexa! Start
GUEST reception!
I am very pleased
That guests are here!
Say hello to Ella
Nice to see you Ella.
Your hair colour really
fits together with our
Pillow cases.
Please welcome
Martha
Where on earth have you
Been such a long time
Martha?
Thanks Alexa I was delighted to meet
you Ella And Martha!
15. Ralf EggertRalf Eggert 1515 fromfrom 2828
Early successEarly success
Top 10 of activated Skills
from March till today
60 customer reviews so far
July 2017:
- 22.000 customers
- 54.000 Sessions
- 460.000 Utterances
18. Ralf EggertRalf Eggert 1818 fromfrom 2828
How it worksHow it works
Alexa! Start
boredom killer
I am very pleased
to fight your boredom!
Answering the
Questions.
How many are you?
How old are you?
Creativity, entertainment,
gaming, movement, home
or whatever?
Next one please!
First suggestion:
Make Photo-Shooting!
Thanks I will do that.
Second suggestion:
Make a forest Olympiad!
20. Ralf EggertRalf Eggert 2020 fromfrom 2828
Biggest ChallengesBiggest Challenges
Custom slot type for category
needed too many synonyms
VUI was much more complex
While updating one skil a
Small risk to break other skills
Slot type for German
first names incomplete
Signature Validation
(no problem on AWS Lambda)
Setup second end-point
server (for testing)
21. Ralf EggertRalf Eggert 2121 fromfrom 2828
Some numbersSome numbers
15 custom intents
3 custom slot types
185 defined Utterances
100 suggestions
4 custom intents
1 extended slot type
34 defined utterances
100 greeting phrases
22. Ralf EggertRalf Eggert 2222 fromfrom 2828
Certification processCertification process
16 hours to go live
(July 2017)
0 Issues
17 hours to go live
after re-submitting
7 days for first feedback
(February 2017)
3 Issues:
- Signature validation
- Single-word invocation
- No response on »abbrechen«
23 hours to go live
after re-submit
23. Ralf EggertRalf Eggert 2323 fromfrom 2828
DevelopmentDevelopment
15 working days total
10% time spent
on infrastructure code
90% time spent
on skill code
10 working days total
80% time spent
on infrastructure code
20% time spent
on skill code
24. Ralf EggertRalf Eggert 2424 fromfrom 2828
LearningsLearnings
1) Start with a very simple skill
2) Write a solid code base for infrastructure code or use an OS one
3) Test thoroughly (use Postman, unit tests and ASK beta test)
4) Do not trust the built-in slot types blindly (extend them)
5) Design a sophisticated voice user interface (VUI)
6) Build more than one skill
7) Have fun
28. Ralf EggertRalf Eggert 2828 fromfrom 2828
Photo creditsPhoto credits
Entertainment Nation
Wandering Wings
Acoustic Folk Band
Flickr CC BY 2.0
Jules Minus
Bored
Flickr CC BY 2.0