JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith

Published: Aug. 15, 2017, 10 a.m.

b'JSJ 274 Amazon Voice Services and Echo Skills with Terrance SmithOn today\\u2019s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He\\u2019s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services![01:00] \\u2013 Introduction to Terrance SmithTerrance is from Hacker Ferrer Software. They hack love into software.[01:30] \\u2013 Amazon Voice ServiceWhat I\\u2019m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker\\u2019s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It\\u2019s there when you\\u2019re not.[04:35] \\u2013 Capabilities\\xa0Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon\\u2019s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything.[05:50] \\u2013 Skills KitSkills Kit is different with AVS. Skills Kit, you can install it on any device. You\\u2019re spinning up a web service and register it on Amazon\\u2019s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth.[07:00] \\u2013 Steps for programmingWith the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is \\u201cCar Starter.\\u201d \\u201cAlexa tell Car Starter to start the car.\\u201d At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the \\u201ctell\\u201d or \\u201cask\\u201d and the name of the skill to do whatever. It\\u2019s also going to be publicly accessible. For the most part, it\\u2019s literally a web service.[10:55] \\u2013 Boilerplates for AWS LambdaBoilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you\\u2019re a developer, you\\u2019re probably going to do the spin up a web service and deal it that way.[11:45] \\u2013 Do you have to have an Amazon Echo?At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options.[12:35] \\u2013 Machine learningThere are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That\\u2019s where you can build a custom device and take it apart. So the API that we\\u2019re working with here is just using JSON and HTTP.[16:40] \\u2013 Amazon Echo ShowYou have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API\\u2019s and docs for that are not available yet.[27:20] \\u2013 ChallengesThere\\u2019s an appliance in this house that listens to everything I say. There\\u2019s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn\\u2019t pre-programmed to do. There isn\\u2019t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There\\u2019s also a learning curve involved.[29:35] \\u2013 Is your product layered in an Echo or is your product a separate device?Terrance\\u2019s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can\\u2019t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can\\u2019t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit.[32:00] \\u2013 Could you set it up through a web server?Yes. There are examples out there. There\\u2019s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way.[33:10] \\u2013 MonetizationAmazon isn\\u2019t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, \\u201cAlexa, [tell the name of the app].\\u201d It will do a lazy load of the actual skill and it will add it to your available skill\\u2019s list.However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you\\u2019re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you.[36:25] \\u2013 More information, documentation, walkthroughsThe number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It\\u2019s one of the safe and simpler options.There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi.\\xa0 If not that, there\\u2019s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there.PicksJoe Eames

Aimee KnightCharles Max WoodTerrance SmithSpecial Guest: Terrance Smith.

Support this podcast at \\u2014 https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.'