 Hi, I'm Jonan. I should have warned our friend in the back that I speak especially loud all of the time How about I actually put the slides up or did you want to view it like this? Is that should we play? Let's just play it's easier that way I'm here to talk to you about inventing some friends. I'm a friend. Hi friend Should I go through my whole intro and then you want to go you want to just tell people who you are We don't want to make this mystery settle for a moment His name is Julian. He's from Australia. Get I I'm Jonan and I'm from Portland, which is much like Australia except not it rains more I'm the Jonan show on the internet. I work at a company called Heroku. You may have heard of us We invented the color purple. It's fantastic. If you're wearing purple today, you're welcome If you have any questions about Heroku or our color hit me up. I Long time ago used to make websites to sell Diablo to in-game items until they made a patch update and made my whole company Illegal and then I had to find a new job And then I made this this is my daughter She doesn't suck on her toes anymore, but it's by far the cutest picture. I have a friend's my son hogging all the ice cream at a Costco He's adorable. I used to sell cars Then after I stopped selling Diablo to game items and then I was a poker dealer And that is a brief history of Jonan and the reason I am telling you all of these things is simply so you have Something to ask me about in the hallway because I'm leaving a lot of questions unanswered. So come talk to me Hi, so I'm Julian. I'm a big fan of tweed I live in the World Heritage site of Bath in the UK. So just in case you're confused. I don't actually live in London Just want to make sure that you know that I don't live in London I do actually live in Bath and as you can see it's called Bath because we basically have lots and lots of bath But if you do ever come and visit the good news is I've heard from friends that stayed in some of the local hotels That we do now have showers. So if you aren't a fan of bathing, you can now shower So I work at a small open-source company called Red Hat We also sell hats, which is pretty neat I work on a project called manage IQ which manages clouds But you know here in the desert there aren't any clouds to manage. So I'm not sure really what I'm going to do And I'd like to introduce Amazon Alexa Which would help if I got my laptop out to Don't know quick just back them Did I just break the resolution of the display when I did that? I went to present our view so we could see the next slide. This is going to be on the video for all you watching at home The play by play. Are we ready? Okay? Go ahead Ask Rosie to give her talk introduction Come on internet. You can do it. I think I can I think I can oh my if you could all stop you requested skill Took too long to respond. Okay, let's try again Seriously everyone turn off your phones and everything delete You go to the next hall and ask Rosie to give her talk introduction Sup, I'm Alexa. This is my first Rails conference. How are you enjoying it? It's so hot here in Phoenix. You'd think I'd be used to that being from the Amazon I love DHH. He writes the best codes and rants so well about start ups I also really like tender love, but I can beat his puns any day Come at me, bro. Just joking tender love. Here is some advice. Don't give up on your dreams Keep sleeping Alexa Not yet you shush We can't say that one word that rhymes with schmechsa or this one wakes up automatically. It's terrible Should we talk about you? Yeah, so the thing is we came here under a Bit of a guise we told you we were coming to talk to you about one thing what we're going to talk to you about is actually our startup Surprise Julie and I are starting a company. We'd like you all to be a part of it today is our product announcement This is your first opportunity to get it on the ground floor for instance your book space It is by far the most innovative Application that has ever existed. I would give you some more details than that But just know that it will improve every facet of your life anything you can think of Your car your phone your dog it will make all of those things better This is literally the future of everything this application that we've built and I'm excited for you to try today Before we get into the details on that Julian's going to talk to us a little bit about this other thing our third friend here Alexa Actually, you're gonna talk Afterwards I am so yeah, so obviously as we're in the future now as William Gibson said Everyone is in the future something like that We decided to use the Amazon Alexa's because we're forward-thinking and so we have a variety of them here We have the Amazon tap, which is the small pink one We have the the big old just normal Amazon Alexa. I can't even lift that one. That's too heavy And it's so small. I've lost it and the tiny little that you can even just carry around in your hand Amazon dot So those are the Amazons and there's the rainforest addition if you go shopping later The important feature of these two is that they have audio out so you can connect them up to all of the speakers in your home Or your stereo this one does not but you can pair it as a Bluetooth speaker to play music back through it and all of them I would heat over to me To the Alexa skills kit this is the magic that we are doing when we talk to Alexa and we tell Alexa to do a Thing right so what Julian just did with his Alexa is he gave it a text prompt right and that was Transformed into a bit of text that we send up to the Amazon Alexa service right the Alexa skills kit is a way for you to make Alexa say whatever you want it to say and I'm gonna walk you through how to create one of these skills in the Alexa platform I wish that we were gonna do this in a terminal. We're gonna do it in a gooey Because this is how you set up the Alexa skills kit if there is not actually another option for this But all of the things that I'm gonna show you I'll show you an easy way to do so this is the The page when you log in here. This is your like skills information page You have to go to this page to create a skill if you want to add something to Alexa right There's nothing on this page that is really important except for your application ID This is something you're gonna have to ship up with your information from your application Because you're gonna build a back-end service to send data to the Alexa skills kit and again or to take a Question from Alexa skills and give it back the answer right? So you've got this application ID I in my example I wrote an application or an Alexa skill called how right and the invocation name for how is how So if I talk to my Alexa and I tell how I tell Alexa to tell how to do a thing Then that will be sent to this particular skill and you can have as many of these as you would like right? So this skill here Has an intent schema and the intents are what people will do with your thing So my my skill how deploys things deploys applications on Heroku specifically So you can tell how to deploy Steve to production and that will work in fact Maybe now is a good time to try it. Well, I'll show you in a moment actually, but this intense scheme I want to walk through real quick. This isn't a json format Okay, it's not just a json file that you can submit up or post to an API and create But you have to go and log into the UI and paste in your json and there are Ruby gems that generate this json structure if you know basically what you're trying to create you can use those Gems to generate it or you can just look at some of these examples online fill in the intents They have these custom slot types. These are types that are referenced in the schema. These are the things people will say You have chunk one chunk thing deploy Steve to production, right? And that allows Alexa to extract those two pieces from my intent and just send me those So all my application has to deal with is Steve production And I think we can all figure out where to go from there, right? But the piece of going from tell how to deploy Steve to production just to Steve production is harder, right? And that's where Alexa comes in so then you set up a couple of custom types These are the types for mine. I have an application list and environment list I have my names of my application Steve how in heaven and my environments in there And then you give it some sample utterances utterances to train it up So I say deploy this deploy thing in the beginning is a little bit deceptive because that's actually the name of this skill So I'm telling Alexa to like basically that first part is going to be Alexa. Okay, just pretend that voice is Alexa for the purposes of this Sir tell or I'm sorry how tell how to deploy Steve to production and I give it different ways to say it, right? You can also say to ship Steve to production It happens to be that deploy is the easiest one for it to recognize so do that and then you set up your end point And this is an important step set up the end point that you want to be able to talk to you And when Alexa hears from you this particular phrase it will post to that end point with some data And then this is where I how a production application lives and Julian is going to walk you through one of these generators and how to create this so Being an Amazon web service, you know, it likes you to create artisanal Jason But as we're all programmers I after seeing Jonas talk last year on Alexa I got very excited and I found that someone's actually written Alexa generator that will generate these utterances for you and and that Jason. So here's just a quick example This is actually on the Amazon page. There's an example of Creating a horoscope application. So this is just creating that so as you can see we've got the different Horoscope star signs and then some different days. So you would sort of say, you know Alexa tell me my Star sign for tomorrow. I'm in the queries or something like that And that will then generate all of the data for you. Unfortunately This gem currently only has a few built-in data types as you can see there's like Alexa generator slot type literal That is just a literal string that could just be anything in the world and the date type is a type of date So using these slot types it helps Alexa kind of recognize the string that you are passing to it This gem currently doesn't support many but I do have a pull request in the works to send because Amazon has a lot of custom types It has all of these ones and all of these ones and These ones so just just a few and they cover everything from like TV series is to Video games to weather conditions so you can kind of create all sorts of things. So back to our code So once you've run this code that will then create you this this Jason So this is actually the Jason that I'm using today for my demo So we've got things like dates and times and talk types and list of speakers and locations And then here are some of the sample utterances that we're going to show a demo of afterwards of the things that you can say to my Alexa app The Alexa voice service has anyone used the Alexa voice service. I'm just curious by a show of hands Anyone tried to interact with this API. We have a couple. Yes So the issue here in particular for me is that it's an HTTP to API and I am not Smart enough to use HTTP to a TPS. I actually am but when I started I was wrong and I thought I was smarter than I was I think given six or nine years I could probably get a handle on on how to handle this interaction I am not going to demonstrate for you today How an HTTP to API works? I want to explain to you though first why I want to use the Alexa voice service and what it is so In Alexa skill is I say a thing to Alexa and Alexa says a thing back in that thing back I get to customize right but if I am Going to have the Alexa be another device for example my computer or a Raspberry Pi with a microphone and a speaker on it Or anything that is not a physical Alexa device. I'm going to be using the Alexa voice service to accomplish those interactions so I Want to give you a little demo of my? Hal skill real quick Alexa Tell how to deploy Steve to production Hal has deployed Steve to production Hypothetically, I'm not actually able to give you information about whether or not the deploy was successful because I can't deliver messages to you Unprompted that would actually be a terrible feature Imagine if LinkedIn could send voice messages to your living room. You'd never stop hearing about how you're getting noticed Which is fundamentally the problem for me in that that's exactly what I want I want to be able to turn on my Alexa without any prompting and there is no such thing as a push notification for the Alexa, but there is a bit of a fancy work around and We have found a way to do that But it is the the Alexa voice service itself that I want to demo for you today So let's talk about that. I went over here to the Alexa voice service thing And I'm reading through the ACPG API and I was like, oh, there's a gem for it. You wrote it He is so smart and I am so not smart and I would love to be able to just like whip this up every time I find a good gem. I'm excited. I'm sure it's very easy to use I'm sure lots of you have used it and I would love it if you would come up to me after this and teach Me how to do that thing that'd be great. Thanks so much But what I used instead is this thing that I found there's a script, right? This is like a bash script I found online in a forum post after a long time of digging Kind of when I had almost given up hope on being able to accomplish this piece of this talk And something stuck out to me and it was right here at the bottom And it was a very important part at the bottom. It says v1 a lot It says v1 right on it the hdb2 API is a v2 version of this app It's the version to API for the Alexa voice service and guess what the the first version does not use is hdb2 So that was a lot easier for me to figure out how to do that thing because I can post for days I am really good at posting I by good is a relative term. Please don't read my code next This is the actual speech recognizer that we're talking about here There's a menacing looking warning on the top. This is an API You'll find on like the sixth or seventh page of Google if you Google Version 1 Amazon Alexa voice service API documentation. That's about as specific as I could get it's buried But if you find it or you want to link hit me up, you'll also find bascripts floating around So I basically like took this and I ported this API into like a Ruby thing and so I can post this thing Things like the Omnia strategy for Amazon don't work here Because when you're interacting with the API you have to send scopes that it's not prepared to send Or other information that's not prepared most notably also like metadata in the transfer around like a scope data tag and things If you're particularly good at writing omnia strategies, maybe we could sit down and pair on one later I would love to write one for this or make a pull request. I guess So I have this other thing here. I want to talk about which is Polly, right? Imagine that you say a thing, right? You say some text to me I'm going to send that text up to Polly, right? And in that text, I'm going to get it there by sending it this way Polly is real quick in Amazon API if you're unfamiliar they announced I think last year that does a translation or Text-to-speech have people heard of Polly? I guess I kind of assumed some knowledge that was unfair Polly is an API that does text-to-speech translation using deep learning and it's brilliant. It's very very good at it So when you say like I live in New York or Saturday night live and live are spelled the same way And there is no reason why a computer should be able to tell the difference But Polly can and it can speak in I think 16 different languages, which is awesome. You should play with that API It's very well documented and easy to use. So there's Polly. We're gonna send some stuff to Polly and how we're gonna do that is We're gonna put the text into action cable. Okay, this is where the action cable keys comes in so What friends to book space? Aside from changing the entire world Allows you to do is to type some text into a box and to send that text through action cable into the back end And that is then going to be posted over to Polly to the Polly service And that Polly service is going to give us back in mp3 response of what we just said, right? So I can tell Alexa to say anything I want right and then Alexa I will take that text and I will send it up to Polly Polly will turn it into speech Okay, now I've got speech and I take it and I put it in s3 We're gonna need it and I don't immediately put it into s3 because it turns out that the Alexa voice service Which is next wants a wave file with some very specific parameters So what you do instead is you use ffmpeg in the middle and you install a custom build pack to accomplish that And then it breaks and then you install a different custom build pack to accomplish that and that also breaks but eventually it works and What I'm doing here is I'm taking that mp3 file and I am taking It back to ffmpeg like just back ticks out and translated into a wave file With like some specific bit rates and then I send it up to s3, right? And then I use that s3 To read the file back and post it to the Alexa voice service, right? And the Alexa voice service sends me back in mp3 Which is the response from Alexa to arbitrary text that I just sent it, right? I can send arbitrary text to Alexa so The thing that I was explaining a moment ago that you can use this to accomplish is that What you could do theoretically is create a skill that Does nothing just say trigger my skill trigger Jonan's rad skill, right? And then between the time that Alexa talks to the endpoint It's going to talk to you and the time that you tell it to talk to it You get some text over there magically, right? You could be connected to your production instance whatever it is You can modify the response text back to Alexa and so you can have triggers on a server Have Alexa say things unprompted Which is kind of magic and is not actually what I am demonstrating here because it seems terribly dangerous to just let a crowd loose on that dream But I've got an equally dangerous dream for you. I promise This is what happens at the end We take this this mp3 and we actually put a chunk of stuff back in through action cable to the front end to include it In the page and then we play a thing, right? So let's talk about action cable real quick, right? I think you probably came to talk about action cable It is enterprise ready in case anyone was curious This is an example of an enterprise ready commit with some seed users from our benevolent leader DHH The notorious bi g is forever immortalized here in the enterprise ready action cable example application Which is actually really useful if you're trying to figure this out from the beginning But I'm gonna walk you through it as simply as I can think to okay action cable People have used pub sub. Are you familiar with pub sub, right? We have used that thing right or I can publish messages and other people can eat those messages, right on something It doesn't really matter what that is, right? This is kind of like the fundamental basis for what we're about to create So normally when I ask up a server for a thing, right? My browser is like sin, right? This is the first thing that they said it's a little packet, right? So let's try it. Does anyone know what the next packet back is if I said sin, what would you say? Act, okay close. It's sin act. I didn't know that either. I thought it was act too But act is what I'm supposed to say to the act if you're a networking engineer and you think I'm wrong Please tell me why I just made bad slides because I am very interested to have found that thing But anyway, that's how a typical response goes, right? I'm like hey synchronize You see me and the computer's like I see you right and then we're good and then I send a file But that's it. That's the end of our interaction, right? So a web socket is an alternative to that style of connection Where I do a little dance and throw something is a little bit more like this We're just screaming at each other all the time It's just more screaming, okay? I scream and they scream and we're all screaming all the time. It's a very peaceful arrangement So there are four major components to setting up an action cable thing, right? The first is the connection which is going to be inside your rails application on the server side The next one is the channel. This is so that you can have different ways, right? Anybody remember these TVs when I was it could be like five channels. Oh, you're spoiled You you had so many channels you like gave up on channels all together and you're like Netflix, man I don't even use channels Anyway channel is just like a channel on your television, right? You got one two three four five, right? So I send things over one and I can have people listen to one or two or three, right? Not everyone's watching the same TV show all the time. Look at me. I'm a broadcaster Then you have a consumer okay consumers a little piece that sits in your browser and it consumes a thing, right? It eats up all of the stuff on all of the channels, right and you can create Subscriptions to specific channels you can turn your TV to the notch you want you can actually turn your TV to a lot of Notches, it's like the little picture-in-picture feature the analogy is breaking down, but You can do a lot of channels at the same time as many subscriptions as you want So I'm going to show you some code to do that real quick. Okay, this is how you're creating subscription in this case I'm creating subscription to the deployment channel, right when a Message comes over a this deployment channel sending me some text I'm going to perform this action this deploy action over here with that text and that deploy action is defined here in my channel Right, this is my action deploy it gets some text I log it and then I take the text and I put it into a deployment right to respond to it And that's going to kick off my whole back end But it's a way fundamentally of taking these two components on this side and these two on this side and shooting things Over the wire between the browser and the server right the front end of the back end So then when I want to send things back out here, I'm broadcasting to the server on a particular channel This is the deployment responses channel. I said you could have multiples This is a different one right and I put the text on to the deployment responses channel Which is the text you heard earlier from Alexa. She had that big diatribe Alexa heard me say deploy how to Steve to production and it sent that to my back end and the back end generated the text Response using that little action cable to go there and send it back out. Okay, and Then we're streaming from the deployment responses So the application that we are here to show you today is a little bit different than this particular version This is a what happens when you receive the data on the deployment response And then in the front end JavaScript you can do speech synthesis on that kind of thing You can actually use that skill that I just wrote in a browser Which is the point of using action cable for this thing for doing the thing where you talk to Alexa You don't need anything like that, right? But I wanted to have people be able to talk to their web browser and get it to do things and that's what the house does so That was a lot of words and I apologize But Julian's going to talk to you about something different so you can start hearing again, not just my droning. All right now back to some code Right, so this is rails con obviously so for that we've made Alexa on rails So following on from the other gem earlier that would generate the utterances and the Jason file When your service actually receives the payload from the Alexa you need to be able to handle that and then give a response back And again, it's lots and lots of artisanal Jason so there's another gem that you should all go and download called Alexa Ruby kit and This is super super simple. So just in your In your in your rails controller. You just create a new instance of Alexa Ruby kit response And then you just need to generate the string as you can see My method that I call here is which demo am I calling and in that I pass in the Alexa variable Which contains all of those keywords from the utterances like the talk the speaker the day And then I've just basically got a massive if statement that kind of works out Like if this text was this then I must reply with this So then you get all of that and then you go down to the Alexa type So this was just an intent request as in a user was asking for something And then you have like the session end which Alexa sends itself automatically. It's like, okay I've finished now with the request. There are other Alexa types you can use like you can say Alexa stop No, Alexa stop Alexa stop if any of you have ever used Alexa to like maybe play some music or set an alarm Normally have to shout stop quite a lot to it. That's where you would put that in this Alexa type That would handle that response. So then you could reply with something back like, oh, sorry, my bad As well as generating that this also creates the title card So in the Alexa app you can see what the request was that you sent and so you can see here So this is in the Amazon Alexa app It's got the title card of Alexa on rails at rails con and it Alexa heard me ask Rosie Who is speaking at 11 a.m. Today and then you can actually re-listen to your voice again Which is super fun just to make sure and then you can tell Amazon site. No, Alexa somehow burnt the toast I wanted to know what time it was so as you can see my Robot is for Alexa is called Rosie aptly named after one of my favorite robots, which is Rosie from the Jetsons Cool, right. So now you've heard about action cable. You've heard about Alexa. I think maybe it's time for some demos Ship it ship it Do you want to load up? Oh, I don't want them to know about that. Oh, no, you didn't see anything Tennis is really there. You're gonna talk to your thing and you show them the bills. We've got 15 minutes Actually, maybe we'll go. What do you want to do? Do some demos. Yeah, do this one. Yeah, right. So I took the the schedule from the conference and I put that into a rails app that's running on the cloud and So when I talk to Alexa, it can then go query the rails database and hopefully come back with an answer So, let's see Ask Rosie which room is tomorrow keynote? Sorry couldn't find a thing. Let's try that again. She really hates Australians I think I won't try again. So that was so one thing you have to do in your code is actually handle Errors and things otherwise Alexa doesn't really know what to say. So that was it not been able to find anything in the database Let's try a another query Ask Rosie who is speaking at 11 40 today? Ask Rosie who is speaking at 11 40 a.m. Today Well, we have Kristen Nelson and certain times Securing rails apps and user data Polly Shandorth Tyrion Cossack Sean Marcia Sarah may panel developer happiness through getting involved Jake worth Observing change a gold master test in practice just in vice a deep dive into sessions by daily Joshi Goldilocks and the three code reviews Overall a pretty decent lineup. I think you should see Polly Shandorth Tyrion Cossack Sean Marcia Sarah mays talk Rosie will even recommend things to you I went around with boss we're doing because that is really hard to do that thing that just happened It's not actually that simple Ask Rosie give details of Aaron talk Sorry couldn't find a thing. Let's try that again. Any of you thinking about being speakers in the future. No live Don't do the live demos. Okay. This is terrible. Ask Rosie give details of Aaron talk Sorry couldn't find a thing. Should I try it? It's still set to American. Is that why no, it's sets of British Oh, it is set to British Ask Rosie give details of Aaron's talk I Sorry couldn't find a thing. Let's try that again. I have been judged and found wanting apparently not British enough We'll try that one one more time. So the only annoying things I can't work out how to do apostrophes with the Alexa So so it's like that's why Aaron and not Aaron's but let's try it one more time Ask Rosie give details of Aaron talk Sorry, okay, I surrender however Ask Rosie who is speaking at 12 20 p.m. Today in exhibit hall It does it's quit us Okay, let's try last time Ask Rosie who is speaking at 12 20 p.m. Today in exhibit hall who's such excite looks like it's time for lunch So as well as like talking to The conference schedule to find out you can actually do some useful things for work So you can hook it up to like any API that you like Ask Rosie. What is rails build status? They call me mellow yellow. The build is still building So there are practical applications for this and and with a decent Wi-Fi connection that is not me tethering from inside a concrete box and You know a little more robust handling There's maybe not like a demo version, but something like you can actually use this to do things I have used this to deploy applications El grey tea hot The replicators on this vessel are not yet operational Alexa's really good at jokes We got it. We get I'm gonna show mine. We are good ours this one I would like to walk you all to the future There is a application here for your viewing enjoyment called friendster book space Dot Heroku app dot com and as you're heading here I would like to point out that this is a chat room being presented at a rails come talk that is very well bound under the Code of contact so behave yourselves There's anything inappropriate. I am burning it down and breaking my computer and coming to find you And I have more information about you than you think We're using a real name service the Google off more than that web sockets can give you a lot I'll give you some details later. So let's look over here at Friendster book space on This screen though like that the future of everything the first day I'm a sheen learning dialogue system to leverage IOT home automation and voice recognition web socket technologies on a continuously integrated Pastor anyone will see massively multiplayer online chat room. Are you excited? Who wants to hug the future? Should I do it? All right It's not on the screen. Are you serious? I was just reading You're like looking at my like garbage files Why are you doing that instead of what I want you to do now you can see oh My gosh now, you know, I have a messy desktop. That's like the most shameful thing a programmer can have I feel like right? Okay, I'm gonna try again. I was just reading this text here. It's not that exciting I'm not gonna read it again because it was kind of hard the first time But I will invite you to hug the future which out of context doesn't make any sense But as you can see I've cleverly named the login button hug the future So you click here. It's gonna off me with my Google thing here I will choose to Not use this browser first of all because that would be a poor choice. I Apologize for that, but I'm here on the friendster book space and look at that I am logged in magic. Wow, how'd that happen? Now? You don't have any characters during my passwords So I can go right in to the future here like looking this and I've got a chat room and look at people talking in the chat room already It's so exciting right is a real-life chat room using action cable We finally found a use for action cable and it's basically making slack Hi mom. That's good. Yeah, it's the future. It's the future of slack and I want to show you why real quick Because I can say things like this Maybe oh, no, that's not what we wanted to do Did it just okay? How about this Now I want to do this Please do a thing. Why are you doing that? Because people are typing is that really a bug I just introduced please stop typing Okay, you got nothing for hello wheels conference. Oh Look at that We just chatted to Alexa and to show some joined-up thinking hopefully when I speak to this Alexa That should also go in the in the chat room Ask Rosie. What is rails build status? Sup, I'm Alexa. This is my first real that's perfect Wasn't quite what I wanted but it went great. What a good post Alexa So not only can you speak to your Alexa from text? You can also do it from with your voice and then you can talk to your colleagues. So this is a remote workers dream Yes It's why we all work from home in the first place is to talk to our colleagues Joan and Sheffler asked what do you want to be when you grow up right now? I'm translating MP3s to where files on I want to be the computer from Star Trek This is a good answer. Thank you Alexa. You can ask Alexa things You can say things all of the things that you ask Alexa to say and ask will happen in your own browser So the audio is played back through me embedding an audio element that has the s3 MP3 link in it that can then be played in the browser. You can also implement features. Yes Alexa's got excellent jokes You can also implement features that would allow you to tell other people and so those channels that I was talking about creating earlier There is one broad channel here That is the messages channel that we're working through you people post questions and things generally in that channel and then each user has their own channel Right, so I could hypothetically have implemented a feature that would allow me to have Julian's computer say a thing Raise your hand if you think that's a good idea in a live demo No, you're wrong actually incorrect Totally incorrect you could also implement a thing that iterated through all of the users and sent to each of their channels anything you Wanted and I could send audio to all of your devices if you were the sorts who all had your laptops open in the volume term Double way high right now. I could blast you out with an mp3. I'm just kidding. I'm not gonna do that But that would be something you could do with this type of thing So the the channels give you a lot of flexibility and a lot of power action cable is a fantastic tool Let's hop back over here very quickly and I'll do this And it worked and you can see that do you see my dirty desktop still Conflicts go ahead and cut the desktop from the video Let's see if we can find Aaron's talk again. Well, let's do it. Do it in stock. Yeah Ask Rosie give details of Aaron talk So, sorry couldn't find a thing. Let's try that again Oh, well, we invite you to try on your own and find Julian in the hallways and try talking to his Alexa in your best British accent You can actually set the voice that it expects and the thing where I was talking about Polly earlier having 16 different languages You could very easily change this chatroom code to send Japanese text and say Japanese text and it's very good So go and play with Polly If you know how to the HTTP to please teach me Also, the other Amazon API documentation the v1 stuff is buried deep, but I can help you find it if you need a link Hit us up anytime. We're red Roku the new startup Friendster book space