Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Learnings Building Alexa Skills with PHP


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Learnings Building Alexa Skills with PHP

  1. 1. Learnings from Building Alexa SkillsLearnings from Building Alexa Skills
  2. 2. Ralf EggertRalf Eggert CEO Travello GmbH, Programming since 29 years,CEO Travello GmbH, Programming since 29 years, Trainer, Author, Coach DeveloperTrainer, Author, Coach Developer
  3. 3. Ralf EggertRalf Eggert 33 fromfrom 2828 AgendaAgenda My First Alexa Skill My LearningsMy Second Alexa SkillMy Second Alexa Skill My Tech Stack
  4. 4. My Tech StackMy Tech Stack
  5. 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
  6. 6. Ralf EggertRalf Eggert 66 fromfrom 2828 Alexa Skills Kit (ASK)Alexa Skills Kit (ASK)
  7. 7. Ralf EggertRalf Eggert 77 fromfrom 2828 AWS Lambda FunctionsAWS Lambda Functions
  8. 8. Ralf EggertRalf Eggert 88 fromfrom 2828 Basic Technology SetupBasic Technology Setup
  9. 9. Ralf EggertRalf Eggert 99 fromfrom 2828 PHP on AWS Lambda?PHP on AWS Lambda?
  10. 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
  11. 11. Ralf EggertRalf Eggert 1111 fromfrom 2828 My open-source PHP libraryMy open-source PHP library
  12. 12. My First Alexa SkillMy First Alexa Skill
  13. 13. Ralf EggertRalf Eggert 1313 fromfrom 2828 The ideaThe idea
  14. 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. 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
  16. 16. My Second Alexa SkillMy Second Alexa Skill
  17. 17. Ralf EggertRalf Eggert 1717 fromfrom 2828 The ideaThe idea
  18. 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!
  19. 19. My LearningsMy Learnings
  20. 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. 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. 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. 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. 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
  25. 25. Questions?Questions?
  26. 26. Thanks!Thanks! Contact ralf@travello.audioContact Web www.travello.audioWeb
  27. 27. Coming soon?Coming soon?
  28. 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