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.

Alexa in 10 minutes

107 views

Published on

Slides from my talk at Brighton Java on 28th June 2017. This was a 10 minute guide to producing a simple skill for Amazon Alexa.

A youtube recording of the talk is here:
https://www.youtube.com/watch?v=mGSooaFvfmE

Published in: Software
  • Be the first to comment

  • Be the first to like this

Alexa in 10 minutes

  1. 1. Alexa in 10 Minutes James Burt Brighton Java 28th June 2017
  2. 2. What is Alexa Alexa is: A virtual personal assistant
  3. 3. What is Alexa Alexa is: A virtual personal assistant An Amazon product
  4. 4. What is Alexa Alexa is: A virtual personal assistant An Amazon product Not perfect
  5. 5. Not Perfect
  6. 6. Why is this interesting? Alexa is:
  7. 7. Why is this interesting? Alexa is: Open to new skills
  8. 8. Why is this interesting? Alexa is: Open to new skills A hands-free interface
  9. 9. Why is this interesting? Alexa is: Open to new skills A hands-free interface A simple way to play with VUIs
  10. 10. How Alexa Works
  11. 11. How Alexa Works Intent: Will it rain?  Will it rain?  Is it going to rain?  Is it going to rain today?  Is it likely to rain?  What’s the chance of rain today?  Do I need my umbrella today?
  12. 12. The application
  13. 13. The Code Two main classes: ● Connector between Alexa and AWS Lambda ● A speechlet
  14. 14. SpeechletRequestStreamHandler package com.riddlefox.tarot; import java.util.HashSet; import java.util.Set; import com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler; public class TarotSpeechletRequestStreamHandler extends SpeechletRequestStreamHandler { private static final Set<String> supportedApplicationIds = new HashSet<String>(); static { String appId = System.getenv("APP_ID"); supportedApplicationIds.add(appId); } public TarotSpeechletRequestStreamHandler() { super(new TarotSpeechlet(), supportedApplicationIds); } }
  15. 15. Speechlet Interface SpeechletResponse onLaunch(SpeechletRequestEnvelope<LaunchRequest> requestEnvelope); void onSessionStarted(SpeechletRequestEnvelope<SessionStartedRequest> requestEnvelope); void onSessionEnded(SpeechletRequestEnvelope<SessionEndedRequest> requestEnvelope); SpeechletResponse onIntent(SpeechletRequestEnvelope<IntentRequest> requestEnvelope);
  16. 16. Speechlet
  17. 17. Deployment of the Code
  18. 18. Deployment of the code
  19. 19. Deployment of the code
  20. 20. Deployment of the code
  21. 21. Deployment of the code
  22. 22. Deployment of the code
  23. 23. Deployment of the code
  24. 24. Deployment of the code
  25. 25. Deployment of the code
  26. 26. Deployment of the code
  27. 27. Deployment of the code
  28. 28. Deployment of the code
  29. 29. Deployment of the code
  30. 30. Does it work?
  31. 31. What next?
  32. 32. What next?
  33. 33. What next?
  34. 34. Any questions? @orbific james@orbific.com Development blog: jamesburt.me.uk

×