1 00:00:04,160 --> 00:00:07,520 Speaker 1: Get in text with technology with tech Stuff from stuff 2 00:00:07,800 --> 00:00:14,680 Speaker 1: dot com. Hey everyone, and welcome to Tech Stuff. I 3 00:00:14,720 --> 00:00:19,480 Speaker 1: am your host, Jonathan Strickland. Today I am incredibly fortunate 4 00:00:19,560 --> 00:00:22,680 Speaker 1: I have not one, but two amazing guests to talk 5 00:00:22,760 --> 00:00:25,759 Speaker 1: about our topic of discussion today, which is really going 6 00:00:25,840 --> 00:00:30,880 Speaker 1: to be about Amazon's Alexa service and what it can do, 7 00:00:31,120 --> 00:00:34,080 Speaker 1: what what it's like to develop for it, and why 8 00:00:34,120 --> 00:00:38,880 Speaker 1: should we be excited about these voice recognition services in general. Uh. 9 00:00:39,159 --> 00:00:41,640 Speaker 1: I guarantee you by the end of this episode you'll 10 00:00:41,640 --> 00:00:44,400 Speaker 1: be as excited about them as I already am. So 11 00:00:44,479 --> 00:00:47,920 Speaker 1: let me introduce my guests. First, on the phone, I've 12 00:00:47,960 --> 00:00:51,960 Speaker 1: got Dave Zbitski from Amazon High Dave, Hey, how you 13 00:00:51,960 --> 00:00:55,880 Speaker 1: doing great? Thank you so much for joining me, really appreciated. 14 00:00:56,280 --> 00:00:59,920 Speaker 1: And I here in the studio in the flesh. John 15 00:01:00,120 --> 00:01:02,760 Speaker 1: Scheme from big nerd Ranch. Now, Josh, you've been working 16 00:01:02,840 --> 00:01:06,720 Speaker 1: on developing sort of the the the how to guide 17 00:01:06,920 --> 00:01:10,160 Speaker 1: of developing for Amazon's Alexa. Is that correct? Yeah, that's right. 18 00:01:10,160 --> 00:01:13,160 Speaker 1: I've been working with David and others in Amazon to 19 00:01:13,480 --> 00:01:17,000 Speaker 1: build some developer education tools to write apps for the 20 00:01:17,040 --> 00:01:20,080 Speaker 1: Alexa Skills Kit platform with Now, this is great. I'm 21 00:01:20,120 --> 00:01:22,679 Speaker 1: glad that I've got two experts on the subject here 22 00:01:22,760 --> 00:01:26,520 Speaker 1: because I do lots of research and I love to 23 00:01:26,600 --> 00:01:30,120 Speaker 1: chat about technology, and I'm very passionate about the subject. 24 00:01:30,600 --> 00:01:34,160 Speaker 1: But it's always a great thrill for me to have 25 00:01:34,440 --> 00:01:37,319 Speaker 1: experts on the subject matter here as well, so that 26 00:01:37,360 --> 00:01:40,160 Speaker 1: they can even fill in those gaps that are within 27 00:01:40,200 --> 00:01:44,319 Speaker 1: my understanding, because I'm coming from a consumer standpoint primarily, 28 00:01:44,360 --> 00:01:48,720 Speaker 1: I am not someone who has had a deep education 29 00:01:49,000 --> 00:01:52,000 Speaker 1: in the field of coding and developing for this sort 30 00:01:52,040 --> 00:01:57,000 Speaker 1: of stuff. I have a liberal arts degree, but I'm 31 00:01:57,120 --> 00:01:58,920 Speaker 1: so glad to have you guys here to talk about. 32 00:01:59,000 --> 00:02:01,559 Speaker 1: Let's start at the very top and work our way down. 33 00:02:02,200 --> 00:02:06,360 Speaker 1: So Alexa is uh a kind of a personal assistant 34 00:02:06,400 --> 00:02:08,720 Speaker 1: that can do lots of different stuff and depends heavily 35 00:02:08,800 --> 00:02:14,440 Speaker 1: upon voice recognition, speech recognition, natural language processing. And I 36 00:02:14,520 --> 00:02:18,320 Speaker 1: don't think a lot of people have a true understanding 37 00:02:18,400 --> 00:02:23,200 Speaker 1: or appreciation of how big a deal that is that 38 00:02:23,600 --> 00:02:26,800 Speaker 1: the way we humans communicate and the way that computers 39 00:02:26,880 --> 00:02:31,000 Speaker 1: quote unquote think is very different. So, Dave, can you 40 00:02:31,040 --> 00:02:35,079 Speaker 1: talk a little bit about the challenges of developing something 41 00:02:35,120 --> 00:02:41,799 Speaker 1: that can actually work with natural language? Certainly, I um 42 00:02:41,840 --> 00:02:43,920 Speaker 1: and and thank you for the intro. I uh, I 43 00:02:44,000 --> 00:02:46,560 Speaker 1: love talking about technology too, and I am far from 44 00:02:46,560 --> 00:02:49,440 Speaker 1: an expert. This has been a learning journey for me. 45 00:02:49,520 --> 00:02:52,960 Speaker 1: There are people who have been working on voice and 46 00:02:53,120 --> 00:02:56,800 Speaker 1: natural language and AI for thirty plus years, and I 47 00:02:56,840 --> 00:03:00,360 Speaker 1: feel like we're in a see change now with the 48 00:03:00,400 --> 00:03:06,400 Speaker 1: power of the cloud and just how affordable you know everybody, Um, 49 00:03:06,600 --> 00:03:08,360 Speaker 1: you may have a tablet or you may have a 50 00:03:08,360 --> 00:03:11,880 Speaker 1: smart home. Just that technology has become so affordable for 51 00:03:11,919 --> 00:03:15,040 Speaker 1: everybody that we can finally do something like this. And 52 00:03:15,800 --> 00:03:21,680 Speaker 1: Amazon's vision is basically the Star Trek computer. If everybody remembers, 53 00:03:22,160 --> 00:03:25,080 Speaker 1: it doesn't matter if it's you know, the Next Generation, 54 00:03:25,160 --> 00:03:29,000 Speaker 1: the original series, Deep Space nine, any or the movies, right, 55 00:03:29,320 --> 00:03:33,040 Speaker 1: there was always a voice that a human being could 56 00:03:33,120 --> 00:03:36,360 Speaker 1: just call out to in the air. I remember watching 57 00:03:36,440 --> 00:03:41,000 Speaker 1: Next Generation and uh wharf would go and play opera, right, 58 00:03:41,120 --> 00:03:44,040 Speaker 1: klingon opera or Pricard would would ask for music just 59 00:03:44,480 --> 00:03:46,520 Speaker 1: and they would walk in the room. And I was 60 00:03:46,560 --> 00:03:48,960 Speaker 1: just thinking about that the other day walking into my office, 61 00:03:49,000 --> 00:03:52,680 Speaker 1: I was like, gosh, I'm asking a computer to turn 62 00:03:52,720 --> 00:03:54,560 Speaker 1: on the lights and play a piece of music. This 63 00:03:54,720 --> 00:03:58,400 Speaker 1: is we are living in science fiction, right, And so 64 00:03:58,440 --> 00:04:02,480 Speaker 1: that's the basic idea behind mind Alexa is it is 65 00:04:02,520 --> 00:04:06,400 Speaker 1: a service from Amazon that we make available to anyone 66 00:04:06,760 --> 00:04:10,640 Speaker 1: were free, and we've put it into actual pieces of 67 00:04:10,680 --> 00:04:14,119 Speaker 1: hardware that we make and we sell to Amazon customers 68 00:04:14,160 --> 00:04:17,080 Speaker 1: as well. And some of your listeners may know that 69 00:04:17,200 --> 00:04:20,720 Speaker 1: as the Amazon Echo, the Dot, the tap, or the 70 00:04:20,760 --> 00:04:25,000 Speaker 1: fire TV. And the basic premise is that Alexa can 71 00:04:25,160 --> 00:04:29,159 Speaker 1: understand us as a human being, and then she can 72 00:04:29,160 --> 00:04:32,440 Speaker 1: talk to all the technology in our lives so that 73 00:04:32,480 --> 00:04:35,440 Speaker 1: we don't have to learn that user interface, you know, 74 00:04:35,520 --> 00:04:38,160 Speaker 1: the whole twelve o'clock blinking light. How do I go 75 00:04:38,200 --> 00:04:40,560 Speaker 1: ahead and change that. I should be able to just 76 00:04:40,760 --> 00:04:45,200 Speaker 1: ask the device itself to set the time. I should 77 00:04:45,240 --> 00:04:47,159 Speaker 1: not have to worry about that as a human being. 78 00:04:47,240 --> 00:04:51,120 Speaker 1: And that's really what Alexa is all about. She can 79 00:04:51,240 --> 00:04:55,080 Speaker 1: talk to human beings, she can understand human beings, and 80 00:04:55,400 --> 00:04:58,159 Speaker 1: then she can go ahead and tell machines what we're 81 00:04:58,200 --> 00:05:01,359 Speaker 1: actually asking for. The is really important to have that 82 00:05:01,440 --> 00:05:04,760 Speaker 1: sort of translator between us and the machine world. One 83 00:05:04,800 --> 00:05:08,680 Speaker 1: of the things that I found extremely frustrating early in 84 00:05:08,760 --> 00:05:13,719 Speaker 1: the era of home automation is that it wasn't all 85 00:05:13,839 --> 00:05:16,479 Speaker 1: or nothing kind of approach, depending upon what you wanted 86 00:05:16,480 --> 00:05:20,040 Speaker 1: to do you had to essentially go with one provider 87 00:05:20,400 --> 00:05:23,320 Speaker 1: for everything, one manufacturer for all of your stuff, because 88 00:05:23,320 --> 00:05:26,280 Speaker 1: it wouldn't talk to each other. You have different protocols, 89 00:05:26,560 --> 00:05:30,000 Speaker 1: you have different approaches to the way that they would 90 00:05:30,080 --> 00:05:32,520 Speaker 1: integrate with each other. And if you had everything from 91 00:05:32,600 --> 00:05:37,480 Speaker 1: one company, awesome, everything talks to each other, it's fantastic. 92 00:05:37,520 --> 00:05:41,040 Speaker 1: But if you're like a regular human being who can't 93 00:05:41,040 --> 00:05:44,760 Speaker 1: necessarily outfit an entire home all at once with the 94 00:05:44,880 --> 00:05:48,400 Speaker 1: same sort of technologies, you wanted to be able to 95 00:05:48,400 --> 00:05:50,640 Speaker 1: talk to each other. So I think one of the 96 00:05:50,720 --> 00:05:54,600 Speaker 1: big in my mind, one of the big bonuses of 97 00:05:54,680 --> 00:05:58,200 Speaker 1: an approach like Alexa is the idea that you have 98 00:05:58,400 --> 00:06:01,880 Speaker 1: this go between that can do that work for you 99 00:06:02,120 --> 00:06:05,800 Speaker 1: where it can start to compensate for the fact that 100 00:06:05,839 --> 00:06:10,599 Speaker 1: these technologies don't natively talk to each other necessarily. Um. Right. 101 00:06:10,680 --> 00:06:14,520 Speaker 1: A great thing about standards is there's so many of them, right, yeah, yeah. 102 00:06:14,520 --> 00:06:17,080 Speaker 1: I love the fact that you know, the term standard 103 00:06:17,320 --> 00:06:19,520 Speaker 1: means the opposite of what you could expect it to 104 00:06:19,600 --> 00:06:23,440 Speaker 1: be and um and and that is one of the 105 00:06:23,440 --> 00:06:27,200 Speaker 1: most popular uses we have seen for the the echo device. 106 00:06:27,279 --> 00:06:29,640 Speaker 1: I know that was my journey too, is I started 107 00:06:29,680 --> 00:06:32,640 Speaker 1: out you know. I used it for music and general queries, 108 00:06:32,640 --> 00:06:35,600 Speaker 1: and I said, you know, I heard this thing can 109 00:06:35,640 --> 00:06:37,880 Speaker 1: do stuff with smart home. I have no idea what 110 00:06:37,960 --> 00:06:39,960 Speaker 1: smart home is. I have no idea what any of 111 00:06:39,960 --> 00:06:43,520 Speaker 1: these terms like IoT right, internet things. It doesn't make 112 00:06:43,560 --> 00:06:45,680 Speaker 1: sense to me. I want to light I can turn on. 113 00:06:46,080 --> 00:06:49,000 Speaker 1: So I went to Amazon and I searched for smart 114 00:06:49,080 --> 00:06:51,120 Speaker 1: light bulb I think is what I found, and it 115 00:06:51,200 --> 00:06:54,320 Speaker 1: was I think it was fifteen bucks. I figured i'd 116 00:06:54,400 --> 00:06:56,200 Speaker 1: order it and see if it would work. And there 117 00:06:56,279 --> 00:06:59,640 Speaker 1: was you know, kind of a general instruction on Amazon site. 118 00:07:00,080 --> 00:07:02,960 Speaker 1: But what you can actually do with Alexa as you 119 00:07:02,960 --> 00:07:06,400 Speaker 1: get the device and you say, Alexa discover devices and 120 00:07:06,400 --> 00:07:08,640 Speaker 1: then she figures out what you put into your home. 121 00:07:08,720 --> 00:07:11,080 Speaker 1: You don't have to go and figure that out. And 122 00:07:11,120 --> 00:07:15,040 Speaker 1: we've found enough custard demand that we've actually created. If 123 00:07:15,040 --> 00:07:19,200 Speaker 1: you go to Amazon dot com slash smart Home, people 124 00:07:19,240 --> 00:07:21,559 Speaker 1: can go there and they'll see all of the smart 125 00:07:21,600 --> 00:07:24,760 Speaker 1: home devices that Alexa can just talk to and will 126 00:07:24,800 --> 00:07:27,880 Speaker 1: automatically work. So it makes it a much easier process 127 00:07:28,320 --> 00:07:31,520 Speaker 1: versus trying to figure out all the individual pieces to buy, 128 00:07:31,600 --> 00:07:33,760 Speaker 1: who talks to who and everything that you mentioned. You 129 00:07:33,760 --> 00:07:36,560 Speaker 1: can just go ahead and put a light screw in 130 00:07:36,600 --> 00:07:38,280 Speaker 1: a light bulb and be able to talk to it. No, 131 00:07:39,360 --> 00:07:42,240 Speaker 1: that's incredible from a consumer standpoint, right, the idea that 132 00:07:42,280 --> 00:07:46,400 Speaker 1: you've made this sort of a seamless experience so that 133 00:07:46,800 --> 00:07:50,600 Speaker 1: you don't have that frustrating moment where even with something 134 00:07:50,640 --> 00:07:53,320 Speaker 1: as simple as bluetooth pairing, for some people that that 135 00:07:53,520 --> 00:07:57,080 Speaker 1: is that is a barrier, right that they have to wait, 136 00:07:57,120 --> 00:07:59,600 Speaker 1: do I have to on each device when the light 137 00:07:59,680 --> 00:08:02,440 Speaker 1: is bling? Game? It means that what's happening, you know, 138 00:08:02,600 --> 00:08:04,880 Speaker 1: just something as simple as that can be really frustrating 139 00:08:04,920 --> 00:08:08,080 Speaker 1: for some people. So to take that step away, uh, 140 00:08:08,240 --> 00:08:12,560 Speaker 1: is really really an ingenious and helpful thing to do. Now, Now, Josh, 141 00:08:13,040 --> 00:08:16,440 Speaker 1: you've worked very hard to help with the back end 142 00:08:16,480 --> 00:08:19,360 Speaker 1: of this so that people who are developing for Alexa 143 00:08:19,760 --> 00:08:23,920 Speaker 1: can take advantage of this and and give people chance 144 00:08:24,000 --> 00:08:28,239 Speaker 1: to make Alexa do some pretty incredible things. So, first 145 00:08:28,280 --> 00:08:32,640 Speaker 1: of all, I gotta I gotta lay down some vocabulary. 146 00:08:32,800 --> 00:08:37,040 Speaker 1: Right before we started recording, you talked about how a 147 00:08:37,120 --> 00:08:39,079 Speaker 1: thing on your phone you refer to it as a skill, 148 00:08:39,080 --> 00:08:41,439 Speaker 1: and you think all of us, because I'm so deep 149 00:08:41,480 --> 00:08:44,760 Speaker 1: in this Amazon world, skills and acts. So so tell 150 00:08:44,800 --> 00:08:49,000 Speaker 1: people what what exactly is an Alexa skill? Well, it's 151 00:08:49,000 --> 00:08:53,160 Speaker 1: interesting skill the term you think initially a skill is 152 00:08:53,200 --> 00:08:56,160 Speaker 1: something that you acquire or learn over time. And I 153 00:08:56,200 --> 00:08:59,320 Speaker 1: believe that Amazon used that terminology as a nod towards 154 00:09:00,000 --> 00:09:02,880 Speaker 1: really the machine learning aspect of what they offer in 155 00:09:02,920 --> 00:09:06,120 Speaker 1: the cloud, right, um, which is and David was speaking 156 00:09:06,160 --> 00:09:08,959 Speaker 1: to this a bit ago. Um, you know, the machine 157 00:09:09,040 --> 00:09:13,640 Speaker 1: learning component of what the Amazon service offers, and that 158 00:09:13,840 --> 00:09:19,280 Speaker 1: is the incredibly complex problem, right of taking spoken words 159 00:09:19,440 --> 00:09:23,640 Speaker 1: and resolving them to a format that uh software can 160 00:09:23,679 --> 00:09:27,880 Speaker 1: actually work with and treat in a predictable way. Um. 161 00:09:27,920 --> 00:09:32,199 Speaker 1: You have to imagine all the timing, the inflection, the variation, 162 00:09:32,320 --> 00:09:37,320 Speaker 1: just regional differences, uh, that someone's going to ask for something. 163 00:09:37,360 --> 00:09:39,400 Speaker 1: And then also you have to think about all the 164 00:09:39,480 --> 00:09:42,280 Speaker 1: various ways that someone could ask for the exact same things. 165 00:09:42,440 --> 00:09:45,840 Speaker 1: It's an astronomical number of ways that that can happen. 166 00:09:47,000 --> 00:09:50,640 Speaker 1: And it's the Alexa Skills Kit platform that actually resolves 167 00:09:50,679 --> 00:09:54,040 Speaker 1: that problem, um in a lot of ways, UM for you. 168 00:09:54,240 --> 00:09:57,000 Speaker 1: So I believe that's why they chose that terminology. It 169 00:09:57,040 --> 00:10:01,280 Speaker 1: makes sense, right, And actually Amazon's corporate a corpus by 170 00:10:01,320 --> 00:10:04,600 Speaker 1: the way, to throw another technology steward into the mix. 171 00:10:04,800 --> 00:10:08,760 Speaker 1: UM is really a collection of data, and Amazon their 172 00:10:08,800 --> 00:10:12,960 Speaker 1: service offers a large collection of that data at which 173 00:10:13,000 --> 00:10:16,200 Speaker 1: is ever increasing by the way. UM. That simplifies the 174 00:10:16,240 --> 00:10:20,319 Speaker 1: problem of resolving that speech and converting it into UM. 175 00:10:20,400 --> 00:10:23,680 Speaker 1: What what the platform calls an intent, which is really 176 00:10:23,679 --> 00:10:25,880 Speaker 1: an indication of something that someone would like to do 177 00:10:25,960 --> 00:10:29,240 Speaker 1: at a given time. Yeah, it's interesting because if you 178 00:10:29,280 --> 00:10:32,440 Speaker 1: think about it from a classical computing standpoint, if you 179 00:10:32,480 --> 00:10:36,040 Speaker 1: wanted your computer to do something specific, uh, let's go 180 00:10:36,080 --> 00:10:37,840 Speaker 1: back to the DOS days. We're not gonna go all 181 00:10:37,880 --> 00:10:39,440 Speaker 1: the way back. We'll go back to DOST days because 182 00:10:39,440 --> 00:10:42,240 Speaker 1: that's that's my childhood. Then you would type in a 183 00:10:42,280 --> 00:10:45,600 Speaker 1: command and and the computer knew exactly what you wanted 184 00:10:45,640 --> 00:10:48,520 Speaker 1: to do as long as the actual program is installed 185 00:10:48,520 --> 00:10:52,520 Speaker 1: on your computer. Because you're following a very specific protocol 186 00:10:52,559 --> 00:10:55,160 Speaker 1: that does not vary. That's right, always going to be 187 00:10:55,200 --> 00:10:56,760 Speaker 1: the same. It's a one to one thing, and it's 188 00:10:56,800 --> 00:11:00,240 Speaker 1: a textual interface and very consistent. Yes, but when you 189 00:11:00,240 --> 00:11:03,120 Speaker 1: get to two different people, just just two people, and 190 00:11:03,160 --> 00:11:05,719 Speaker 1: you just want them to ask for the same thing, 191 00:11:05,800 --> 00:11:09,320 Speaker 1: but you're not guiding them in how to ask, that's 192 00:11:09,320 --> 00:11:12,040 Speaker 1: same for that same thing. That's where you start getting 193 00:11:12,080 --> 00:11:16,920 Speaker 1: into this, uh, this this variability and even if they're 194 00:11:16,920 --> 00:11:19,720 Speaker 1: both saying the exact same phrase, if they're from my 195 00:11:19,840 --> 00:11:21,599 Speaker 1: neck of the woods, there might be a bit of 196 00:11:21,640 --> 00:11:24,600 Speaker 1: a droll that's right there. If they're up over in Maine, 197 00:11:24,679 --> 00:11:26,559 Speaker 1: it's going to be a different sound if they're if 198 00:11:26,559 --> 00:11:28,800 Speaker 1: they're no non native English speaker, they're gonna be in 199 00:11:29,000 --> 00:11:32,480 Speaker 1: an inflection in their voice from whatever language was their 200 00:11:32,480 --> 00:11:36,400 Speaker 1: primary language. So these are all non trivial problems actually 201 00:11:36,920 --> 00:11:39,679 Speaker 1: in the in the programming world. Yes, so there's that problem, 202 00:11:39,800 --> 00:11:42,360 Speaker 1: and then there's also an Amazon refers to this as 203 00:11:42,440 --> 00:11:46,400 Speaker 1: the interaction model, which is the number of variances in 204 00:11:46,480 --> 00:11:50,200 Speaker 1: how someone could ask for something, and the platform takes 205 00:11:50,280 --> 00:11:53,880 Speaker 1: a fuzzy matching approach to solving that problem. Right, So 206 00:11:54,400 --> 00:11:57,440 Speaker 1: instead of providing an exhaustive list of all of the 207 00:11:57,520 --> 00:12:01,320 Speaker 1: various ways that someone could ask for information for an airport, 208 00:12:01,440 --> 00:12:06,880 Speaker 1: for example, um, instead they use a artificial intelligence approach 209 00:12:06,880 --> 00:12:10,840 Speaker 1: to that problem and generalize a set of training data 210 00:12:10,880 --> 00:12:14,640 Speaker 1: that you actually provide as a developer, uh to to 211 00:12:14,679 --> 00:12:18,120 Speaker 1: simplify that problem down. Okay, so yeah, because the first 212 00:12:18,160 --> 00:12:19,640 Speaker 1: thing I was guessing was like I wonder if it's 213 00:12:19,679 --> 00:12:21,480 Speaker 1: going to be probabilistic. It is one of those things 214 00:12:21,480 --> 00:12:24,560 Speaker 1: where it assigns a probability that I'm pretty sure this 215 00:12:24,600 --> 00:12:26,760 Speaker 1: is what they're asking for, so let's go for that. 216 00:12:26,920 --> 00:12:29,720 Speaker 1: Uh exactly. Yeah. We've talked about that with some of 217 00:12:29,760 --> 00:12:33,440 Speaker 1: the other artificial intelligence platforms out there, things like IBM 218 00:12:33,480 --> 00:12:36,720 Speaker 1: S Watson being a very simple example, right, simple in 219 00:12:36,720 --> 00:12:39,560 Speaker 1: the sense that it's easy to understand. It's actually a 220 00:12:39,600 --> 00:12:42,760 Speaker 1: pretty complicated machine as it turns out. But the fact 221 00:12:42,840 --> 00:12:44,559 Speaker 1: that you would say, all right, well, when it was 222 00:12:44,559 --> 00:12:47,679 Speaker 1: playing jeopardy, it would never buzz in unless that certainty 223 00:12:47,760 --> 00:12:50,920 Speaker 1: was greater than like an eight threshold. And once you 224 00:12:51,000 --> 00:12:53,959 Speaker 1: explain to people that's what we mean by probabilistic, where 225 00:12:54,040 --> 00:12:58,679 Speaker 1: a computer is determining, well, how how quote unquote sure 226 00:12:58,800 --> 00:13:01,880 Speaker 1: am I that this is intent of the person giving 227 00:13:01,920 --> 00:13:05,080 Speaker 1: the command then act upon it. One of the things 228 00:13:05,080 --> 00:13:08,160 Speaker 1: I wanted to also mention about alexas skill, so we 229 00:13:08,320 --> 00:13:11,760 Speaker 1: talked about how it's it's voice commands, right that you're 230 00:13:11,760 --> 00:13:16,360 Speaker 1: giving it. These have their own kind of anatomy, Right, 231 00:13:16,440 --> 00:13:20,320 Speaker 1: You've got the skill, where how how you activate the 232 00:13:20,320 --> 00:13:23,240 Speaker 1: skill itself? What you call upon in order to make 233 00:13:23,240 --> 00:13:26,280 Speaker 1: the skill happen, and UM, I wonder if you can 234 00:13:26,320 --> 00:13:28,560 Speaker 1: maybe go into just a little bit like it might 235 00:13:28,559 --> 00:13:30,959 Speaker 1: not be something that the end user would necessarily think 236 00:13:30,960 --> 00:13:33,839 Speaker 1: about the developers would think about. Yeah, no exactly that. 237 00:13:34,000 --> 00:13:36,160 Speaker 1: You know, it's got its own grab bag of terminology, 238 00:13:36,240 --> 00:13:39,040 Speaker 1: but it's really not that complicated once you get past 239 00:13:39,040 --> 00:13:42,240 Speaker 1: those initial things. Um. You know. So as a developer 240 00:13:42,320 --> 00:13:45,079 Speaker 1: coming to the platform, the first thing that I asked was, well, 241 00:13:45,120 --> 00:13:47,560 Speaker 1: what heck is the name of my app or skill? 242 00:13:47,679 --> 00:13:50,800 Speaker 1: I mean, um and updating that in my mind? UM, 243 00:13:50,840 --> 00:13:53,600 Speaker 1: and that is called the invocation name on the platform. 244 00:13:53,720 --> 00:13:57,240 Speaker 1: So what that invocation does is it invocation name does? 245 00:13:57,320 --> 00:13:59,920 Speaker 1: Is it maps a user's word? Basically? I think it 246 00:14:00,120 --> 00:14:02,480 Speaker 1: as a name space like I came to you know, 247 00:14:02,960 --> 00:14:06,600 Speaker 1: Alexa skills kit development as a Java developer and being 248 00:14:06,600 --> 00:14:10,520 Speaker 1: able to give package names or name spaces two classes 249 00:14:10,840 --> 00:14:14,319 Speaker 1: as a Java developer is very helpful. Um. And really 250 00:14:14,360 --> 00:14:18,439 Speaker 1: that's what it does, uh, an invocation named. So for example, UM, 251 00:14:18,480 --> 00:14:21,560 Speaker 1: in our class at Bigner Ranch that we've built for 252 00:14:21,560 --> 00:14:25,120 Speaker 1: for Amazon, we we've given We've built a skill to 253 00:14:25,280 --> 00:14:29,280 Speaker 1: give you information about airports and UM, you you say, Alexa, 254 00:14:29,400 --> 00:14:32,200 Speaker 1: ask airport info for flight delays at a t L. 255 00:14:32,280 --> 00:14:36,440 Speaker 1: For example, that airport info word or words is an 256 00:14:36,440 --> 00:14:39,600 Speaker 1: invocation name, so that initially brings up the skill. It 257 00:14:39,680 --> 00:14:42,440 Speaker 1: launches it so to speak UM. And then you've got 258 00:14:43,040 --> 00:14:46,840 Speaker 1: sample utterances UM. I mentioned that you train UM. I 259 00:14:47,240 --> 00:14:49,120 Speaker 1: kind of think of it as a brain in the cloud, 260 00:14:49,360 --> 00:14:51,360 Speaker 1: UM that lives in the cloud to do our bidding 261 00:14:51,400 --> 00:14:55,240 Speaker 1: for us for resolving the spoken words. UH. These sample 262 00:14:55,320 --> 00:14:59,080 Speaker 1: utterances are what effectively resolve what someone's asking for to 263 00:14:59,720 --> 00:15:02,840 Speaker 1: an indication or an intent that we'd like to ask 264 00:15:02,880 --> 00:15:07,080 Speaker 1: for airport information. And Amazon has made some really smart 265 00:15:07,160 --> 00:15:12,000 Speaker 1: decisions about making that a black box. Effectively, as a developer, 266 00:15:12,440 --> 00:15:15,000 Speaker 1: all we do is provide that training data and on 267 00:15:15,040 --> 00:15:17,600 Speaker 1: the other side we get an indication of what came out. 268 00:15:18,040 --> 00:15:21,360 Speaker 1: We're not required to you know, set up a machine 269 00:15:21,480 --> 00:15:24,800 Speaker 1: learning server or you know, artificial intelligence or deal with 270 00:15:24,840 --> 00:15:28,440 Speaker 1: any of those algorithms that who knows how many countless 271 00:15:28,840 --> 00:15:33,600 Speaker 1: engineers and hours Amazon is invested into building that infrastructure UM. 272 00:15:33,640 --> 00:15:36,360 Speaker 1: But we've got that as a tool to resolve the 273 00:15:36,360 --> 00:15:40,520 Speaker 1: information down to something that our skill service can work with. 274 00:15:40,720 --> 00:15:43,680 Speaker 1: So with an Alexis skill, you've got a skill interface 275 00:15:43,720 --> 00:15:45,960 Speaker 1: and a skill service the Skill interface is where this 276 00:15:46,040 --> 00:15:49,000 Speaker 1: brain that I keep mentioning lives, and the skill service 277 00:15:49,200 --> 00:15:53,560 Speaker 1: is it's really anything that can speak HTTPS. UM. Now 278 00:15:54,000 --> 00:15:57,240 Speaker 1: with our class, we're using no JS, which is, you know, 279 00:15:57,280 --> 00:16:00,240 Speaker 1: it's JavaScript on the server side. Everybody's it in a 280 00:16:00,360 --> 00:16:03,520 Speaker 1: dab of JavaScript here there anyway, So it's an easy 281 00:16:03,560 --> 00:16:05,880 Speaker 1: language for people to pick up and get into. If 282 00:16:05,880 --> 00:16:09,360 Speaker 1: you've done you know, um uh, any web development, you've 283 00:16:09,400 --> 00:16:13,480 Speaker 1: likely got some JavaScript exposure. UM. So it's really an 284 00:16:13,520 --> 00:16:16,520 Speaker 1: extension upon that using some you know, you've got some 285 00:16:16,560 --> 00:16:19,600 Speaker 1: additional things like file io and being able to write 286 00:16:19,640 --> 00:16:23,480 Speaker 1: to a database using node. Uh. But with that JavaScript layer, 287 00:16:23,760 --> 00:16:26,160 Speaker 1: we get events from the Skill interface and we're able 288 00:16:26,200 --> 00:16:29,560 Speaker 1: to process those events and then send a message back 289 00:16:29,680 --> 00:16:34,120 Speaker 1: using Jason right Java JavaScript object notation uh to the 290 00:16:34,280 --> 00:16:37,480 Speaker 1: to the device, and she's able to speak speak our response. 291 00:16:37,640 --> 00:16:40,400 Speaker 1: It's pretty cool. This is really well, I'm sorry, Dave, 292 00:16:40,440 --> 00:16:43,880 Speaker 1: please go ahead. I was just gonna say to um 293 00:16:43,920 --> 00:16:46,160 Speaker 1: to to add on to that. You can think of 294 00:16:46,200 --> 00:16:49,440 Speaker 1: it in terms of you know, we've we talked before 295 00:16:49,520 --> 00:16:54,360 Speaker 1: about Alexa translating human language into a way that she 296 00:16:54,440 --> 00:16:58,800 Speaker 1: can talk to technology. It is the same when third 297 00:16:58,960 --> 00:17:02,280 Speaker 1: party developers go ahead and enhance what she can understand 298 00:17:02,760 --> 00:17:07,040 Speaker 1: through skills. So, if you are an Amazon customer and 299 00:17:07,160 --> 00:17:10,440 Speaker 1: you have an Echo and you talk to your echo, 300 00:17:11,000 --> 00:17:14,040 Speaker 1: and perhaps you're using what Josh describeder, you're using a 301 00:17:14,119 --> 00:17:18,680 Speaker 1: starting phrase, uh and a invocation name to launch something 302 00:17:18,760 --> 00:17:22,480 Speaker 1: like let's say Fitbit or uber or your your Domino's 303 00:17:22,520 --> 00:17:26,359 Speaker 1: easy order. Your voice goes to Amazon. Your voice is 304 00:17:26,440 --> 00:17:29,359 Speaker 1: never shared with a third party developer. You should think 305 00:17:29,440 --> 00:17:32,800 Speaker 1: of Alexa almost as that friend that can can not 306 00:17:32,880 --> 00:17:35,840 Speaker 1: only translate to other pieces of technology, but she can 307 00:17:35,880 --> 00:17:38,960 Speaker 1: talk to all of these third party developers who have 308 00:17:39,080 --> 00:17:44,280 Speaker 1: their own technology. Uh. And so in essence, for for Fitbit, 309 00:17:45,000 --> 00:17:48,080 Speaker 1: when you talk to her, she understands that you're asking 310 00:17:48,320 --> 00:17:50,320 Speaker 1: how you know, how did you do today? And then 311 00:17:50,359 --> 00:17:53,600 Speaker 1: she goes and she talks to Fitbit, and Fitbit says, oh, 312 00:17:53,680 --> 00:17:55,119 Speaker 1: you know, we have these servers and we have all 313 00:17:55,160 --> 00:17:57,960 Speaker 1: these datas and and we know we uh, you know, 314 00:17:58,040 --> 00:17:59,920 Speaker 1: we we know you're a customer. We're gonna return that. 315 00:18:00,400 --> 00:18:03,600 Speaker 1: So go tell that customer this. And then Alexa goes 316 00:18:04,000 --> 00:18:08,000 Speaker 1: and she tells you the information that Fitbit had for you. So, 317 00:18:08,040 --> 00:18:13,040 Speaker 1: in in essence, it is translating between those things and uh, 318 00:18:13,160 --> 00:18:17,480 Speaker 1: you mentioned before the probability. Uh, it's very interesting. As 319 00:18:17,560 --> 00:18:22,040 Speaker 1: human beings when we have a conversation, we were constantly 320 00:18:22,080 --> 00:18:25,399 Speaker 1: making choices like that too. I bring all of my 321 00:18:25,480 --> 00:18:28,120 Speaker 1: experience to this podcast today, right, So when we're having 322 00:18:28,160 --> 00:18:31,280 Speaker 1: a conversation, it's based on all the years that I've 323 00:18:31,320 --> 00:18:34,280 Speaker 1: had a conversation and the understanding of what those words 324 00:18:34,800 --> 00:18:37,479 Speaker 1: actually mean. And there's a lot of things that go 325 00:18:37,600 --> 00:18:40,000 Speaker 1: on set. So for example, we all know what time 326 00:18:40,000 --> 00:18:42,320 Speaker 1: of the day it is where we are, we know 327 00:18:42,400 --> 00:18:46,000 Speaker 1: where we live, we know what country we're in. I 328 00:18:46,119 --> 00:18:48,280 Speaker 1: know you know, I know how to stand up, I 329 00:18:48,400 --> 00:18:50,600 Speaker 1: know what eyes and nose look like. I know what 330 00:18:50,640 --> 00:18:53,200 Speaker 1: a computer ist I knew what when you reference Doss, 331 00:18:54,320 --> 00:18:57,520 Speaker 1: A lot of machine learning is that a computer doesn't 332 00:18:57,560 --> 00:19:01,560 Speaker 1: necessarily have that context, right, And so when you're a 333 00:19:01,600 --> 00:19:06,119 Speaker 1: third party developer, you know the the interaction model that 334 00:19:06,240 --> 00:19:09,119 Speaker 1: jos described basically, think of it like, Uh, you and 335 00:19:09,160 --> 00:19:10,679 Speaker 1: I are going to have a discussion around a new 336 00:19:10,680 --> 00:19:13,359 Speaker 1: topic today. Maybe it's something to do with fitness, and 337 00:19:13,440 --> 00:19:15,000 Speaker 1: so we all, you know, we all go look at 338 00:19:15,000 --> 00:19:17,080 Speaker 1: a wiki or maybe we look at Reddit, and we 339 00:19:17,160 --> 00:19:19,160 Speaker 1: define all the terms and then you and I can 340 00:19:19,359 --> 00:19:22,359 Speaker 1: can have a conversation and actually understand all of that. 341 00:19:22,440 --> 00:19:25,600 Speaker 1: And so that's what you're basically setting up when you 342 00:19:25,640 --> 00:19:28,400 Speaker 1: want to add an additional skill to Alexa is Hey, 343 00:19:28,440 --> 00:19:31,600 Speaker 1: here's all the terms, and when people ask for it 344 00:19:31,680 --> 00:19:34,800 Speaker 1: like this in language, here's what I want you to 345 00:19:34,840 --> 00:19:38,720 Speaker 1: tell me that they asked. And Dave you touched upon 346 00:19:38,840 --> 00:19:41,159 Speaker 1: something early on in that too that I think is 347 00:19:41,560 --> 00:19:44,879 Speaker 1: interesting and important to point out the idea that uh 348 00:19:44,880 --> 00:19:49,440 Speaker 1: with with you communicating to Alexa, your information is going 349 00:19:49,480 --> 00:19:52,880 Speaker 1: to Amazon. It's not being propagated across the internet willy nilly, 350 00:19:53,040 --> 00:19:57,200 Speaker 1: being spread everywhere. That also ends up being an important 351 00:19:57,240 --> 00:19:59,679 Speaker 1: part of some of the restrictions around the types of 352 00:19:59,680 --> 00:20:03,359 Speaker 1: skill ales that Amazon will accept for Alexa, one being 353 00:20:03,680 --> 00:20:07,240 Speaker 1: that they there aren't going to be uh child once 354 00:20:07,400 --> 00:20:11,879 Speaker 1: once for children specifically, because there is a very real 355 00:20:11,960 --> 00:20:15,879 Speaker 1: concern about privacy and information, particularly for children who may 356 00:20:15,880 --> 00:20:20,520 Speaker 1: not fully understand or recognize the importance of that. Um. 357 00:20:20,560 --> 00:20:23,959 Speaker 1: So are there other restrictions on the types of skills 358 00:20:24,000 --> 00:20:27,880 Speaker 1: Amazon is going to except I would imagine that anything 359 00:20:27,880 --> 00:20:33,760 Speaker 1: that was against the law right out the door not happening. Yeah, 360 00:20:33,800 --> 00:20:37,879 Speaker 1: you know, um in the scenario that you described, because 361 00:20:37,880 --> 00:20:41,480 Speaker 1: Alexa today has no way to distinguish between different voices. 362 00:20:41,520 --> 00:20:44,280 Speaker 1: So if we had an echo in the room and 363 00:20:44,359 --> 00:20:47,080 Speaker 1: I was talking and you were talking, that is both 364 00:20:47,240 --> 00:20:50,679 Speaker 1: a human being, it's it's language. She cannot differentiate. So 365 00:20:50,720 --> 00:20:53,679 Speaker 1: she cannot differentiate whether it is a child asking for 366 00:20:53,760 --> 00:20:56,879 Speaker 1: something or an adult. And because of that, uh, and 367 00:20:56,960 --> 00:20:59,600 Speaker 1: you know there are COPA regulations and and everything else 368 00:20:59,640 --> 00:21:02,320 Speaker 1: when it is to mobile and web existing today, we 369 00:21:02,320 --> 00:21:04,480 Speaker 1: want to make sure that we're honoring that and that 370 00:21:04,560 --> 00:21:11,880 Speaker 1: we are protecting folks. Um your um uh second question 371 00:21:12,080 --> 00:21:15,920 Speaker 1: around um, if there's anything else that we're not necessarily allowing, 372 00:21:15,960 --> 00:21:19,600 Speaker 1: I think, um, there are. The guidelines are very similar. 373 00:21:19,680 --> 00:21:22,439 Speaker 1: So we do have an Android app store today, an 374 00:21:22,480 --> 00:21:25,359 Speaker 1: Amazon App Store which has very similar policy. So it 375 00:21:25,400 --> 00:21:28,520 Speaker 1: is something that Amazon has been in that that space 376 00:21:28,680 --> 00:21:32,119 Speaker 1: for years and we've kind of learned as we've gone through. 377 00:21:32,560 --> 00:21:35,680 Speaker 1: We just launched an update to the Alexis Skills section 378 00:21:36,640 --> 00:21:39,440 Speaker 1: where we have categories, and those categories are very similar 379 00:21:39,440 --> 00:21:42,160 Speaker 1: to what people would expect in a mobile app store 380 00:21:42,280 --> 00:21:45,800 Speaker 1: for you know, games, technology, things like that. So uh, 381 00:21:45,880 --> 00:21:48,080 Speaker 1: you know it's very it's got to be PG thirteen 382 00:21:48,160 --> 00:21:51,960 Speaker 1: and G you know, no our rated content anything like that. 383 00:21:52,640 --> 00:21:57,439 Speaker 1: No UM personally identifiable information. You would not. You know, 384 00:21:57,480 --> 00:22:00,400 Speaker 1: we're very careful about if you keep asking people all 385 00:22:00,440 --> 00:22:02,520 Speaker 1: about them, why are you asking about them? And you 386 00:22:02,560 --> 00:22:06,040 Speaker 1: better have a privacy policy for that that somebody has 387 00:22:06,080 --> 00:22:09,439 Speaker 1: allowed you to ask for that information. We do not 388 00:22:09,600 --> 00:22:14,520 Speaker 1: share any information about you. We don't share device information UM, 389 00:22:14,720 --> 00:22:18,280 Speaker 1: although you know developers of course keep asking for those 390 00:22:18,320 --> 00:22:19,960 Speaker 1: things you know they want to know is this coming 391 00:22:19,960 --> 00:22:23,360 Speaker 1: from an echo or mulbile app? Because Alexa will run 392 00:22:23,480 --> 00:22:26,600 Speaker 1: in anything. So there are UH apps for the iPhone, 393 00:22:26,640 --> 00:22:28,879 Speaker 1: apps for Android where you can talk to Alexa and 394 00:22:28,920 --> 00:22:31,399 Speaker 1: get access to all your skills. You can get access 395 00:22:31,400 --> 00:22:34,200 Speaker 1: to all of your smart home functionality as well, using 396 00:22:34,200 --> 00:22:39,480 Speaker 1: the same familiar Alexa experience. See and I am glad 397 00:22:39,520 --> 00:22:41,600 Speaker 1: you were able to address that. I think that that 398 00:22:41,760 --> 00:22:44,600 Speaker 1: actually is a very important thing for any platform to 399 00:22:44,680 --> 00:22:48,520 Speaker 1: do well. You do. Actually it seems counterintuitive, but you 400 00:22:48,600 --> 00:22:51,680 Speaker 1: do need to have those guidelines and restrictions there. And 401 00:22:52,119 --> 00:22:56,520 Speaker 1: if you ever want to see what can happen if 402 00:22:56,560 --> 00:22:59,560 Speaker 1: you don't put them there, you can look at some 403 00:23:00,000 --> 00:23:05,040 Speaker 1: any dramatic lessons we've learned through things like Microsoft Ta, 404 00:23:05,640 --> 00:23:10,240 Speaker 1: which was certainly not intended to turn into a big problem. 405 00:23:10,359 --> 00:23:13,840 Speaker 1: It was that the intention, the intent was how long 406 00:23:13,880 --> 00:23:16,480 Speaker 1: did that last? For like a day and hours? It 407 00:23:16,560 --> 00:23:18,920 Speaker 1: was twenty four hours and then they pulled the plug. Yeah, 408 00:23:18,920 --> 00:23:20,879 Speaker 1: I did a full episode of Microsoft Taste. I'm not 409 00:23:20,920 --> 00:23:23,040 Speaker 1: going to go back and do that, obviously, I'm not 410 00:23:23,080 --> 00:23:25,359 Speaker 1: going to ask either of you to comment on that 411 00:23:25,400 --> 00:23:29,240 Speaker 1: anymore than but just to just to say, like, if 412 00:23:29,280 --> 00:23:32,639 Speaker 1: you have a system and you don't have those restrictions 413 00:23:32,640 --> 00:23:37,120 Speaker 1: in and we are all in many ways like children, 414 00:23:37,240 --> 00:23:40,960 Speaker 1: and sometimes as children, you want to test boundaries, and 415 00:23:41,080 --> 00:23:45,600 Speaker 1: if you find there are no boundaries, problems happen. So 416 00:23:46,240 --> 00:23:49,520 Speaker 1: I'm in favor of boundaries personally. That's actually one thing, 417 00:23:49,840 --> 00:23:52,560 Speaker 1: uh that Amazon has done a really good job of 418 00:23:52,800 --> 00:23:58,200 Speaker 1: is curating the experience as well. You know, they literally, um, 419 00:23:58,240 --> 00:24:02,120 Speaker 1: as you submit your skill, audit that skill pretty thoroughly 420 00:24:02,119 --> 00:24:04,560 Speaker 1: and pretty rigorously to make sure that it conforms to 421 00:24:05,440 --> 00:24:09,720 Speaker 1: good Voice User Experience guidelines. Well, and when you're talking 422 00:24:09,720 --> 00:24:12,600 Speaker 1: about a device that that you know people think of 423 00:24:12,720 --> 00:24:16,640 Speaker 1: as listening to you, obviously you have a great responsibility 424 00:24:17,280 --> 00:24:20,439 Speaker 1: in order to provide an experience that isn't going to 425 00:24:20,600 --> 00:24:23,919 Speaker 1: be negative in any way. Uh, knowing that you know 426 00:24:23,960 --> 00:24:26,040 Speaker 1: you have to take a lot of time and effort 427 00:24:26,080 --> 00:24:29,560 Speaker 1: to make certain that you avoid any problems that could 428 00:24:29,600 --> 00:24:31,840 Speaker 1: come later down the line. I mean, that's got to 429 00:24:31,880 --> 00:24:36,119 Speaker 1: be pretty pretty top concern from Amazon. Yeah, that was, 430 00:24:37,080 --> 00:24:40,320 Speaker 1: you know, very very important for us at Amazon when 431 00:24:40,320 --> 00:24:43,680 Speaker 1: we created the device. And so if you're not using 432 00:24:43,680 --> 00:24:46,479 Speaker 1: an Echo, you're using another device, you know, maybe it's 433 00:24:46,480 --> 00:24:48,919 Speaker 1: a mobile app, or you know, maybe it's in the 434 00:24:49,000 --> 00:24:52,040 Speaker 1: car or in a clock radio. All of those devices 435 00:24:52,040 --> 00:24:55,120 Speaker 1: are pushed to talk. So those devices are never listening 436 00:24:55,480 --> 00:24:59,400 Speaker 1: unless you hit a button. If you have an Echo device, 437 00:25:00,080 --> 00:25:03,000 Speaker 1: you have the ability to hit a mute button, and 438 00:25:03,040 --> 00:25:05,119 Speaker 1: when you hit a mute button, you actually see a 439 00:25:05,160 --> 00:25:07,879 Speaker 1: red ring that goes around the outside letting you know, 440 00:25:08,400 --> 00:25:10,879 Speaker 1: and we do cut power to the microphone as well 441 00:25:11,359 --> 00:25:15,040 Speaker 1: when you hit that. Otherwise, Alexa is never listening unless 442 00:25:15,119 --> 00:25:18,320 Speaker 1: she hears her name. So when you say Alexa, then 443 00:25:18,359 --> 00:25:21,639 Speaker 1: we begin to record your voice. Your voice again is 444 00:25:21,640 --> 00:25:23,600 Speaker 1: only sent to Amazon. We do not send that to 445 00:25:23,680 --> 00:25:27,480 Speaker 1: third parties. And then you can open the Alexa app itself. 446 00:25:27,520 --> 00:25:29,880 Speaker 1: You can see every same little thing that you've ever 447 00:25:30,000 --> 00:25:33,960 Speaker 1: said to Alexa. After you've said Alexa and and then talk. 448 00:25:34,760 --> 00:25:37,040 Speaker 1: And then you also have the ability to delete any 449 00:25:37,080 --> 00:25:39,720 Speaker 1: one of those, or if you'd like, you can contact 450 00:25:39,760 --> 00:25:42,720 Speaker 1: us and remove your entire history as well. So we 451 00:25:42,760 --> 00:25:45,959 Speaker 1: do put all the control into the customer's hands. And 452 00:25:46,119 --> 00:25:49,560 Speaker 1: obviously that was this great foresight on on the part 453 00:25:49,560 --> 00:25:51,760 Speaker 1: of Amazon, because you could easily imagine that if you 454 00:25:51,760 --> 00:25:55,120 Speaker 1: did not build that into your design from the ground up, 455 00:25:55,560 --> 00:25:58,400 Speaker 1: that you would you would very quickly realize the need 456 00:25:58,520 --> 00:26:01,800 Speaker 1: for that. And if that that, that's not a good feeling. 457 00:26:02,600 --> 00:26:04,520 Speaker 1: I think in any of this, this scenario, because it 458 00:26:04,600 --> 00:26:07,600 Speaker 1: is very new for people, it's about building up trust 459 00:26:08,400 --> 00:26:11,560 Speaker 1: and it's about you know, I use terminology of crawling, 460 00:26:12,280 --> 00:26:15,560 Speaker 1: then walking, and then running, and I think as a technologist, 461 00:26:15,600 --> 00:26:18,359 Speaker 1: I always want to run, but it's important in a 462 00:26:18,400 --> 00:26:21,679 Speaker 1: space like this to start out crawling, even if that 463 00:26:21,760 --> 00:26:25,280 Speaker 1: means you're limiting what you can actually do with the device. 464 00:26:25,520 --> 00:26:28,239 Speaker 1: And one of the you know, the things that I 465 00:26:28,280 --> 00:26:31,359 Speaker 1: feel is a sign that that's been a success is 466 00:26:31,400 --> 00:26:36,160 Speaker 1: that people come and they ask for more. You know, now, hey, 467 00:26:36,200 --> 00:26:38,040 Speaker 1: I want Alexa to do more. It's okay, you know, 468 00:26:38,080 --> 00:26:40,480 Speaker 1: give me permission. I wanted to control this. I wanted 469 00:26:40,520 --> 00:26:42,400 Speaker 1: to control that, and gee, it would be great if 470 00:26:42,400 --> 00:26:45,040 Speaker 1: we call it like, so people are now they're fine 471 00:26:45,119 --> 00:26:47,640 Speaker 1: with the fact that they can talk to Alexa. Now 472 00:26:47,680 --> 00:26:49,720 Speaker 1: I want Alexa to do even more. I want Alexa 473 00:26:50,160 --> 00:26:52,520 Speaker 1: to wake up and start talking to me even if 474 00:26:52,560 --> 00:26:54,560 Speaker 1: I haven't talk to her, which is something you know 475 00:26:54,640 --> 00:26:57,560 Speaker 1: that she doesn't do today. She will never interrupt you 476 00:26:58,000 --> 00:27:02,360 Speaker 1: or start talking out of nowhere unless you first engage. 477 00:27:02,400 --> 00:27:04,560 Speaker 1: And I think that's a sign of customer trucks and 478 00:27:04,600 --> 00:27:07,280 Speaker 1: people getting excited about where the technology is headed. That's 479 00:27:07,280 --> 00:27:09,600 Speaker 1: pretty cool. I also want to say something else that 480 00:27:09,600 --> 00:27:13,240 Speaker 1: I think is really cool. Um, you guys might disagree, 481 00:27:13,600 --> 00:27:16,960 Speaker 1: and many listeners may disagree. But so I went back 482 00:27:17,000 --> 00:27:20,200 Speaker 1: and I was looking at There are blogs for specifically 483 00:27:20,240 --> 00:27:24,040 Speaker 1: for Alexa developers, which I recommend my listeners go out 484 00:27:24,160 --> 00:27:26,800 Speaker 1: check out those blogs. They are not written in a 485 00:27:26,840 --> 00:27:30,919 Speaker 1: way that is UH that's so dense or so technical 486 00:27:31,119 --> 00:27:34,040 Speaker 1: that they are inaccessible. They are very accessible and I 487 00:27:34,080 --> 00:27:36,400 Speaker 1: read over quite a few of them before we had 488 00:27:36,440 --> 00:27:39,200 Speaker 1: this conversation, and one of the reasons why I wanted 489 00:27:39,200 --> 00:27:41,960 Speaker 1: to bring this up. While they are incredibly helpful and technical, 490 00:27:42,760 --> 00:27:45,639 Speaker 1: one of the examples that was used in UH in 491 00:27:45,680 --> 00:27:49,280 Speaker 1: one of the blog posts spoke to a deep core 492 00:27:49,400 --> 00:27:52,960 Speaker 1: within me where it was actually being used to explain 493 00:27:53,040 --> 00:27:55,760 Speaker 1: what is a launch phrase? Was an invocation name and 494 00:27:55,800 --> 00:27:59,800 Speaker 1: it was about um using Dungeon dice D twenty for 495 00:28:00,320 --> 00:28:04,520 Speaker 1: that was me. Yeah, I'm as a hardcore D and 496 00:28:04,600 --> 00:28:08,040 Speaker 1: D fan from way back. I hung out with Gary 497 00:28:08,080 --> 00:28:14,200 Speaker 1: Guy Gags creator Dudgeons and Dragons. Yeah, edition campaign right now. Actually, 498 00:28:17,400 --> 00:28:21,679 Speaker 1: if I hold this up talking about the video, you 499 00:28:21,720 --> 00:28:23,679 Speaker 1: see all my D and D manuals right there. They 500 00:28:23,760 --> 00:28:26,800 Speaker 1: can my originals. I can report that Dave in fact 501 00:28:26,880 --> 00:28:30,560 Speaker 1: does have a stack approximately looks like about two ft 502 00:28:30,560 --> 00:28:34,879 Speaker 1: tall of D and D manuals behind him. Um, first edition, 503 00:28:35,000 --> 00:28:37,439 Speaker 1: all the way through a second. Oh Dave, you and 504 00:28:37,480 --> 00:28:42,240 Speaker 1: me man this blogged this room and on the phone. 505 00:28:42,680 --> 00:28:44,600 Speaker 1: Uh yeah, so that was one of those things. But 506 00:28:44,760 --> 00:28:49,000 Speaker 1: I like that the examples you guys give are interesting, 507 00:28:49,320 --> 00:28:53,320 Speaker 1: they are easy to understand, and you also it's outside 508 00:28:53,400 --> 00:28:56,800 Speaker 1: of that initial reaction I think a lot of people 509 00:28:56,840 --> 00:28:59,719 Speaker 1: would have when they hear the word Amazon. Of course, 510 00:29:00,320 --> 00:29:02,800 Speaker 1: their first thought is going to go towards online shopping 511 00:29:03,160 --> 00:29:04,720 Speaker 1: and they're thinking, oh, well, this is going to be 512 00:29:04,760 --> 00:29:06,600 Speaker 1: an app that just makes it easier for me to 513 00:29:06,600 --> 00:29:08,960 Speaker 1: buy things. But then you get into something like this 514 00:29:09,000 --> 00:29:11,080 Speaker 1: and you're like, well, no, this is here's something where 515 00:29:11,080 --> 00:29:13,640 Speaker 1: imagine you've got a table and you know, you don't 516 00:29:13,760 --> 00:29:17,480 Speaker 1: have a metric ton of dice weighing the table down. 517 00:29:17,640 --> 00:29:19,320 Speaker 1: You actually have an app and you can just call 518 00:29:19,400 --> 00:29:23,280 Speaker 1: on any time you need, and then that becomes incorporated 519 00:29:23,320 --> 00:29:26,560 Speaker 1: into your game. It's almost like Alexa is playing the 520 00:29:26,560 --> 00:29:29,880 Speaker 1: game with you, and people start to realize, oh, there's 521 00:29:30,000 --> 00:29:33,760 Speaker 1: other stuff this can do that that aren't that isn't 522 00:29:33,800 --> 00:29:36,520 Speaker 1: related to buying things. I personally think one of the 523 00:29:36,560 --> 00:29:39,640 Speaker 1: cool decisions Amazon made with this is really treating it 524 00:29:39,680 --> 00:29:43,640 Speaker 1: like an interface and as a developer, implementing that interface, 525 00:29:43,840 --> 00:29:46,720 Speaker 1: you know, uh, for your purposes is really what the 526 00:29:46,760 --> 00:29:50,040 Speaker 1: platform is is great at I mean at work. For example, 527 00:29:50,080 --> 00:29:53,040 Speaker 1: we had a hackathon recently and um, I wrote a 528 00:29:53,080 --> 00:29:55,560 Speaker 1: service in a lixer to be able to control and 529 00:29:55,600 --> 00:29:57,440 Speaker 1: this runs on a Raspberry Pie to be able to 530 00:29:57,440 --> 00:30:01,520 Speaker 1: control the servo locks on of the doors in our building. 531 00:30:01,840 --> 00:30:04,520 Speaker 1: And I recently was able to write a skill that 532 00:30:04,640 --> 00:30:08,520 Speaker 1: interacts with that Raspberry Pie via the web to open 533 00:30:08,560 --> 00:30:11,400 Speaker 1: the door, um when we see a visitor come by. 534 00:30:11,480 --> 00:30:14,880 Speaker 1: So the platform is totally open as a developer, and 535 00:30:14,880 --> 00:30:17,280 Speaker 1: and uh, there's Something else I wanted to touch on 536 00:30:17,320 --> 00:30:19,600 Speaker 1: as well, that as mentioned in the blogs and we've 537 00:30:19,640 --> 00:30:21,560 Speaker 1: kind of touched talked about a little bit, is that 538 00:30:21,640 --> 00:30:24,240 Speaker 1: the the coding side of this, it is a server side, 539 00:30:24,240 --> 00:30:28,040 Speaker 1: not a device side, not a client side kind of service. Josh, 540 00:30:28,120 --> 00:30:30,480 Speaker 1: can you talk a little bit about about why that 541 00:30:30,640 --> 00:30:32,720 Speaker 1: is just for people who might wonder like, well, why 542 00:30:32,840 --> 00:30:36,120 Speaker 1: would all this be? Why would all the the hard work, 543 00:30:36,160 --> 00:30:38,200 Speaker 1: the crunching of numbers, if you will, Why is that 544 00:30:38,280 --> 00:30:42,000 Speaker 1: happening in the cloud and not on on a dedicated device. Yeah, 545 00:30:42,000 --> 00:30:43,520 Speaker 1: that's a great question. I mean, I think there are 546 00:30:43,520 --> 00:30:46,080 Speaker 1: a couple of really solid reasons right away. You can 547 00:30:46,120 --> 00:30:48,800 Speaker 1: list for one, um, you know, the fact that the 548 00:30:48,840 --> 00:30:53,840 Speaker 1: Amazon Echo you'll likely have numerous devices, and being able 549 00:30:53,880 --> 00:30:56,040 Speaker 1: to enable that skill and have it in the cloud 550 00:30:56,280 --> 00:30:59,920 Speaker 1: um is an instantaneous thing across all of those devices, 551 00:31:00,480 --> 00:31:02,720 Speaker 1: right So, I think that's one really solid reason that 552 00:31:02,760 --> 00:31:07,160 Speaker 1: Amazon went without architecture. The other reason is moving everything 553 00:31:07,320 --> 00:31:10,440 Speaker 1: to the cloud, right keeping it on that infrastructure, it 554 00:31:10,480 --> 00:31:15,120 Speaker 1: allows for Amazon to iterate incredibly quickly on that skill 555 00:31:15,320 --> 00:31:18,480 Speaker 1: interface side of things. UM, you know, not having that 556 00:31:18,560 --> 00:31:22,640 Speaker 1: constraint to the device and worrying about shipping new hardware 557 00:31:22,680 --> 00:31:27,080 Speaker 1: to make changes over time. Amazon can simply change out 558 00:31:27,120 --> 00:31:31,520 Speaker 1: that in interface and interaction model um uh, you know 559 00:31:32,400 --> 00:31:37,160 Speaker 1: pretty much seamlessly. Um and it works um incredibly well. 560 00:31:38,200 --> 00:31:41,400 Speaker 1: And that's a that's a big part of it. It 561 00:31:41,440 --> 00:31:44,480 Speaker 1: also enables um, you know, third party developers to host 562 00:31:45,160 --> 00:31:48,120 Speaker 1: their own services wherever they want, and whatever technology they 563 00:31:48,120 --> 00:31:51,000 Speaker 1: want doesn't have to be an Amazon Cloud using any 564 00:31:51,080 --> 00:31:55,600 Speaker 1: language that they want. And we knew, you know, uh, 565 00:31:55,840 --> 00:31:58,200 Speaker 1: we thought of some pretty interesting things for Alexa, but 566 00:31:58,280 --> 00:32:02,480 Speaker 1: we knew we really need to an essence crowdsource her 567 00:32:02,520 --> 00:32:06,760 Speaker 1: ability to get smarter. Uh. And there's now over fifteen 568 00:32:06,840 --> 00:32:11,200 Speaker 1: hundred skills out there today by a third party developers 569 00:32:12,080 --> 00:32:15,160 Speaker 1: who are creating things with you know, like job described 570 00:32:15,520 --> 00:32:18,280 Speaker 1: about controlling doors and putting things in Raspberry pies and 571 00:32:18,760 --> 00:32:22,960 Speaker 1: robots and drones and health health and life sciences and 572 00:32:23,040 --> 00:32:27,360 Speaker 1: doctors offices and hospitals and games and virtual reality, you know, 573 00:32:27,480 --> 00:32:30,680 Speaker 1: things that we never would have been able to right ourselves, 574 00:32:30,680 --> 00:32:33,640 Speaker 1: that people have just taken uh and they've run with it. 575 00:32:33,720 --> 00:32:36,040 Speaker 1: And I continue to be impressed every day by what 576 00:32:36,400 --> 00:32:38,760 Speaker 1: people are doing. Yeah, exactly, Davin. I mean, you know, 577 00:32:38,880 --> 00:32:42,400 Speaker 1: you can embed you know, Alexa in if you're a 578 00:32:42,400 --> 00:32:46,440 Speaker 1: hardware designer, you can build your own version of Echo 579 00:32:46,560 --> 00:32:49,640 Speaker 1: with extended capabilities. In fact, you could have a display 580 00:32:49,960 --> 00:32:52,240 Speaker 1: or you know, if you have visions about what that 581 00:32:52,280 --> 00:32:55,480 Speaker 1: could be like, you can embed what's called Alexive Voice 582 00:32:55,480 --> 00:32:59,640 Speaker 1: services within that hardware and actually create your own version 583 00:32:59,680 --> 00:33:03,560 Speaker 1: of of the Echo, which is incredibly powerful. Interesting. So 584 00:33:04,040 --> 00:33:06,680 Speaker 1: let's talk a bit now, Josh. You you work very 585 00:33:06,720 --> 00:33:10,080 Speaker 1: closely over at Bigner branch and developing the kind of 586 00:33:10,240 --> 00:33:14,320 Speaker 1: UH curriculum that someone would who wants to develop for Alexa. 587 00:33:14,320 --> 00:33:16,400 Speaker 1: They'd find it very helpful they to to actually learn 588 00:33:16,440 --> 00:33:20,160 Speaker 1: how to code something and crafts something. And you've mentioned 589 00:33:20,160 --> 00:33:23,720 Speaker 1: before also that that one of the test skills people 590 00:33:23,720 --> 00:33:27,880 Speaker 1: will develop is one about getting information about airports and 591 00:33:28,400 --> 00:33:32,160 Speaker 1: potential delays. Let's let's kind of, in a layman sense, 592 00:33:32,280 --> 00:33:35,520 Speaker 1: kind of walk through what is the process in general 593 00:33:35,680 --> 00:33:38,680 Speaker 1: of of developing for Alexa, and then at the end 594 00:33:38,680 --> 00:33:41,560 Speaker 1: of it, I think we can do a quick little demonstration. Alexa, 595 00:33:41,640 --> 00:33:44,200 Speaker 1: by the way, I didn't introduce her. I feel like 596 00:33:44,200 --> 00:33:46,720 Speaker 1: such a cad I didn't introduce her, but she is 597 00:33:46,800 --> 00:33:49,800 Speaker 1: also in the studio with us. So Alexa, how are 598 00:33:49,800 --> 00:33:54,520 Speaker 1: you doing today? Great. And if you're listening, make sure 599 00:33:54,560 --> 00:33:58,280 Speaker 1: you're muted. Although you were already listening your your echo 600 00:33:58,320 --> 00:34:01,160 Speaker 1: has probably gone on several times. My my parents are 601 00:34:01,200 --> 00:34:04,040 Speaker 1: going to send me a very mad email. My parents, 602 00:34:04,080 --> 00:34:07,240 Speaker 1: by the way, they have they're the ones who asked 603 00:34:07,240 --> 00:34:10,239 Speaker 1: me to do this podcast because my parents own own 604 00:34:10,320 --> 00:34:12,680 Speaker 1: and Echo, and they talked to it all the time, 605 00:34:12,719 --> 00:34:15,040 Speaker 1: and they demonstrated to me all the time. And uh, 606 00:34:15,080 --> 00:34:17,640 Speaker 1: the only reason I haven't picked one up yet is 607 00:34:17,680 --> 00:34:19,120 Speaker 1: I've got to wait for my wife to go out 608 00:34:19,120 --> 00:34:21,319 Speaker 1: of town just long enough so I can get it 609 00:34:21,320 --> 00:34:23,560 Speaker 1: and incorporated into everything, so that when she comes back 610 00:34:23,560 --> 00:34:26,600 Speaker 1: and sees that I bought it, it's so awesome and 611 00:34:26,640 --> 00:34:29,080 Speaker 1: incorporated and integrated that she would never want to get 612 00:34:29,160 --> 00:34:32,640 Speaker 1: rid of it. Yeah, I run the white I do 613 00:34:32,719 --> 00:34:38,040 Speaker 1: the wife test with technology as well, and is slowly 614 00:34:38,120 --> 00:34:42,480 Speaker 1: warmed up to She was resisted at first, but she's 615 00:34:42,560 --> 00:34:45,759 Speaker 1: just accepted it into our home. Step one is is 616 00:34:45,800 --> 00:34:48,759 Speaker 1: get my wife comfortable with Alexa. Step two is to 617 00:34:48,760 --> 00:34:51,920 Speaker 1: get her into a D and D campaign. All right, 618 00:34:52,000 --> 00:34:54,799 Speaker 1: So so we're I come to you, Josh, I just say, 619 00:34:54,840 --> 00:34:57,320 Speaker 1: I say I am interested in starting to develop for Alexa. 620 00:34:57,719 --> 00:35:01,440 Speaker 1: What's kind of the process of of learning to develop 621 00:35:01,480 --> 00:35:05,160 Speaker 1: and and the process of actually developing in a skill. Yeah. 622 00:35:05,239 --> 00:35:08,120 Speaker 1: And so you mentioned earlier that you had read our 623 00:35:08,160 --> 00:35:11,480 Speaker 1: blog and you followed that arc. It's um as you 624 00:35:11,520 --> 00:35:14,320 Speaker 1: get into the process, it's really a couple of things 625 00:35:14,400 --> 00:35:17,680 Speaker 1: that you get your brain wrapped around. Initially, you know, 626 00:35:17,800 --> 00:35:20,280 Speaker 1: most developers are going to be coming from a graphical 627 00:35:20,400 --> 00:35:23,560 Speaker 1: user interface background, right, I mean that's the lay of 628 00:35:23,600 --> 00:35:27,040 Speaker 1: the land these days. Of the applications being written, though 629 00:35:27,040 --> 00:35:30,399 Speaker 1: that's changing, are all graphical, right, because it's either meant 630 00:35:30,440 --> 00:35:36,040 Speaker 1: for a smartphone screen or it's on a laptop or desktop. Yeah. Once, once, 631 00:35:36,080 --> 00:35:41,800 Speaker 1: once mac os and and and Microsoft Windows really took hold, 632 00:35:42,200 --> 00:35:45,960 Speaker 1: we started to see other types of UIs disappear, and 633 00:35:46,000 --> 00:35:48,960 Speaker 1: then we just began to assume that was the only 634 00:35:48,960 --> 00:35:52,439 Speaker 1: way you could do things for a while. Yeah, exactly right. Uh. 635 00:35:52,520 --> 00:35:55,080 Speaker 1: You know, however, the paradigm as we see is changing. 636 00:35:55,960 --> 00:36:00,880 Speaker 1: So the first thing to understand is the skill interface 637 00:36:01,000 --> 00:36:04,200 Speaker 1: portion of what I consider to be a two part thing. 638 00:36:04,239 --> 00:36:07,680 Speaker 1: It's a skill interface and then a skill service. The 639 00:36:07,719 --> 00:36:11,560 Speaker 1: skill interface, like I said, is responsible for resolving the 640 00:36:11,640 --> 00:36:15,000 Speaker 1: user's words to the first step of building a skill, 641 00:36:15,040 --> 00:36:18,840 Speaker 1: which is defining the interaction model, and so I consider 642 00:36:19,200 --> 00:36:22,400 Speaker 1: consider that to be setting an invocation name, which we 643 00:36:22,440 --> 00:36:25,759 Speaker 1: talked about earlier. It's the name of your skill, um 644 00:36:25,760 --> 00:36:28,120 Speaker 1: and how a user is going to be communicating with it. 645 00:36:28,239 --> 00:36:30,319 Speaker 1: So this is so that you can you can create 646 00:36:30,360 --> 00:36:33,040 Speaker 1: a distinction between the skill that you're developing in every 647 00:36:33,040 --> 00:36:36,600 Speaker 1: other skill that's out there on available on with Alexa. Yeah, 648 00:36:36,600 --> 00:36:38,400 Speaker 1: that's exactly right, and it's going to be unique to 649 00:36:38,400 --> 00:36:41,080 Speaker 1: the skill that you're building. Um. Amazon will in fact, 650 00:36:41,400 --> 00:36:43,320 Speaker 1: uh not allow you to have you know, of course, 651 00:36:43,400 --> 00:36:47,319 Speaker 1: the same name of another skill that that introduces an 652 00:36:47,320 --> 00:36:51,200 Speaker 1: interesting new like domain squatting type problem, that doesn't wonder, 653 00:36:51,280 --> 00:36:54,160 Speaker 1: I wonder what will become of that at any rate? Um. 654 00:36:54,239 --> 00:36:57,319 Speaker 1: So in our class, for example, one skill that we 655 00:36:57,360 --> 00:36:59,560 Speaker 1: teach you to write, which gives you a pretty good 656 00:36:59,560 --> 00:37:03,200 Speaker 1: cross action of all the different capabilities of the platform 657 00:37:03,320 --> 00:37:06,399 Speaker 1: is the airport info skill. So my first step would 658 00:37:06,400 --> 00:37:10,799 Speaker 1: be defining the invocation name of airport info in Amazon's 659 00:37:10,880 --> 00:37:14,520 Speaker 1: skill interface. And this is literally a web portal that 660 00:37:14,560 --> 00:37:18,680 Speaker 1: you visit and configure in your web browser. So as 661 00:37:18,719 --> 00:37:20,520 Speaker 1: you can figure that. The next step that you get 662 00:37:20,560 --> 00:37:25,080 Speaker 1: to is defining the sample utterances that as a developer, 663 00:37:25,560 --> 00:37:29,080 Speaker 1: I need to hook into UM as a result of 664 00:37:29,120 --> 00:37:32,960 Speaker 1: the resolution of what the interaction model said someone had 665 00:37:33,000 --> 00:37:37,440 Speaker 1: just spoken into the device, right. So this is the 666 00:37:37,560 --> 00:37:39,920 Speaker 1: kind of magic that we're talking about earlier. The black 667 00:37:40,000 --> 00:37:44,440 Speaker 1: box that Amazon offers you UM that leverages the artificial 668 00:37:44,480 --> 00:37:48,000 Speaker 1: intelligence and machine learning, you know, the cutting edge technology 669 00:37:48,160 --> 00:37:52,600 Speaker 1: really there, UM, and we train that model up with 670 00:37:52,800 --> 00:37:58,000 Speaker 1: sample utterances. So those sample utterances for airport information UM. 671 00:37:58,040 --> 00:38:01,040 Speaker 1: It's actually UH, it's got a couple of different aspects. 672 00:38:01,160 --> 00:38:04,880 Speaker 1: One is, UM, we want to be able to resolve 673 00:38:05,280 --> 00:38:08,560 Speaker 1: the various ways that someone will ask for information about 674 00:38:08,560 --> 00:38:11,520 Speaker 1: an airport. And then secondly, we've got to have a 675 00:38:11,560 --> 00:38:15,480 Speaker 1: way to pass a variable into the application or the skill. 676 00:38:15,680 --> 00:38:18,560 Speaker 1: So I want to be able to, for example, determine 677 00:38:18,880 --> 00:38:22,719 Speaker 1: if someone had said SFO or a t l UM. Right, 678 00:38:22,800 --> 00:38:25,640 Speaker 1: they're asking about it a specific airport code, and I 679 00:38:25,680 --> 00:38:27,600 Speaker 1: need to be able to throw that into a variable. 680 00:38:28,040 --> 00:38:31,080 Speaker 1: So the interaction model has a mechanism for doing that 681 00:38:31,120 --> 00:38:35,479 Speaker 1: called a slot, and a slot is it's kind of UM. 682 00:38:35,520 --> 00:38:38,880 Speaker 1: It's Amazon's terminology for basically a variable assignment that we 683 00:38:38,880 --> 00:38:41,719 Speaker 1: want to be able to do. So in that in 684 00:38:41,760 --> 00:38:46,480 Speaker 1: that set of sample utterances, we give strings that represent 685 00:38:46,640 --> 00:38:49,640 Speaker 1: how user could ask for airport information. So I might 686 00:38:49,680 --> 00:38:52,680 Speaker 1: ask for, uh, you know, Alexa, ask airport info for 687 00:38:52,840 --> 00:38:56,640 Speaker 1: flight delays at a t L, um for flight information 688 00:38:56,719 --> 00:38:59,320 Speaker 1: at a t L, for delay status at a t L. 689 00:38:59,440 --> 00:39:01,560 Speaker 1: You see the very creations of ways that someone could 690 00:39:01,560 --> 00:39:05,319 Speaker 1: ask for that info. UM. Now, like I said, it's generalized, 691 00:39:05,400 --> 00:39:08,720 Speaker 1: so in other words, it's a fuzzy resolution between those 692 00:39:08,719 --> 00:39:13,319 Speaker 1: phrases and UM. An intent. So an intent is an 693 00:39:13,320 --> 00:39:15,960 Speaker 1: indication of what someone would like your skill to do. 694 00:39:17,000 --> 00:39:18,839 Speaker 1: And we want our skill to be able to give 695 00:39:18,920 --> 00:39:22,760 Speaker 1: us information about an airport. And so the skill interface, 696 00:39:22,840 --> 00:39:25,439 Speaker 1: once we've set up that sample utterances list and we've 697 00:39:25,480 --> 00:39:29,760 Speaker 1: said okay, the words that fall at this portion of 698 00:39:29,960 --> 00:39:32,560 Speaker 1: what someone says are actually going to be dropped into 699 00:39:32,600 --> 00:39:35,680 Speaker 1: this new thing called a slot. And I want to 700 00:39:35,680 --> 00:39:38,040 Speaker 1: be able to have that as a variable on the 701 00:39:38,080 --> 00:39:41,360 Speaker 1: second portion of building a skill, which is the skill service. 702 00:39:41,960 --> 00:39:44,279 Speaker 1: So once the skill interface has done that work for me, 703 00:39:44,680 --> 00:39:47,360 Speaker 1: and since the information of what it found of what 704 00:39:47,480 --> 00:39:50,160 Speaker 1: someone had said to the skill service, that's where we're 705 00:39:50,160 --> 00:39:53,840 Speaker 1: in node land, or like David said, it's really any 706 00:39:54,040 --> 00:39:57,560 Speaker 1: programming language that can speak HTTPS and live on a 707 00:39:57,600 --> 00:40:00,719 Speaker 1: server One of the steps that actually happened at that 708 00:40:00,760 --> 00:40:04,720 Speaker 1: point too, is after you've set up everything that johsh 709 00:40:04,719 --> 00:40:07,799 Speaker 1: talked about, in essence, this is what I want to 710 00:40:07,800 --> 00:40:11,160 Speaker 1: talk about. Here's some examples of me using it in 711 00:40:11,160 --> 00:40:13,920 Speaker 1: a sentence. That's where the computer science comes in. So 712 00:40:14,000 --> 00:40:17,280 Speaker 1: that's where it runs in the cloud, and we actually 713 00:40:17,280 --> 00:40:21,480 Speaker 1: do a bunch of uh, you know, AI and machine 714 00:40:21,560 --> 00:40:24,240 Speaker 1: learning and everything that sits on top of Amazon Web Services, 715 00:40:24,280 --> 00:40:27,920 Speaker 1: and we generate a lexicon and a language model, so 716 00:40:28,360 --> 00:40:31,560 Speaker 1: it's it's all done ahead of time, and it's almost 717 00:40:31,560 --> 00:40:34,160 Speaker 1: a you know, me being a sci fi geek, it's 718 00:40:34,160 --> 00:40:37,440 Speaker 1: almost like the matrix when Neo says, teach me kung fu, 719 00:40:37,800 --> 00:40:39,919 Speaker 1: and then he's like, I now know kung fu. That's 720 00:40:39,960 --> 00:40:42,960 Speaker 1: the part that we do through the portal. So now 721 00:40:43,000 --> 00:40:46,520 Speaker 1: Alexa knows kong fu, uh, and she can talk to 722 00:40:46,560 --> 00:40:48,600 Speaker 1: you about kong fu. But you actually have to build 723 00:40:48,640 --> 00:40:51,520 Speaker 1: something to be able to respond to that. And that's 724 00:40:51,560 --> 00:40:53,640 Speaker 1: what Josh is talking about now when we move on 725 00:40:53,680 --> 00:40:56,160 Speaker 1: to the node piece, right, Yeah, so this is the 726 00:40:56,200 --> 00:40:59,279 Speaker 1: magic black box in the cloud that has you know, 727 00:40:59,360 --> 00:41:03,239 Speaker 1: the cutting edge artificial intelligence technology that Amazon offers us 728 00:41:03,960 --> 00:41:07,080 Speaker 1: um on the interaction model side of things, and as 729 00:41:07,080 --> 00:41:11,080 Speaker 1: a developer, I provide a training data. Uh. When David 730 00:41:11,120 --> 00:41:14,160 Speaker 1: said it's sort of prepares things ahead of time. It 731 00:41:14,200 --> 00:41:19,160 Speaker 1: literally bakes that training data down into something that occurs, 732 00:41:19,280 --> 00:41:22,279 Speaker 1: you know, in near real time. That interaction is is 733 00:41:22,400 --> 00:41:25,760 Speaker 1: very very fast and there's there's little to no latency 734 00:41:26,040 --> 00:41:28,640 Speaker 1: um and the reason is because they use that sample 735 00:41:28,680 --> 00:41:31,839 Speaker 1: data to prepare a model ahead of time. Uh, it's 736 00:41:31,880 --> 00:41:35,080 Speaker 1: really cool. It's it's super cool. It's you know, we're 737 00:41:35,160 --> 00:41:37,520 Speaker 1: we're living a sci fi novel right now. I feel 738 00:41:37,520 --> 00:41:39,759 Speaker 1: like I'm in cryptomic con or. So well, it's it's 739 00:41:39,760 --> 00:41:42,279 Speaker 1: got to be exciting too to be a developer that 740 00:41:42,400 --> 00:41:47,440 Speaker 1: gets to take advantage of that level of of technology 741 00:41:47,760 --> 00:41:50,960 Speaker 1: and not have to build it yourself, Like to to 742 00:41:51,360 --> 00:41:54,279 Speaker 1: develop on top of something that has already got this 743 00:41:54,320 --> 00:41:57,080 Speaker 1: amazing capability and on the shoulders of giants. I mean, 744 00:41:57,080 --> 00:42:00,279 Speaker 1: we're leveraging all of that platform and infrastry sure and 745 00:42:00,400 --> 00:42:03,799 Speaker 1: research that's that's occurred there. Uh. And right now there 746 00:42:03,880 --> 00:42:06,719 Speaker 1: is a language model out in the cloud that knows 747 00:42:06,800 --> 00:42:10,040 Speaker 1: all about rolling dungeons and dragon dice, which is It's 748 00:42:10,040 --> 00:42:12,520 Speaker 1: a reassuring thought, isn't it. I would say that that 749 00:42:12,600 --> 00:42:16,239 Speaker 1: was critical and critical hit it too a good initiative 750 00:42:16,680 --> 00:42:21,600 Speaker 1: in doing that, I'm terrible. I've lost my saving throw. 751 00:42:21,640 --> 00:42:27,279 Speaker 1: It gets being cool, that's not she will actually she'll 752 00:42:27,280 --> 00:42:31,400 Speaker 1: make a little scathing comment about you rolling a one. 753 00:42:31,880 --> 00:42:33,759 Speaker 1: That's that's pa why I showed it so like if 754 00:42:33,800 --> 00:42:36,400 Speaker 1: you could aller it. But the big light of my 755 00:42:36,480 --> 00:42:39,400 Speaker 1: kids rolling some dice if they had one, and she'll say, hey, 756 00:42:39,440 --> 00:42:41,520 Speaker 1: do you have a warple sword? If you hit twenty, 757 00:42:41,800 --> 00:42:46,120 Speaker 1: oh nice because off the head there you go. Uh so, 758 00:42:46,480 --> 00:42:48,399 Speaker 1: all right, So you you get to this point where 759 00:42:48,440 --> 00:42:51,440 Speaker 1: you've you've defined what it is you you know, incode, 760 00:42:51,440 --> 00:42:53,799 Speaker 1: You've defined what it is that the action that needs 761 00:42:53,840 --> 00:42:56,799 Speaker 1: to happen, um and you've you've built it. So we've 762 00:42:56,800 --> 00:42:59,360 Speaker 1: provided the training data and the interaction model, right, and 763 00:42:59,400 --> 00:43:04,200 Speaker 1: we've said when you uh hear words that are along 764 00:43:04,239 --> 00:43:08,560 Speaker 1: the lines of our request for airport information, I want 765 00:43:08,600 --> 00:43:11,960 Speaker 1: you to send an airport info intent as part of 766 00:43:11,960 --> 00:43:15,239 Speaker 1: a Jason payload to my skill service. And I also 767 00:43:15,280 --> 00:43:17,640 Speaker 1: want you to grab I want you to wrap up 768 00:43:17,719 --> 00:43:21,000 Speaker 1: what they said at this portion of that utterance into 769 00:43:21,040 --> 00:43:24,600 Speaker 1: a variable that I can use on my skill service. UM. 770 00:43:24,640 --> 00:43:28,120 Speaker 1: So the skill service in our class is living on UM. 771 00:43:28,160 --> 00:43:32,600 Speaker 1: It's actually another Amazon service called Lambda UM, which is 772 00:43:32,640 --> 00:43:35,880 Speaker 1: an HTPS server that spins up and shuts down. It's 773 00:43:35,920 --> 00:43:39,440 Speaker 1: kind of like Hiroku. If anyone's ever done rubyond rails 774 00:43:39,480 --> 00:43:42,280 Speaker 1: development here, Hiroku is a real go to for handling 775 00:43:42,280 --> 00:43:44,799 Speaker 1: the DevOps side of things UM and it's kind of 776 00:43:44,800 --> 00:43:47,560 Speaker 1: an on demand server platform that we're using in the 777 00:43:47,560 --> 00:43:53,200 Speaker 1: class UH and so on that. On that AWS Lambda instance, 778 00:43:53,280 --> 00:43:58,160 Speaker 1: we've written node code that handles parsing the HTTPS UM 779 00:43:58,320 --> 00:44:01,239 Speaker 1: Jason payload that comes across from the Skill interface and 780 00:44:01,280 --> 00:44:04,400 Speaker 1: it says, Okay, I've gotten Jason information here, and I 781 00:44:04,440 --> 00:44:09,400 Speaker 1: received an airport info intent UM, and I've got a 782 00:44:09,480 --> 00:44:12,920 Speaker 1: variable of a t L here, And with that information 783 00:44:13,239 --> 00:44:15,200 Speaker 1: I can then do what I will with it. I 784 00:44:15,200 --> 00:44:17,360 Speaker 1: mean I can I can go make a web request 785 00:44:17,640 --> 00:44:20,640 Speaker 1: or right to a database I could call off to 786 00:44:20,680 --> 00:44:23,480 Speaker 1: another service UM. And that's actually what we do with 787 00:44:23,520 --> 00:44:27,680 Speaker 1: Airport info is we hit the Federal Aviation Administration's servers 788 00:44:28,320 --> 00:44:31,400 Speaker 1: and request the status for a t L. Then we 789 00:44:31,480 --> 00:44:34,440 Speaker 1: build a string which is what Alexa is going to 790 00:44:34,480 --> 00:44:37,760 Speaker 1: respond with, and send it back to the Skill interface 791 00:44:38,680 --> 00:44:41,600 Speaker 1: and that gets forwarded onto the device. So that's kind 792 00:44:41,600 --> 00:44:44,320 Speaker 1: of the round trip of how an interaction with the 793 00:44:44,360 --> 00:44:46,839 Speaker 1: skill would work and what we would do as the developer. There, 794 00:44:46,960 --> 00:44:50,200 Speaker 1: so got the skill interface, skill service, skill service response 795 00:44:50,280 --> 00:44:52,120 Speaker 1: to the interface and hands it back to the device. 796 00:44:52,239 --> 00:44:58,040 Speaker 1: Now for practical experience for the person who's actually using Alexa. Obviously, 797 00:44:58,440 --> 00:45:01,200 Speaker 1: all of that information, while awesome, is not something that 798 00:45:01,200 --> 00:45:02,960 Speaker 1: you have to worry about. If you did have to 799 00:45:03,000 --> 00:45:06,040 Speaker 1: worry about it, then you would not really have a 800 00:45:06,800 --> 00:45:09,560 Speaker 1: consumer product in your hands. You'd be a developer. But 801 00:45:10,080 --> 00:45:12,880 Speaker 1: in order for you to understand what is what's the 802 00:45:12,960 --> 00:45:15,239 Speaker 1: end result with that, I thought i'd be cool, Josh, 803 00:45:15,320 --> 00:45:18,400 Speaker 1: would you mind asking Alexa kind to give an example 804 00:45:18,480 --> 00:45:21,440 Speaker 1: of that app in action? Yeah? Sure, So it's skill 805 00:45:21,480 --> 00:45:23,960 Speaker 1: I should say I have. Don't worry about it. That's 806 00:45:23,960 --> 00:45:26,759 Speaker 1: a common blunder initially coming into the thing. I think 807 00:45:26,800 --> 00:45:30,120 Speaker 1: I said app once today as well, So we don't 808 00:45:30,160 --> 00:45:34,680 Speaker 1: have any app. That's fair, that's fair, that's a good 809 00:45:34,719 --> 00:45:39,279 Speaker 1: skill idea. Yeah, so alright, so let me first, let's 810 00:45:39,360 --> 00:45:44,120 Speaker 1: un mute her, all right? So okay, So Alexa ask 811 00:45:44,200 --> 00:45:48,200 Speaker 1: airport info for flight delays at a t L. There 812 00:45:48,280 --> 00:45:51,759 Speaker 1: is currently no delay at Hartsfield Jets in Atlanta International 813 00:45:53,080 --> 00:45:56,759 Speaker 1: ladies and gentlemen, This is an amazing day. Not only 814 00:45:56,760 --> 00:46:01,280 Speaker 1: did we get to hear voice wrecking shouldn't service work 815 00:46:01,600 --> 00:46:03,520 Speaker 1: in real time on this show? But there are no 816 00:46:03,640 --> 00:46:11,640 Speaker 1: flight delays at the airport. Actually yeah, it's it's it's 817 00:46:11,640 --> 00:46:13,600 Speaker 1: not calling it's not really calling the airport, it's not 818 00:46:13,640 --> 00:46:16,560 Speaker 1: calling the f A uh. But this is this is 819 00:46:16,600 --> 00:46:21,320 Speaker 1: really interesting again showing just a very simple application. Obviously, 820 00:46:21,360 --> 00:46:25,560 Speaker 1: you could ask for lots of different things. Sorry, skill, 821 00:46:26,480 --> 00:46:28,600 Speaker 1: but you could ask for lots of different things, including 822 00:46:28,680 --> 00:46:31,080 Speaker 1: like if you were curious about what's the weather going 823 00:46:31,120 --> 00:46:33,160 Speaker 1: to be? Like what what was the time of day? 824 00:46:33,760 --> 00:46:36,640 Speaker 1: Can you play my favorite playlist on such and such? 825 00:46:37,040 --> 00:46:40,000 Speaker 1: All of these sort of things that are all really 826 00:46:40,040 --> 00:46:41,680 Speaker 1: just you know, if you come up with an idea 827 00:46:41,760 --> 00:46:45,120 Speaker 1: that could be uh essentially if you could if you 828 00:46:45,120 --> 00:46:49,120 Speaker 1: could do it across a computer web browser, and if 829 00:46:49,160 --> 00:46:52,800 Speaker 1: you're able to translate that into an experience that works, 830 00:46:53,480 --> 00:46:58,759 Speaker 1: especially speech um in a speech role, then it's it's 831 00:46:58,920 --> 00:47:01,960 Speaker 1: totally possible. And only that, but I saw because I 832 00:47:02,000 --> 00:47:04,239 Speaker 1: was curious about this. There are some things that we 833 00:47:04,320 --> 00:47:08,000 Speaker 1: do with computers where if you were asking a question, 834 00:47:08,480 --> 00:47:11,160 Speaker 1: you might need a little more information or a little 835 00:47:11,200 --> 00:47:14,040 Speaker 1: bit more of Uh, it might be a little difficult 836 00:47:14,280 --> 00:47:18,200 Speaker 1: to explain something just simply in spoken word. Uh. I 837 00:47:18,280 --> 00:47:21,360 Speaker 1: find that all the time doing an audio podcast, that 838 00:47:21,480 --> 00:47:25,240 Speaker 1: it can be kind of challenging to explain a certain 839 00:47:25,280 --> 00:47:28,200 Speaker 1: concept without the use of visual aids. I saw that 840 00:47:28,320 --> 00:47:30,799 Speaker 1: with Alexa you could actually pair that with something like 841 00:47:30,840 --> 00:47:33,399 Speaker 1: a display on an app where you can you can 842 00:47:33,440 --> 00:47:36,480 Speaker 1: have a little more information about whatever the request is. Yeah, 843 00:47:36,480 --> 00:47:40,919 Speaker 1: that's right. Yes, So Amazon also provides a additional part 844 00:47:40,960 --> 00:47:44,479 Speaker 1: of that response from the server called a card um. 845 00:47:44,520 --> 00:47:47,280 Speaker 1: So if we sent that information onto the skill interface, 846 00:47:47,400 --> 00:47:51,440 Speaker 1: what would happen is we could preserve or send additional 847 00:47:51,480 --> 00:47:56,040 Speaker 1: info to the Alexa companion app, which is in your browser, 848 00:47:56,080 --> 00:47:59,200 Speaker 1: it's on your phone, it's on the Android and Iosh 849 00:47:59,400 --> 00:48:02,280 Speaker 1: client the interfaces with it, and we'd have a history 850 00:48:02,560 --> 00:48:05,439 Speaker 1: um and additional info as well um that we could 851 00:48:05,440 --> 00:48:08,839 Speaker 1: display with that card mechanism. Right, that's a great way 852 00:48:08,840 --> 00:48:11,839 Speaker 1: of getting around what could be a real challenge. I mean, 853 00:48:11,880 --> 00:48:15,719 Speaker 1: that's something that because we've designed so much of our 854 00:48:15,760 --> 00:48:21,800 Speaker 1: interaction to be primarily a visual experience, there's certain tasks 855 00:48:21,840 --> 00:48:25,200 Speaker 1: that you do that don't translate as easily into something 856 00:48:25,239 --> 00:48:28,200 Speaker 1: that's audio based. Yeah, it's a really interesting aspect of 857 00:48:28,280 --> 00:48:30,839 Speaker 1: voice user interface design as well. I mean it's such 858 00:48:30,880 --> 00:48:35,600 Speaker 1: a um ephemeral format. It's it's here and then it's gone, 859 00:48:35,960 --> 00:48:39,520 Speaker 1: and it's an interesting problem coming from you know, the 860 00:48:39,520 --> 00:48:43,719 Speaker 1: graphical user interface background that everybody's got UM. I think 861 00:48:43,719 --> 00:48:46,200 Speaker 1: being able to hook a little bit into the g 862 00:48:46,400 --> 00:48:49,120 Speaker 1: u I side of things and persist data UM and 863 00:48:49,160 --> 00:48:51,400 Speaker 1: allow people to refer to that back um. You know, 864 00:48:51,520 --> 00:48:55,719 Speaker 1: it does give your skill legs beyond just that one interaction. 865 00:48:56,080 --> 00:49:00,320 Speaker 1: You know, for situational experiences, an on demand info voice 866 00:49:00,320 --> 00:49:03,040 Speaker 1: is great, but being able to carry it beyond that 867 00:49:03,200 --> 00:49:05,280 Speaker 1: is also one of the things that the platform offers. 868 00:49:05,640 --> 00:49:08,640 Speaker 1: That's fantastic. Now I have a question for both of you. 869 00:49:08,680 --> 00:49:10,920 Speaker 1: I'm going to kind of start wrapping this up because 870 00:49:11,520 --> 00:49:14,080 Speaker 1: I feel like we've got a nice, a nice foundation 871 00:49:14,160 --> 00:49:16,399 Speaker 1: for a discussion here and I think that it will 872 00:49:16,480 --> 00:49:19,960 Speaker 1: really uh, it's really enlightening to understand, like what are 873 00:49:20,000 --> 00:49:22,680 Speaker 1: the challenges not just the challenges, but what are the 874 00:49:23,120 --> 00:49:26,600 Speaker 1: potential benefits of this kind of technology. My question to 875 00:49:26,680 --> 00:49:29,480 Speaker 1: both of you, and it's a pretty simple one, is 876 00:49:30,239 --> 00:49:33,520 Speaker 1: what is your personal favorite skill that you've had a 877 00:49:33,600 --> 00:49:36,239 Speaker 1: chance to play with on Alexa and Dave, I'm gonna 878 00:49:36,280 --> 00:49:40,799 Speaker 1: have you go first. Yeah. So, um, besides, you know, 879 00:49:41,200 --> 00:49:44,279 Speaker 1: using the dice with my kids the funniest one, and 880 00:49:44,320 --> 00:49:46,560 Speaker 1: this is this speaks I think a little bit to 881 00:49:46,800 --> 00:49:50,839 Speaker 1: my maturity level. Is I have this skill enabled. It's 882 00:49:50,880 --> 00:49:54,480 Speaker 1: called for a fart, and you can ask for a 883 00:49:54,600 --> 00:49:58,080 Speaker 1: fart and you will get one through Alexa. So I 884 00:49:58,200 --> 00:50:02,880 Speaker 1: actually I have dots so upstairs in my house. Yeah, 885 00:50:02,920 --> 00:50:05,839 Speaker 1: all right, there's a dot in each one of my 886 00:50:05,920 --> 00:50:08,880 Speaker 1: kid's rooms. And then I have a full echo in 887 00:50:08,920 --> 00:50:11,600 Speaker 1: my bedroom. And there's actually a place in that upper 888 00:50:11,640 --> 00:50:14,600 Speaker 1: hallway that I can say Alexa asked for a fart, 889 00:50:14,680 --> 00:50:20,200 Speaker 1: and there is a symphony musical returned across the entire 890 00:50:20,280 --> 00:50:24,959 Speaker 1: upstairs and I immediately here, Dad, not again. A nice, 891 00:50:25,040 --> 00:50:30,160 Speaker 1: a nice chorus followed by groans. I can appreciate that 892 00:50:30,200 --> 00:50:35,520 Speaker 1: as someone who loves puns and and grown and grown worthy. Hum. Um, yeah, 893 00:50:35,560 --> 00:50:39,239 Speaker 1: that's fantastic. All right, So Josh, you your answer, that's 894 00:50:39,239 --> 00:50:42,400 Speaker 1: an interesting one. Well, I have to say on the 895 00:50:42,440 --> 00:50:46,480 Speaker 1: pragmatic side of things, Um, I have used lift skill 896 00:50:47,080 --> 00:50:49,919 Speaker 1: to great effect. So you just say, Alexa asked lift 897 00:50:49,960 --> 00:50:52,000 Speaker 1: for a ride, and guess what a car shows up 898 00:50:52,560 --> 00:50:55,759 Speaker 1: at your door right to pick you up. Amazing, and 899 00:50:55,800 --> 00:50:57,799 Speaker 1: it's such a good fit for the platform as well. 900 00:50:58,160 --> 00:51:00,040 Speaker 1: I mean, you're walking out the door, you say, I 901 00:51:00,080 --> 00:51:01,920 Speaker 1: don't want to get my phone out. Let's let's have 902 00:51:01,960 --> 00:51:05,040 Speaker 1: a car show up right now. Uh, and it happens. 903 00:51:05,120 --> 00:51:09,640 Speaker 1: That's very convenient. And there is a if you you know, 904 00:51:09,640 --> 00:51:11,120 Speaker 1: we talked a little bit about D and D. If 905 00:51:11,160 --> 00:51:13,839 Speaker 1: you ever played um that goes all the way back 906 00:51:13,880 --> 00:51:17,120 Speaker 1: into the old bulletin board systems days of Space Empire 907 00:51:17,480 --> 00:51:20,959 Speaker 1: or anything like that, there is a skill called star 908 00:51:21,120 --> 00:51:24,880 Speaker 1: Lanes by Joe Jo Quinta that basically allows you to 909 00:51:25,040 --> 00:51:27,440 Speaker 1: do that and you can play It's a multi player 910 00:51:27,560 --> 00:51:31,799 Speaker 1: online Space Empire game through Alexa, and that is one 911 00:51:31,840 --> 00:51:34,040 Speaker 1: of my other favorites. I would highly recommend checking that 912 00:51:34,080 --> 00:51:36,480 Speaker 1: out if you've ever played any of those games in 913 00:51:36,480 --> 00:51:38,760 Speaker 1: the past. That could be quite addicting. That's really cool, 914 00:51:38,920 --> 00:51:42,600 Speaker 1: I mean, and it really does speak to the potential 915 00:51:42,719 --> 00:51:47,160 Speaker 1: for things that we can't even necessarily anticipate right now 916 00:51:47,400 --> 00:51:50,440 Speaker 1: that could end up being either uh, it could end 917 00:51:50,520 --> 00:51:52,880 Speaker 1: up being something where you know, people talk about for 918 00:51:52,880 --> 00:51:54,919 Speaker 1: a little while like, oh, that's really clever. It's really 919 00:51:54,920 --> 00:51:57,400 Speaker 1: neat use of the technology, or it could truly be 920 00:51:57,480 --> 00:52:01,239 Speaker 1: transformative to the point where we didn't think about this 921 00:52:01,360 --> 00:52:03,480 Speaker 1: and now we can't think of what what life would 922 00:52:03,480 --> 00:52:05,840 Speaker 1: be without it. I mean, that's the that's the cool 923 00:52:06,360 --> 00:52:09,240 Speaker 1: promise of this kind of tech is that it stands 924 00:52:09,280 --> 00:52:13,880 Speaker 1: to be really disruptive, uh, for a type of technology 925 00:52:13,920 --> 00:52:17,760 Speaker 1: that's been fairly set in its ways for the last 926 00:52:17,840 --> 00:52:21,359 Speaker 1: several decades. And um, I love seeing this. I love 927 00:52:21,360 --> 00:52:24,239 Speaker 1: the discussions about machine learning and artificial intelligence. I love 928 00:52:24,320 --> 00:52:27,560 Speaker 1: the discussions about natural language and the challenges that we 929 00:52:27,600 --> 00:52:30,360 Speaker 1: face when we try to create interfaces that can accept 930 00:52:30,440 --> 00:52:33,560 Speaker 1: natural language as an input. Guys, I have to thank 931 00:52:33,560 --> 00:52:36,520 Speaker 1: you so much for joining me on tech Stuff, Dave, 932 00:52:36,719 --> 00:52:39,880 Speaker 1: Thank you, Josh, thank you. I really hope that you 933 00:52:40,000 --> 00:52:43,399 Speaker 1: enjoyed your time here on on David. I know you're 934 00:52:43,400 --> 00:52:47,400 Speaker 1: not actually in the studio, but I'll pick up my 935 00:52:47,560 --> 00:52:50,560 Speaker 1: laptop and I'll just show you around in a minute. 936 00:52:50,600 --> 00:52:53,799 Speaker 1: Thank you. Yeah. I really enjoyed being here today and 937 00:52:53,840 --> 00:52:56,000 Speaker 1: having this conversation. Thank you so much for having me 938 00:52:56,040 --> 00:52:58,160 Speaker 1: on the show. Absolutely yeah, thanks for having us, Jonathan, 939 00:52:58,200 --> 00:53:02,000 Speaker 1: I was really stimulating conversation. Uh. Yeah. And Guys, like 940 00:53:02,040 --> 00:53:04,960 Speaker 1: I said, if you want to learn more about developing 941 00:53:05,000 --> 00:53:06,960 Speaker 1: for Alexa, or you just want to kind of give 942 00:53:07,000 --> 00:53:10,279 Speaker 1: a better idea of what's going on when you are 943 00:53:10,480 --> 00:53:14,359 Speaker 1: using a device or a service with Alexa incorporated into 944 00:53:14,400 --> 00:53:17,440 Speaker 1: it and you're wondering, well, what's actually happening? Those like 945 00:53:17,480 --> 00:53:20,879 Speaker 1: I said, those blog posts are really accessible. I've read 946 00:53:21,480 --> 00:53:24,320 Speaker 1: a lot of developer blogs over the last ten years, 947 00:53:24,640 --> 00:53:27,239 Speaker 1: and they are written in a way that is much 948 00:53:27,440 --> 00:53:31,560 Speaker 1: easier to understand, even if you're coming in from a 949 00:53:31,640 --> 00:53:35,200 Speaker 1: purely just just an area of curiosity, much easier to 950 00:53:35,280 --> 00:53:37,480 Speaker 1: understand that some of the other ones I've have encountered. 951 00:53:38,320 --> 00:53:42,719 Speaker 1: That makes me feel good. And I not that you 952 00:53:42,760 --> 00:53:46,000 Speaker 1: know it's I am. I am a budding uh podcaster, 953 00:53:46,120 --> 00:53:49,560 Speaker 1: but just last week I did actually launch a podcast 954 00:53:49,600 --> 00:53:53,400 Speaker 1: along the same lines of just talking about Alexa, you know, 955 00:53:53,440 --> 00:53:56,840 Speaker 1: similar to the blog post learning Um. The first episode 956 00:53:56,880 --> 00:53:59,200 Speaker 1: aired with Charlie Kendall, who runs in our smart home, 957 00:53:59,239 --> 00:54:02,120 Speaker 1: so it's me asking him you know what that team 958 00:54:02,440 --> 00:54:04,640 Speaker 1: set out to accomplish it If you're if you're interested, 959 00:54:04,680 --> 00:54:06,640 Speaker 1: if you're if your listeners want to check it out, 960 00:54:06,680 --> 00:54:10,600 Speaker 1: it's Bitley Alexa dev Chat or just look for Alexa 961 00:54:10,640 --> 00:54:14,680 Speaker 1: dev Chat on iTunes or Stitcher or tune in or 962 00:54:14,719 --> 00:54:18,120 Speaker 1: any of the other catchers. Yeah yeah, I should also 963 00:54:18,160 --> 00:54:22,120 Speaker 1: mention the video series for learning Alexa skill Kit Development 964 00:54:22,840 --> 00:54:26,920 Speaker 1: just rolled out. At least the first two videos have 965 00:54:27,080 --> 00:54:29,520 Speaker 1: rolled out, and um I believe Amazon is planning on 966 00:54:29,640 --> 00:54:33,000 Speaker 1: rolling all of them out in the next few days. Um, 967 00:54:33,040 --> 00:54:34,960 Speaker 1: so those are going to be available online. If you 968 00:54:34,960 --> 00:54:39,000 Speaker 1: search for you know, Big nerd Ranch Amazon training videos, 969 00:54:39,000 --> 00:54:41,480 Speaker 1: you should you should be able to find it that way. 970 00:54:41,480 --> 00:54:45,120 Speaker 1: Fantastic guys. Thank you again and listeners out there. If 971 00:54:45,120 --> 00:54:46,440 Speaker 1: you want to get in touch with me, you have 972 00:54:46,440 --> 00:54:48,919 Speaker 1: a suggestion for a future episode, you gotta follow up question. 973 00:54:48,960 --> 00:54:51,360 Speaker 1: You want me to either run down Dave or Josh 974 00:54:51,360 --> 00:54:53,879 Speaker 1: and ask them, or you know, just want to say hi. 975 00:54:54,400 --> 00:54:57,479 Speaker 1: You can email me addresses tech stuff at how stuff 976 00:54:57,480 --> 00:54:59,760 Speaker 1: works dot com or drop me a line on Twitter 977 00:54:59,880 --> 00:55:02,880 Speaker 1: or Facebook. The handle for both of those is text 978 00:55:02,880 --> 00:55:06,120 Speaker 1: stuff h s W and I'll talk to you again 979 00:55:06,840 --> 00:55:14,960 Speaker 1: really soon. For more on this and thousands of other topics, 980 00:55:15,200 --> 00:55:26,840 Speaker 1: is it how stuff works dot com.