 All right, that's noon, so let's go ahead and get started. You're in my session, talk to me, Drupal. If you've been sitting here for the past few minutes wondering why it says that on the screen, it's because that's the talk that you're in. Yeah, if you've got, this is more for anybody who's going to be watching this after the fact, unless somebody is actually carrying around like a Amazon Echo with them right here right now. I just wanna make sure that I put this disclaimer out there that if you've got an Echo device, that's Amazon or Alexa enabled, anything like that, you're gonna wanna go ahead and mute that now because I'm gonna be saying the key words over and over again for all, yeah. I mean, I'll probably even, you know, get Cortana to, you know, to get activated during this talk, so, yeah. This is your fair warning, you got no one to blame but yourself at this point on. All right, so my name's Frank Anderson. I'm a Christian, a father and a technology enthusiast. Online, you can find me as Rob on IRC or Drupal.org or GitHub. And on Twitter, I go with F-R-O-B-D-F-A-S because that's what happens if you smash the left hand down on the keypad. And you can read my blog at frobbio-box.com. I work for a company called Clarity Innovations. Now, Clarity of Innovations we're a professional services group that service the education, both K-12 and higher ed for nonprofits or schools or corporations. We've got 25 employees, most of us are actually from the education industry, either teachers or in the classroom. I am not one of those, but I am an engineer there. I help us to develop the solutions on the software side to help with the consultancy. So part of this means that, like I said, I'm a technology enthusiast. And so I try to make it my job to know as much about all of the things that are going on in technology as much as I can. I don't try to specialize in any one thing, like even, I'm giving a talk on voice-enabled applications but I'm by no means an expert in the field but I do try to pay as close attention to all the things that are going on to keep a real good pulse on things. I like to make things and make things do things. So there's been a lot of new technologies that have really come up and become more mainstream. A lot of this has been enabled by the commoditization of machine learning and how our computers have finally gotten fast enough to really make this something that most people can do. So that's really made, that's opened up things with the internet of things and intelligent chatbots. So when I say intelligent chatbots, if you've been to IRC or Slack or any of those things and you've seen the Drupal bot there or what used to be Drupalcon, that's not what I'm talking about. That's a dumb bot that you give it a command and it responds a certain way. Really no different than the command line on your computer would do. So a intelligent chatbot is a real conversational bot that is able to respond in expected ways to commands that were unexpected. And that all happens because you can train these things with the machine learning. And these virtual assistants, all the top vendors have the other flavor of it. Google, Amazon, Microsoft, Apple, and all of that stuff really just comes down to smart chatbots and even the voice ones and the ones that you would have in text on a Facebook Messenger or Slack, they all pretty much work the same way. So from this talk, you should get a good primer for all of that. So I'm somebody who believes that when you start something, even before you tell anybody about what, all the things that you're gonna be telling them about, you really should be leading with the cool stuff. So up until just recently, the cool stuff that I was gonna do here was going to be a live demo. I've decided to not do a live demo. So in this live demo, I was gonna ask Alexa something and then Alexa would respond. Then I would edit something in Drupal and then I would ask Alexa again and it would respond differently. So I came to a realization and that realization is that everybody's likely seen the note edit page. It's not really that cool of a thing. It's not interesting at all. It's just the note edit page. Just because it's talking instead of you reading doesn't really mean it's any different. At about the same time, my boss's boss came back from South by Southwest and he saw a really interesting talk there that he said I should check out so I went ahead and did that. Then the talk is from Christopher Ferrell. It's from South by Southwest 2018 and it was called I've Got No Screens, The Internet's Screenless Future which is pretty much in tune with what I'm talking about. So this gave me a new cool thing to show everybody at the beginning to get excited because numbers and stats are really cool. So this one's from Gartner Research. By 2020, 30% of the web browsing will be done without a screen. So that's a pretty big number right there and that's not that far away. That's three years from now, 30%. And it's only gonna get higher from that. So what that really means is that becoming voice first is going to be the new mobile first. The mobile first push started around seven years ago and by now every single website that's out there, if it's not mobile in some way or mobile first or responsive, it's expected to be, it's basically a failure of a thing because it's just a given that this is going to be the case. Seven years from now, maybe sooner, that'll be the same thing with voice. Currently, what we're in right now is the sort of like accessibility first push, which is really a precursor to that voice only push because if a computer can read the screen and read it to another person, it can parse that screen and it can put it out there. So to get ahead of the game, make your sites accessible now and that will lead you to semantic markup and markup that a machine can really read. So this is all going to, the lead to this is all the adoption for it. And so the fact of the matter is that voice assistant adoption is outpacing smartphones by a good margin. This is a slide taken from his slide deck. I can't take credit for it. The stats come from voice labs and new marketer, but right now where we're at is, I think it's right around year three. And so you can see at year three right there, smartphones had barely started to really even get adopted by the population, but there's already a lot of devices out there that are doing this voice enabled integration and it's just going to be going up from there. So was I right that the stats were cooler than the note edit page? Yeah, all right. So by now you've likely decided that you're going to build a voice app. So let's say you've got a client and that client wants to have a voice app or chat bot that wants to tell people a new joke every day. It's kind of the hello world of these things is either tell me a joke or tell me a fact about a thing. This can also be done in multiple ways. So let's say these, the access points of these are all of the vendors have their own UI for managing this content. So let's go ahead and log into that console and edit the page, edit the content, update it every day in that, which is a really bad idea. And then you have so, you could have pre-programmed responses. Here's a list of 10 things and just update the code every so often to make sure that a new fresh cycle of jokes gets put in there. It's also a bad idea. So it'd be really nice if we had some type of system that could manage content in some way. We need to get on inventing that. So this is the foreshadowing of what you're in for for today's talk. So we've already gone through the cool stuff so that's checked off. That was the stats and everything. I'll kind of give you guys sort of like the voice app 101, all the nomenclature that you're gonna need to know. We'll go over through, go through a bit of the architecture on how to get all of that to actually work with Drupal. Then we're gonna talk about natural language processing. So you kind of understand what's going on under the hood of these things because this is all black box stuff. Then we'll talk about the current market trends and go over briefly about what voice user interface design is, how to make it good. And then we're gonna bring it all home. And if we've got time, we'll talk about questions. Well, if you guys can ask questions. Like I said, I'm not an expert, but I can answer questions. So to start all off, this is the voice app 101 stuff. So it all starts with intense utterances and slots. So I put the term slots in here because even though the industry standard term for it is entities, this is Drupal and entities are a different thing. Amazon calls them slots. I'll put slots in here since we're focusing primarily on Alexa. So what is an intent? So the intent is the actual goal or the function that the machine thinks that you want to have happen. So it's pretty straightforward, but everything really starts with an intent. So from the intent, you also have the utterances. And the utterances are the words that you expect your users to use in order to have that intent happen. So you usually will want to have 10 to 12 utterances. That's the training data for the machine learning to know that it all goes down to your intent. So then we've got the entities or slots. And the entities or slots are the, they're really the parameters or the data that your intent needs to know in order to function. So the slots and entities, they all have their own custom versions of these things because the parameters that you're passing, they all are of a certain type. So there's no generic slot. So think of it in terms of like, Alexa needs a certain piece of data in order to do that intent. They hold the validation logic for what that data is as well as they also hold the logic for how they can figure that information out. So if your API is expecting a date, that date needs to be formatted a certain way. And so the entity is what makes all of the words that are coming out of the user's mouth formatted into the string or the data type that's expected in your app. So you don't have to worry about dates in America versus dates in the rest of the world having month first or day first or any of those things. It just handles that sort of thing for you and it works with dates. I mean, it could be formatting a date. It could be formatting a location. It could be formatting a color. It could be formatting food. All of these things have to be formatted a certain way before it gets to your actual program because you're talking about somebody's normal words that they're saying and they get interpreted by a computer and it can't just be, oh, this is the string that somebody said in order for your intent to actually do what it needs to do, it needs to know what that information is. So all of this leads to the fulfillment which is sort of like, the fulfillment is what happens when Alexa thinks it knows the intent of the user and all of the data slots are fulfilled. So if you've got a number of slots in there for in your intent, then before the fulfillment will happen, all of those entities or slots will ask for its own information. So in the case of a hello world intense, you could have something like hello as an utterance or hi as an utterance or howdy as an utterance but your intent could be the person's name. And so in that, or sorry, the slot would be somebody's name. So the entity that's covering the names would have pre-programs responses to call back to the user, hey, what's your name? So your actual user flow would be hi then it would respond, hello, what's your name? My name's John. Hi John. And so that would be the full workflow of that interaction. So we'll go ahead and go through some of the high level architecture in this and the good news is that with all of these things being where they are, it all works pretty simply. You talk to Alexa, Alexa talks to Drupal, Drupal responds to Alexa and Alexa talks back to you. The consequence of this very simple interaction is that the thing that's missing in here is state. All of these calls are completely stateless. There's no session whatsoever going from one piece to the other. There is a bit of information like metadata that gets passed along that you can use to sort of maintain your own sessions but you've got no browsing, there's no browser. It would be as if 20 different people all talked to the same intent and you had to keep track of the same person at those 20 different computers that the person's talking through. There's not, just because somebody starts your app and calls your app and your app is responding to it doesn't mean that it knows that it's the same person even if it's from the same device. There's other things that you have to do in order to track that type of information. And it's all different across the different vendors so I'm not gonna go into how to do that but I'm just going to tell you that it's a pain point and you're gonna have to architect that in there. But the lucky thing is the interaction between Alexa or Drupal, or sorry not Drupal, Alexa or the Google Assistant is that it tends to be over an HTTBS endpoint which HTTBS and REST is built into Drupal 8. So there's actually a module for that. It all has to be formatted a certain way but this module, the chatbot API out of the box it integrates with both Alexa and Dialogflow. Now Dialogflow was a third party. It was recently purchased by Google and its name has since been changed to api.ai. This is not my module, I can't edit this page but if anybody here, if you're the maintainer go ahead and fix that Dialogflow is now apiai. But the nice thing is that this formats those responses the way that you expect or the way that both Google and Amazon will expect those to be formatted and it provides a plugin system so that anybody who wants to expand it to work with Siri or with, if you really want Cortana support, you can put that in there too and it'd be a pretty low hanging fruit. So up until now, aside from the Drupal side of things all of the stuff I've talked to you about are black boxes. There's no open source really in any of this and there's a really good reason for that and that's really because natural language processing is hard, it's a really hard brand new technology and it's a little bit complicated as well so I'm not talking about the voice to text side of things. The voice to text has actually gotten really good because of machine learning. The old approaches with old software for being able to dictate into your computer on a good day would be about 60% accurate. That's on a good day with those things when they were trained to you. The new approaches, no training required is in the high 90s. I mean it's getting to the point now where Google can understand you better than a human can regardless of accents or language or any of that stuff that voice to text has gotten really really good but voice to text isn't even natural language processing. It's a completely separate problem and it's sort of like what needs to happen in order for natural language processing to even occur. So that's just converting voice audio to text strings. The natural language processing is when the computer doesn't just figure out what it is that you're saying but what you mean by that. And so all of these things come together is how this type of interaction is able to occur. So I don't know if you guys have seen this but I'm gonna go ahead and play it here. I was going to. My audio's not working. Oh well. The link to this will be in the last slide and everybody needs to go watch this because it's absolutely amazing. This little old lady has the thickest Italian accents that I have ever heard before. She's activating this thing with Google and it knows what she's saying. It's able to respond to her. So it's pretty amazing. NLP is a hard problem. That's natural language processing but I think that we've got some really smart people here so let's go ahead and go through what is required of NLP and see if we can come up with a good open source solution. So we're gonna just go ahead and say that the voice to text side of things that's a solved problem. We're not gonna deal with that part of it because like I said there are two separate things voice to text and natural language processing. We're gonna make that delimiter and say that part is done. So what we have next? Well, now that we've got the voice into text now we need to have, you know we need to actually parse that text into ways that a machine can actually understand what those things are because everybody says everything a little bit differently. So in order to get that intent we need to use some open source language parsing libraries. So if you're into data science at all Python is sort of like the Lingo Frankie now of data science. So if you're getting started with NLP is this is something that's really interested really interests you the way that it interests me. Go ahead and check out the NLTK that's a natural language toolkit for Python. It's a fantastic way of learning about this. It's not necessarily what everybody recommends using in production but it's a great way to get up to speed on natural language processing. If you wanna stick in PHP NLP tools is there for you. I haven't used it but it exists and it's a thing. I'm not gonna be going into code samples. Don't worry, this is a beginning talk. I'm just trying to make sure that I give you guys all the things that you'll need to Google later for the next few weeks while you learn about the stuff if you want to. So after we've got the tools now we need to do the data science processing to format all of that text into something that people can actually do. So some of the terms that you're gonna run into with that is we're gonna have to do limitization and morphological segmentation and sentence breaking and stemming. Now this is four of like 12 steps of things that you need to do in order to bring this up and this is all to make things like open, opened, opens all of those types of words together. Him, her, she, all of those things. What are they and how do we put those together into a single thing? And then also you've got a format. What are the stop words? Where does all this stuff come together so that you can put this text together in a way that can be talked about. And one of the best resources for this is actually there's a Wikipedia article on natural language processing. That's absolutely fantastic. So take a look at that. There's also lots of YouTube videos out there so I'm not really gonna go into it too deeply. The link to that will be on the last slide, like I said. So after that we do machine learning with all those words. So you've got a big bag of words at the end of this and we need to do some machine learning with it. So the de facto open source machine learning is TensorFlow. So that's, I believe the only way to use that is both with either C++ or Python. Those are the way that we do it. We could also use a proprietary solution like AWS Comprehends to do the machine learning. But we're trying to do an open source thing. So yeah, and while we're at it we're rolling our own so let's just go all the way. Let's roll our own machine learning library while we're at it. So I mean it can't be that hard, this guy did it in Excel. So it's, yeah, I'm not gonna play this video. All right, so after we've done all of that thing we can now do the thing that the client wants to get done. So yeah, we've now written, gone through all the steps that it requires to do an open source natural language processing engine and now we can finally get to the business of doing our client's business. So after all of that said and done we still actually haven't tackled what is really the biggest hurdle in my opinion for open source natural language processing. The biggest hurdle in my opinion is adoption. So the rest of those problems they're technical problems where smart people we can figure out the solution to technical problems. That's not gonna be a big deal. But afterwards we've gotta do the societal issue of getting people to actually use the cool open source project that we've built on it. That's gonna be the major hurdle. One of the major reasons that's gonna be a big hurdle is because people are already adopting this all over the place. And even though everybody's phone has access to every digital assistant that you can think of you can install Google Assistant on your iPhone if you wanted to. That's not how people are actually using these things. So Amazon is leading the way in adoption and they're doing it in a big way. So currently the Echo has over 70% of the market share which is a pretty huge thing. And it's also leading in the third party application adoption rate as well. So let's go ahead and take a look at some of the reasons why Amazon is really leading in this. So Amazon did a great job of introducing a slew of devices that will meet anybody's requirements. And doing it at a price point that was reasonable for most people. So yeah, everybody knows about the Echo. That's the big tall cylinder one but there's also the Echo Dot. If you don't wanna spend the big money on the big one you can spend the little money on a little one. But on top of that they've also got the Echo Show which has a screen on it. And then they've got the Echo Spot which also has a screen on it but it's slightly smaller than the show. Then they've got the Echo Plus which I'm not really sure what it is and how it differentiates from the others. There's also the Echo Look which has a camera built in it that's supposed to be able to take a picture of you and use machine learning to tell you whether or not you're dressed properly. Alexa is in your Fire TV which also has a huge market share. It's also in your Fire Tablets which are some of the only actually good Android tablets on the market. And then to top it all off the Amazon app in your phone uses Alexa as well so you can do voice searching in your Amazon app using Alexa. And these are just the Amazon ones. There's also a whole slew of non-Amazon powered ones because Amazon has done a great job of allowing third parties to build actual devices that have Amazon in them that are Amazon powered. Not just a light bulb that'll turn on when somebody uses an Alexa powered device but it's an actual smart speaker of their own. So there's the Invoxia Tribi. There's Ultimate Ears Blast. There's the Sonos One and the Ufi Genie. These are all third party products that are also being put out there. So pretty much anybody can find an Alexa enabled device that suits their needs. I'm not saying that this wasn't an ad. I don't have affiliate links to go purchase each of these things at the end of this. But in all complete honesty, I prefer Google Assistant. Like it's just a much better user experience to me. But I actually don't even have any Alexa enabled devices aside from the Alexa app on my phone. I do have a Google Home. I got one when I went to Google I.O. last year. They gave me one for free and it's a fantastical device but there's just no denying that Alexa is everywhere and it can be in anything. So for me personally, the Google Assistant is everywhere that I am. It does all the things that I want it to do. But as is the old adage, you are not your user. You are not your target audience and you need to make sure that you're developing for your target audience. My Google Home sits in my kitchen. I use it primarily as a timer. But that's what most people do. But at the same time, anytime I'm looking for sort of trivial information that becomes more and more the go-to thing. Not just for me. My kids love it. I've got a seven year old and under and they're always screaming at Google to do things and tell it jokes and my daughter's playing the piano so she has to practice 15 minutes every day and so she starts her timer with the Google Home. These are all things. My son likes to ask it things like, what's the largest dinosaur? But it's smarter than that. You can ask it, what's the largest dinosaur in North America? It'll be able to parse that information out. It's pulling that information from a website, not from it's knowledge graph is really just a big pointer to these other things. So usually it's mostly Wikipedia, but you also find lots of other things like NASA's websites and other places that's fueling this information. So now we have to think about like, well, Alexa is sort of like the de facto choice for third party applications as well. By an order of magnitude, there's more third party applications built for Alexa than any of the other devices. So I have a Google Assistant at home. I've never built or published any Google Assistant apps. I've gone through all of the steps, I've done all of the things, I've done all the research to do it, but I've never had any motivation whatsoever of actually building one. It does more or less what I needed to do but I have built Alexa skills and a lot of people build Alexa skills just for utilitarian purposes. And part of the reason for that is because Alexa skills kit, which is the API with a really clever ask name is the, it's super, super easy. And you can pick it up and you can build it and because it interacts with any REST API, you can take a Raspberry Pi, you can hook it up. People oftentimes do it yourself and developers will even use things like Engroch to just have a bunch of their own APIs that are accessible through the internet that their own Alexa apps that aren't published public apps are taking care of to do menial things around their house. I mean, and Amazon has done a great job of developer advocation to really put this forward. So if you build an Alexa app, you can petition Amazon to give you $100 AWS credits to use the ADOS resource, to pay for the AWS resources that your Alexa app will end up using. So on top of that, they also have lots of others sources where people are getting paid some good money. I mean, they even have a, I'm not sure if they're still doing this so don't hold me to it. But when I made my voice app on Amazon, they had a developer program that went on that if your application got 80 users within the first month, then you got a free Echo Dot. I found out about this like the day before mine was on the market for 80 days and I had, or sorry, on the market for a month and mine got 78 users. So I did not get an Echo Dot, but so close and it's one of those things where, so as an example, like this is a Ben Heck show, I don't know if anybody is familiar with this. He made a, he used the Amazon Echo and a Raspberry Pi to automate his work bench so that he could take his probes, put it on a circuit board, not have to reach over or lean over or take his eyes off his work and ask Alexa, what's the voltage? His multimeter has a serial port that serial ports hooked up to the GPIO on the Raspberry Pi and it's able to read all that stuff. Same thing with his oscilloscope. Put it, you know, he's got his probes on there. He's got two hands, they're holding these probes in place. He can't reach over and press the button on his oscilloscope. It's not Alexa enabled out of the box. So he asks Alexa, Alexa, take a screenshot. It takes a screenshot, he can go over and he can see what the waveforms are in his oscilloscope without having to do any of these. These are all very useful applications and this is something that was able to be done, you know, with the Raspberry Pi, $35 worth of extra hardware, you know, on top of your Alexa enabled device, but there'll be a link to this at the end as well. So there's one more really big reason why Alexa is dominating the marketplace, especially for DI wires and simple things and this is one of those sort of AWS things. You can love them or hate them for their vendor lock-in but Lambda and their tight AWS integration really goes a long way with making sure that the Amazon platform not only is used but is used exclusively. So Alexa can do the HTTPS REST response or it can be mapped straight to a Lambda function. If you're not familiar with Lambda, Lambda is the sort of like serverless compute engine for AWS. It's a pay-per-request model with a huge free tier and it supports lots of languages, none of which are PHP but you can do Python, JavaScript, Go, C-sharp or if you really need to for some reason, Java. And so by doing this, you're able to have a, you're able to basically remove the need for an HTTPS endpoint which means that you're eliminating a huge security vector right there. You no longer even need the server. You can do your business logic entirely in these Lambda functions and doing something like that. You can write a Lambda function, push it up there and never need to worry about it because it's only ever called. The only way to access it is through the Alexa interface which means that you've got a lot tighter control of that sort of thing. Yeah, so how does Drupal fit into all of this? I've told you already about the chat pod API module but why would you, why use Drupal for this? I mean, that's kind of the question for pretty much everything is. It all depends on your use case. You've got fieldable content in Drupal. You've got user permissions and access controls in Drupal. You can gate access to content. You can limit access to just published content. Create content workflows and translations. It's got that API module so you can just enable this and get it going. And to top it all off, it has a pre-built front end so it's not just limited to the voice app when you're building it because if you're building all the other pieces and it's just a REST API, then you also have to build a front end in order to manage the content that your REST API is consuming. Drupal does all that stuff for you and it's not limited to your voice application. It's also not limited to the browser. So it really makes a clear fit for that. It being DrupalCon, I had to put the slide in. So, I also need to make sure I talk about some of the other voice assistants. I've talked a little bit about Google Assistant already but there are some key differences. I wanna make sure that I point out about these different voice assistants. So the Google assistants, the apps built for Google Assistant are called Actions versus Skills which is what Amazon calls them. Apps are built for Google on API AI which used to be called Dialogflow if you find a lot of the Google documentation still says Dialogflow, a lot of the YouTube videos that are out there for building Google apps say Dialogflow. So just keep that in mind, Dialogflow equals API AI. The awesome thing about building your thing with API AI is API AI allows you to exports the skill into multiple vendors. So a chatbot that you build in API AI can integrate directly with your Google Assistant. It can also be integrated with Slack or with Facebook Messenger or you can even export the code version of a Alexa skill as a zip file which is basically just a combination of JSON files and import that directly into Alexa skills kit yourself and then you're managing it on API AI in one place, all of your utterances and everything are managed there and then you just feed it over to Alexa from that. There's not a tight integration, it's not good of course because the competing vendors rarely like to play well together but I have to say that the Google Assistant's stuff is really well built and it has a fairly unique feature in its training interface. So unlike Alexa skills kit and the others, without having to log these things yourself you can see what people are saying to interact with your application and you can modify your training data based on that and it all happens in the UI. So all of that stuff is really good so you can continuously rebuild your app. Amazon claims that they're doing that for you but it's completely hidden. So it's one of the reasons why I like the Google Assistant is it seems to be much more focused on good design and less on just pure adoption. So there'll be some links on how to get started with all of that in the last slide. There's also Microsoft Cortana which has a very low market share but they are getting it out there. There's third-party devices like Harman-Cordon is putting out some really nice speakers with Microsoft Cortana out there. It actually is a really nice device and Cortana works surprisingly well and one of the really nice things about that one is it's also much like API AI. It's built on the Microsoft chatbots, Microsoft chatbots kit or framework. So it's a unified experience over there as well where you can build a chatbot, have it work as a just sort of like generic chatbot but also get it linked over to Cortana. And one of the other really nice things about that is that chatbot interface has been, I mean that's been around since Tay AI went completely rogue on Twitter like four years ago. So if you're not familiar with that that's when Microsoft first started getting into this. They got into the public space and they just made a public chatbot and a bunch of people made it evil within hours. So it's a word of warning as well when it comes to machine learning and at learning from other things. So then we've got Apple Siri. So Apple Siri is Siri kit. It's a really confusing beast right now and it's open but not quite. It's all tied to their maps stuff for some reason and it's really, really limited in the types of things it can do. You have to tell Apple what it's going to do. You have to build all this stuff on and of course a, oh sorry about that, is that Siri? No one's a blame but yourself. So all that stuff is like, it's really locked down. I think it's being made confusing on purpose by Apple because they really want tight controls over and they still don't know what to do with it. So there's other things out there as well. So AWS has a pure chatbot service called Lex which is almost identical to the Alexa skills kit. Like I said, the Microsoft chatbot API is the same in their framework as what they build for Cortana and you even have IBM Watson if you really need to get into something off the beaten path, you can dive into that. So what we really need is a call to action though for our open source alternatives because there are not many. Even in fact, there are certain things like wit.ai that I've looked at where it's supposed to be open. It's supposed to be an open source thing. I couldn't find any source code and I couldn't find any way to self host. It's like, yeah, it's more open in a sense of it's another third party that doesn't have large adoption that you can build your apps to work with but it's not a, yeah, I haven't found any real open source alternatives. So what we really need is for open source to rescue the puppy there, yeah, eventually. So I wanted to leave on this one when we're talking about this because I really do think that an open source alternative has a chance if we're able to build something good. Yeah, so just remember it wasn't too long ago that Edge and Internet Explorer and Safari were the defaults and there were some people who will always just use the defaults and that's fine but people who know about and care about what they're doing, they generally don't use just the default settings for things, they're willing to adopt an open source third party alternative if it's good. So about making it good and I'm gonna speed up a little bit here because I'm starting to look at the clock and we're not gonna get to questions at all if this is the case. So a little misquote here is it's impossible to have no design, either have a good design or a bad design. So I think it's Adam Judge that said something like that at some point, he's really commonly misquoted on that but since all this stuff is relatively new, there's not really a lot of good standards for how to build a good voice application but luckily Google I.O. last year was almost entirely about that so there's a lot of really good resources and a lot of good videos from last year's Google I.O. And I'll give you some of the cliff notes right here. So one of the things that you have to remember is that this is cartography and dialogue trees which is a completely different standard of design for most people. You can't just think of a voice user interface as the same way as you can any other user interface. It's actually much more along the lines of a command line interface where you have zero discovery over what can go on. So a lot of the stuff, if you're just building a straight up website, follow the standards. Make your site have semantic markup. Make it have accessible markup. Give it good SEO. That'll give it discovery because a lot of these things that asking a simple question to Google Assistant or any of these other devices is basically hitting the I feel lucky button on your Google search box. It's the, yeah, give me the first result. I don't care about anything else because it's a simple question with a real answer. Everybody knows that there is a largest dinosaur in North America and it's classified as such and the knowledge graph on these various places can point at this thing and say it. That's just information on a website. That part's easy. So while that works for sites though, it's not going to work for actual voice apps. So if you're going to go through trouble of registering an app on Amazon or Google, you need to go a bit farther and you need to lead your customers but you need to do it without showing them the way. So some of the voice user interface basics and of course to go in deeper on this, just go ahead and watch those YouTube videos but you wanna make sure that you're keeping it conversational. You don't want to have a old style, touch tone interface. You never wanna tell the person what to do. Give your app multiple ways to ask somebody for information and multiple ways to tell them something because nobody will sit there and say, what's your name? What's your name? What's your name? What's your name? What's your name over and over again if you're not interacting correctly? What you would need to do, what's your name? Okay, yeah, what do you call? Dig in for the information, be conversational about it and one of the big things is to never tell somebody what to say. It's like, hi, what's your phone number? A phone number is a seven digit number with an area code at the front so it could possibly have a country code before that. Like, you don't need to give people that information and when it all comes down to it, you can allow them to ask for help but don't tell them that they need help. Handle those errors gracefully. Somebody says the wrong thing, move on. Don't sit there and just never put the onus on the user for using something the wrong way. People have been speaking for their entire lives for the most part. The vast majority of a person's life is done communicating with people in a verbal way. We know how to talk. It's up to the application to know how to listen and so if you start to go on with it and you say, I'm sorry, I can't respond to that. You have to say this instead. It becomes very aggressive. People just starts to get defensive with it and it becomes a bad experience. So when it comes to the voice design, remember that there is never no design. There's only good design and there's bad design. So if you're not designing it, if you're just going to put a bunch of stuff out there and not give anybody any sort of tools and any type of instruction and you're not going to try to leave them without showing all that stuff, then you're going to end up with users that are having a bad day, which also comes down to everything has an attitude. There is never no attitude. There's a good attitude, there's a bad attitude, but either you define the, you need to define the attitude and the voice of your application because your users are going to. They're going to take from the words that you say the tone of the voices and everything and they're going to either get offended and not want to use it or they're going to continue using it and they're going to go along with it but it's all about how you're making it talk. So let's go ahead and bring this all back to our hypothetical, the joke every day. So like I said before, there's millions of ways to accomplish this task. So there's, you know, what happens when your joke becomes more complicated or your data becomes more complicated than just a single joke? You want to tell multiple jokes, different jokes to different people. If you want to keep track of the jokes that you've told to a person so that you don't repeat a joke over and over again. If you want to make sure that you remember what joke that person just heard so that if the person asks to hear it again, they like the joke, they want to hear it again, you can allow for that. What about if you want to serve different jokes to different people in different languages? You know, you need to be, all that's, you know, these are all really important things that you really make Drupal a great platform for this. But I think this is one of the bigger ones. What if you wanted to have people be able to submit their own jokes? So you now need to have some type of user interface for people to be able to submit their own jokes and then you also need to have moderation for those jokes because people are going to go in there so with some really inappropriate jokes and you've told Google and you've told Amazon that these jokes are safe for all ages. So you want to make sure that there's ways of moderating these jokes and there's ways for users to come back and say that that joke was inappropriate. So yeah, these are all the really important things that's really makes something like Drupal a great tool for this job. So yeah, we've been sitting here for a long time. I've been talking to you guys for a long time. These are all the things that I've covered here. We went through the cool stuff. We've talked a lot about what a voice app is, does, and how it works behind the scenes. We've talked about the current market share and how Amazon is completely dominating. We've gone over the voice user interface design tips on how to make a voice app actually something that people want to use and aren't forced to use. And then we brought it all home to really tie up that scenario with why that scenario actually makes sense in Drupal even though it's really a simple thing of just a joke. There's a lot of things that you can do to make that simple interaction more complicated with Drupal. And the last thing I want to make sure that everybody knows is that the revolution has already begun. The screenless revolution is here. IoT is already the thing that people are doing and this is just another box to check off with all that. So make sure that you've got this in mind when you're talking to clients and when you're developing things that you're advocating for this type of stuff. Even if it is just saying like, hey, we want our users to be able to hear the stuff on their voice assistants. We need to have accessibility. We need to have semantic markup. This is now a priority because that's how we get this information into those knowledge graphs and how we get to be the lucky link that gets called when somebody comes in too. So before we go to questions I want to make sure that I point out to everybody that we've got it's contribution scripts, mentored core sprints, first time sprinter workshops and general sprints and make sure you come in and click the link, give me a rating, tell me how bad I did and everybody who left, they're not gonna be able to tell me why they left because they didn't see the slide. They have to stay to the end. So, and also take the Drupalcon survey that's surveymonkey.com slash r slash Drupalcon Nashville. And then here's that slide I promised you with all the links. And when I post the slides there'll likely be even more in here that I'd never got a chance to do because I was adding this up until a minute beforehand. So if there are any questions, like I said, I'm not an expert but I have done lots of research in this and I'd be willing to talk about this as long as anybody else is willing to hear me. There's a microphone right there. Oh, thank you. Yeah, any questions? Make sure you talk to the microphone so that we get it recorded. Okay, so I had a question regarding SEO architecture. I'm not a programmer, I'm from the business side. So we have SEO specialist but I'm wondering how it's gonna work when we have SEO architecture for mobile and for desktop versus the voice search. It should all actually come together the same data graph on the search side but this is also brand new. So this is also designing for pure SEO isn't necessarily going to give you the top rating. It's also going to be about making sure you've got the best answer. So with Google said like seven years ago that they're going to start researching how to tell if something's a fact or not. That's all leading to this stuff as well because they're basically pulling factoids from your site. So making sure that you've got proper semantic markup making sure that you've got RDF tags help and all the other accessibility tags. Aria and the like will all help to make sure that everything gets on the knowledge graph the way it's supposed to. Okay, thank you. This might be a little out of scope. What about the laughing? Do you have any insight into it and has it stopped? I was told that it stopped but yeah. So for anybody who isn't familiar with what he's saying for the past like month, Alexa has just been randomly laughing at people. It's just like a really creepy laugh where you could be in the room and all of a sudden Alexa will just go. Where did that come from? And apparently it's with the, this is one of those sort of unintended consequences of machine learning where yeah, you're giving it 10 to 12 suggestions of what you think people might say in order to make an intent happen. But yeah, it's not a one to one. You're not saying only these commands will my machine, will my intent be fired upon with. It's no, it's saying that these are the suggestions of what you think that it should say. So somewhere in the line, some silence or maybe a high frequency noise that we can't hear but the echo could because remember a microphone hears a much broader spectrum than we do. It's somewhere along the lines, it took that meaning to go into those utterances and get mapped to an intense with the machine learning model and that intent was ask for a laugh. So they do know what intent it was that was being fired with all of these things but they still don't know exactly what it was that was causing it. They just know that they've rebuilt it and hopefully like it's gone away. I know that I've heard that it's not happening. So hopefully that was it. Any other questions? All right. We do have one. What about privacy? Do you have any thoughts or? I'm not touching that one. The basic thing about it is so just as I'm sitting here talking and Siri heard my phone also went off at some point in time. I turned it all the way down so we couldn't hear it. We carry around with us bugs that are connected to the internet all the time and when I was talking about those microphones they able to hear much more than we are. There's ads tracking you all the same way. There's so many different things tracking you that if you don't care about all the other ways you really shouldn't care about this. There's not really all that big a difference between an ad that's playing on your computer or you searching for something on your phone that's now has an ad on it that the microphone on your computer just picked up because you told Google and DoubleClick that they could listen to your microphone at some point in time. So now the ultra high frequency tone that's being generated from here that's going into your computer that's now being broadcast through. It's all linked to all those devices together. It's got your fingerprint here. They've got your fingerprint there. You're now connected. They know who you are. They're tracking you. All of that stuff is going everywhere. So it's one of those things where it's like how much are you willing to trade that convenience for your privacy? And like I said, they're always going to be listening to you. That's why you can be thinking something. Go to pull it up in your phone and it'll already be there. So yeah, it's scary, but it's also one of the things where it's like yeah, if you don't want this go build your own house somewhere. Live somewhere else completely unconnected. Any other questions? One? So does it have a sense of a user? So you're in your home. You ask it a set of questions. Your kid asks it a set of questions. No, well, Google Assistant does. Google Assistant, you can train it to your voice to know who you are and be able to go off of that. The Amazon one, I don't think you can, so. And is there any sense, the other piece to it is there any sense to credentialing? Well, kind of sort of. That's all part of the contracts tracking that you need to do. And it all varies from vendor to vendor as to what you're going to, how much of a session you can maintain. Oh, okay. Great, thank you. I think so, let me check real quick. Any other questions? Sure, more questions. A quick one. You mentioned the Google app uses their knowledge graph in general. For Alexa, when it doesn't have a skill to match, what does it use as its background for general information? Everybody has the same, yeah. It's different sizes of the same coin, basically, so. So it's using its own, they have their own knowledge graph. Yeah, they've got their, everybody's got their own everything with it, the sort of thing. Amazon isn't in the business of search necessarily. I think they might use Bing for it. I'm not really sure who all is using everybody else for it. But I mean, this is also one of the reasons why the Google head of search just went to Apple. It's a pretty clear indication that one of the reasons Apple doesn't really work all that well is because they can't really do the same job with the right knowledge graph and they're not really willing to use somebody else's for it. So yeah, they're trying to build their own. Yeah. All right. I'm gonna call that a talk. Chris, I do see you back there. I've got a minute, go ahead. It's perfect. And it's one of the reasons why podcasting is starting to take off now is because it's so incredibly easy to map these things through. And with Alexa, all you end up doing is just basically pointing it out of data stream. That's data stream starts coming through. That's just what I was thinking. Like we already need our editors and there's so much data into the whole, you know, the air days and times. Yes. And we have to use the host and all of that stuff. So, are there any obvious? The biggest, the biggest question that's going to end up being is the, you're now paying for that bandwidth. So you need to make sure that that information that it's streaming from is in the cheapest source possible because it's just like if you're, you know, it's like imagining your usage for your, for those podcasts. Yeah, all of a sudden jumps to 10,000 because you're going, how you're going global. Yeah, 10,000 per podcast. So you've not only got to serve the metadata to all those people with your, with your Alexa app or whatever, you also need to be able to stream that much data. So, yeah. Okay, that's something I haven't thought about. All right, let me find out. I don't want to hear.