 Hello. Hello. Hello. I need to look here and refresh the page to see if I'm actually talking to people. Give me just a second here. Somebody pop into the chat and say, hey, you're live. If you see me. All right. Awesome. Hey, guys. I'm Ryan. Let me go ahead and share my face with the world. I'm Ryan, CTO of Mycroft, the Mycroft Project. If you haven't heard of it, our tagline is the artificial intelligence for everyone. We started this year on the project around April and had a successful Kickstarter and ultimately ended up forging a pretty solid relationship with Ubuntu, the guys at Canonical, and the Ubuntu community. Now I'm really excited to get this opportunity to talk to you guys today about our project, what we're doing in regards to Ubuntu, how we're using Ubuntu, and of course, just sharing the Ubuntu love that's been going on throughout this whole summit. A little background on me. I've been in and out of various open source projects for, I don't know, since 2004, probably back whenever I was in high school. The first distribution I ever used of Linux was Ubuntu. I have no idea what actual version of Ubuntu it was. I want to say that it was it would have been, I don't know, it had to be near the beginning of Ubuntu's lifespan. I want to say it was hardy, but frankly, I'm not I'm not sure anymore, but so throughout the time that I've been active in open source communities, I've always ended up coming back to Ubuntu as my primary daily driver on my desktops and laptops I'm really excited that Mycroft has forged such a close relationship with the Ubuntu project. So I'm going to go ahead and yeah, it was brown, awesome in the chat. It was a brown Ubuntu. I'm going to go ahead and share my little slide deck I made over here for you guys. I hate making slide decks, so you guys are really lucky that I took the time and effort to do this for you. And it's only because I love you. And so this is today I'm going to talk about Mycroft on the Ubuntu platform and how we're using it in both our business, so the Mycroft company and actually how we're developing services around Mycroft that will be on the Ubuntu platform. So as I said from the beginning, Mycroft is an open source artificial intelligence and personal assistant project with the goal of being run on as many devices as possible. And what that means is that our primary goal is to ensure that there is an open source personal assistant that you can actually run on any device you want, be it a Raspberry Pi, a I don't even know maybe maybe like a drone or a robot. I feel like up until this point there hasn't been a solid open source solution in this space. We have Siri, Echo, Google Now, Cortana, and these are all very closed ecosystems. They are very proprietary. They're tied into their respective company's services. And frankly, if you want to run the Echo stack on a device, it's going to be very difficult, if not impossible. And so what we want to do is we want to enable people to take our software and not only use our own device, which is the Mycroft device you saw on the first slide, but also put it on any of their devices, maybe integrated into Kodi or into, it doesn't really even matter. It could be implemented into any part, any device you use in your daily life, one of which I'll talk about today is like the phone or your desktop computer or simply that, you know, little Beagle board or whatever that you have hooked up to water your, to tell you when your plant needs watering. It doesn't really matter. The stack is supposed to, we're designing the stack to be able to be run on anything. And when we talk about the project, oftentimes our goals sound pretty lofty and we're aware of that because we have lofty goals. One of which is part of what makes Mycroft so special is when you design a skill for Mycroft, you submit it, it gets pulled into all of Mycroft's available skills. And we believe by being open source and allowing anyone to contribute a skill over time, this collection of skills begins to build up. And like teaching a child something over time, that child becomes less of a machine for generating messes and turns into a functional adult that's capable of doing a lot of different things. And in the same way Mycroft, right now, you know, he's capable of some modules like telling you the weather, interacting with, you know, a few devices and various things that you would expect out of a personal assistant. But over time, when with people contributing various skills, such as maybe the ability to tell stories or tell jokes or play, be the dungeon master in a Dungeons and Dragons game, you know, these, as these things are added, it becomes less like that, that computer novelty, computer interaction that you've expected out of personal assistants up to this point, and more of an approximation of a human being, something you can interact with and actually expect some relevant, useful feedback. And so that's what Mycroft is, and that's kind of our goal going forward. So I kind of touched on this briefly whenever I was explaining what Mycroft is, but there are really two components of Mycroft. The one is that the one everybody saw during the Kickstarter, that's the device. It's a piece of dedicated hardware. It's aimed at primarily managing IoT devices throughout your home. So Mycroft start the coffee pot, it talks to your smart outlet or your smart coffee pot and turns it on, or Mycroft put the latest Walking Dead up on the Chromecast. And it's really kind of a self-contained thing that is aimed at consumers. It's aimed at folks who just want to buy something, plug it in, and it works. Granted, we did do a lot of hard work in making it hackable and making it easy to extend and customize. But it's primarily, you know, the full stack, you buy it, you use it, and you don't really worry about setting up all the different components and everything because for the most part it's already good to go out of the box. Then there's the software side, which is the side that I'm actually really interested in talking to the community about today. The software is the real special sauce of Mycroft. I can see a world where anybody creates a piece of hardware and throws Mycroft on it, the Mycroft software on it, be it LG, be it, you know, any of the OEMs or anybody or just a high school robotics team that decides, hey, we're going to put Mycroft software on our robot to make him smart and make him talk. And in fact, hey, robotics team, local robotics team, high school robotics team reached out to me already and asked if they could run the stack on their hardware. So the software, we've made it as light and as fast as we, you know, that's been our goal from the beginning and we've really worked on that. So it should be pretty portable, able to put on whatever device it is that you want to put it on. And that's really important because we want it to not just be something that can be run on a quad core, you know, 8 gigs of RAM machine. Obviously, the device, if you've kept up with us that we're creating, has a Raspberry Pi 2 at its core. So it has to be, so we've already aimed at a pretty low resource machine. And what we've done in doing that is made the code so lightweight that I'm pretty confident that most people will be able to run it on whatever device it is that they're aiming at developing for. And then the final piece of the software secret sauce is I could see it easily integrated into other software. For instance, desktops, desktop environments could use mycroft much in the way that Cortana and Siri are used on their respective desktops. And then I could also see it being used with, like I said earlier, with Kodi or with any other media center software. I could see it being used with, for instance, like, if Spotify wanted to allow you to speak to it and start radio that way and everything, well, then they could easily implement that into their existing software as well. So that's kind of the two sides of mycroft. What we're mostly going to be talking about in this session is the software. And then I'm going to switch slides and talk briefly about how we use Ubuntu. So the first place we use Ubuntu is pretty straightforward. We use snappy core Ubuntu on the mycroft device. I'm going to probably give a talk in the future about all the lessons we learned deploying that managing it, etc. Right now, we're still really learning about snappy core. And that story is still being formed. So far, so good. We like the flexibility that that platform gives us. We like the features available to us. It's awesome for making a device like ours. But I really want to touch on some other places today. We use another place that we use it that I'm probably not going to go too far into is we use it, we use Ubuntu Metal as a service and juju on our servers. That has been awesome in that we just recently got data center infrastructure that we're setting up in our headquarters. And we've deployed everything on Ubuntu. We've been messing around with LXD and autopilot for deploying OpenStack. And so far, it's been a lot of fun. As we finish up our initial setup of some of these resources, I have encouraged our sysadmin, Aaron, to share his thoughts following this. And so everybody will benefit from the things that we had an easy time with. We'll share kind of the things we had a hard time with and give feedback on how we think things can be improved and what we really liked. The thing that I really want to talk about in this session and the thing that you're probably most interested in is we've been using Ubuntu on our workstations. Everybody in our organization uses Ubuntu in some way, shape or form throughout the day. The developers, myself and Josh and Sean and let me thank here, Jonathan and Aaron, as well as I'm trying to think who else uses Ubuntu as a daily driver, but it's quite a few of us. We love Ubuntu. You'll see in the couple of demos that I have today that it's popular in our offices. And we're really committed to Ubuntu's future. Because we use Ubuntu day to day, it was an easy platform to target for our other plans. So during our Kickstarter, we had a stretch goal. The stretch goal was $125,000. We reached $100,000, but it was kind of up in the air whether or not we were going to reach the $125,000 stretch goal. That stretch goal was support for the Linux desktop. So Mycroft would be a package that you can install on your respective Linux desktops and you could run it and talk to your computer. So we reached that goal. We raised $130,000 and Linux desktop and by extension the phones, for instance Ubuntu Touch, was made a priority. Immediately, actually before that ever got funded, I began reaching out to a few communities and started talking to Ubuntu about integration and I reached out to Popey and he sent me on to a couple of other people and Kevin Gunn and I'm blanking on names right now. Anyway, I talked to a lot of canonical guys, talked to some of the Ubuntu community members. Jonathan, one of our developers, also talked to a few of the community members and we began to really see a place for Mycroft on the Ubuntu platform, especially because Ubuntu is targeting the mobile space and in the mobile space, there's already the existing products like Google Now, Siri, Cortana, etc. that have become expectations of the platform. So when you pick up a mobile phone, you expect to have a personal assistant that you can talk to and so we saw a really good opportunity for us to maybe contribute in that respect and so now we have been working on integrating Mycroft with Unity 8 and our goals are pretty simple. We want Mycroft at this point to be able to launch apps, make calls, send messages via SMS and Telegram and perhaps some other messaging tools and do this all via voice command. The one caveat there is we don't want it to seem out of place or disconnected like you have to open up a Mycroft app in order to tell Mycroft to open up an app. That seems a bit silly in my mind. It seems like it's out of place. So what we've been working on is trying to talk to the community and talk to Canonical and see if we can somehow fit the Mycroft story in with the Unity 8 story and have it integrate in a way that it seems like a part of the experience and not something completely separate and so in doing that one of our big goals is to provide some use cases and an experience that makes more sense and seems more relevant than the other platforms. Right now I can tell you that I have an Android phone in front of me, I have an Ubuntu touch phone in front of me. On the Android phone I rarely, rarely use Google Now to accomplish anything except for just for novelty's sake. And I would say that's not a very useful use case. If you're just using it to show your friends that your phone can do something then it hasn't really been successful as a service on your phone because it's not something that you're actually using day-to-day for practical purposes. And so when we started developing Mycroft on the desktop and on the phone we wanted to make it fast. We wanted to make it perform functions much faster than a user can so that one reason you would use it is if you want to pull up a YouTube video you know that Mycroft's going to be able to pull up the YouTube video you want a lot faster than you are. Another thing is we want to make it capable of providing useful information that's actually relevant to what you want and not a lot that you don't want. And so that's been a goal is not only to create to make, we're not just wanting to make Siri on the Ubuntu desktop or the Ubuntu phone. We want to make something better than Siri. Better than it's more useful that's more open and I think already our work has paid off in that respect. And then the final thing is we want to respect your privacy and we're open source so our code can be audited. We are very concerned just like a lot of the community members about this type of technology and what that means for privacy. And so at every turn we've opted for whatever keeps that intact and tried to be transparent about our plans for users' privacy and how we're going to respect that. It's incredibly important especially post Snowden leaks and other bits of news that have come out about companies misuse of folks data that it's imperative that any company looking to do something like what we're trying to accomplish be very privacy conscious. And so that's been from day one something that we've strived to walk on the right side of that line. And so I'm really excited to continue to have that conversation with the community and see if we can make sure that we're always on the right side of that issue. And then as you might imagine there are some challenges in integrating mycroft into the Unity 8 experience. So far I want to say that the canonical that canonical and the community members have been just fantastic in helping us to overcome implementation challenges, helping us explore this and really humoring us by having conversations with us about how we can make this as awesome as it can be. However I will say that I think that we'll need the full support from the community in order to not only make mycroft a good experience on Unity 8 but to ensure that it's implemented in a way that's actually helpful and doesn't seem completely disconnected. And so a couple of things that we need to address in order to implement services like mycroft on the Ubuntu touch platform. A couple things we've come across is mycroft is written pretty much entirely in Python. There are some Python dependencies for mycroft that aren't available on the touch platform. And we've been told that through snappy packages we'll be able to solve this by kind of shipping our own snappy package. Some of the questions surrounding that are up in the air as far as what the timeline is on that and everything. So when talking about the challenges these are some of the things that as a community we will have to address and talk about and have conversations about if we want this to be something that works really, really well under Unity 8. So I will actually go back. That is a desktop demo video and I'm probably going to have to unmute my mic in order to, hold on just a second. I'm going to have to unmute my mic in order to make this work. So give me just a moment here. This is a demo of the world series. The series began on October 27th and ended on November 2nd as the Royals World. The series four games took one. It was the first time since 2010 and the World Series extended into November. Okay mycroft, tell me the weather in Kansas City. Okay mycroft, search YouTube for Royals Win the World Series. Then mycroft showing off weather Wikipedia queries and web search and application launching inside of a book. Okay that was the desktop demo. You can see in that one, yes to answer your question cheeseburg. The voice can be changed and in fact I should have said that before I played the demo. The voice in that demo is just a random voice that we think for testing. There are, we've already tested quite a few different voices and we continue to test different voices and see how we can implement a range of voices. Obviously that one's kind of robotic. Good for testing. Less good for demos but we are always striving to ensure that there is, upon release there's plenty of good voices to choose from there. The other thing that I can say is that I was, I've been really impressed so far with how quickly this can bring up like a YouTube video for instance or launch an application with really in a fraction of a second. Much faster than I could pull up that Royals video there. It was able to just pop it up in an instant. I've been very very impressed with that and that's the kind of experience that we're striving for to make it so that there's actually a reason to use the platform. There's something that you gain from it. In this case you gain the speed of launching applications and launching websites faster and also you notice there that it did the search and selected the most relevant video and began playing it and I think that's really slick. I'm really interested in seeing what else the community will come up with in ways of interacting with the computer and I'm pretty hopeful that we've got a lot of room to grow and a lot more things that we can add to the desktop experience. And guys, I am paying attention to your questions. I will address them here in just a little bit. I'm going to play another demo. This one is of the early implementation that we've managed to achieve on the phone. It is kind of rough because we're still learning how to integrate into the phone services. So you'll notice that when the SMS, when a text message is sent it doesn't automatically bring up the text message application. You have to actually jump over to it and it shows that the message has been sent. We're still learning how to plug into the various phone services and so that's something that we're learning about and it will be really, really helpful to have the community help us on that because we're still learning and I know some of you in the community have worked with Unity 8 and the Ubuntu touch platform for a lot longer than we have and it'll be really, really helpful to get your feedback and to get you helping out in implementing this. So I'll pop over to that. You'll have to excuse the mic thing. I'm showing the video on one computer and I'm actually using a different one for talking and so I have to kind of play a mic swap game when it comes time to show something like that. So just one moment here. I'm going to start Minecraft and try the Minecraft skills. Minecraft called John. So as you can see, we call him John. When I hit this call I try to call another person. Minecraft called Ryan. Right now we call him Ryan. Tell Ryan that's amazing. Right now we send a message to Ryan. The message is trying to receive and that was the example with the two skills we've been working on. It's the dialogue call and send the text to the person. Okay. Sound is hard. Okay. So those are the two skills that we've been working on implementing after a week or so of development on the Ubuntu phone platform. So there are some relevant questions that I'll come back to you here in just a moment. But it's so far so good. Like I said, there are some things that we'd like to figure out how to tap into in order to make implementation that much cooler. But I think that's only a matter of time getting to know the platform and having conversations with the Ubuntu community and with Canonical about what we need in order to make everything work. So now I'd like to talk briefly about contributing to Minecraft. So there are two places where you can go and share ideas and have a conversation. One of which is community.microff.ai. That's our forums and there you can have conversations with us about, you know, just your ideas for the platform, ask questions, pretty much what you would expect of any community. We are really open to big ideas, ideas about different things that you expect Minecraft should do. And we're really open to feedback from anyone who wants to take the time and have a conversation with us. What we need at this point. So those of you who follow us really closely will notice that we haven't shared our repo out with the world yet. We are working really hard to make sure that people can contribute in easily and run the software with relative ease when we release the code publicly. However, we are planning to release it under GPL version 3 and when it comes to talking to a few of the communities like the Ubuntu community that we're interested in implementing our software with we're looking for talented Unity8 and Ubuntu Touch developers to come on board early and help us nail some of this stuff down before we release to the public. And so if you are someone who is talented in this respect, you can contact me via the community or on IRC or, you know, however it is that you want to talk to me, you can also email ryan.cypes at mycroft.ai and we would really appreciate that. I really would love to make the Ubuntu Touch Minecraft experience an excellent one and I'd love to make and I'd like the same thing with the desktop. The other thing that we need are devs who are interested in IoT and media playback, obviously for the device and doing various things with the home. This is something that if you've watched our Kickstarter video, you very much understand why we're working to do this. And so if that's an area of interest, we're always looking for people who want to be a part of that process as well. One thing that is really important is the devices, the sale of the devices funds our development effort. We're in good shape but any little bit helps. So if you are interested, pop on in helping the development effort and getting a nice Minecraft unit, you can still pre-order, pop on over to our site, mycroft.ai, hit the pre-order button, it'll take you to our Indiegogo pre-order page and you can pre-order a device. And like I said, that's super helpful. Every person who pre-orders at this point gives more money to pay developers to make better services available to both the community and our development team. And so we really, really appreciate that. If you see the picture over here, that is a submission for our Minecraft mascot contest from Ronnie Tucker. It's our community picture and I really enjoy it. And so I was really happy to be able to pop it into a slide here and share it with all of you. All right, question time. And I'm just going to first grab the first one that I got in the chat here. Cheeseburg says, so if I understand correctly, Unity 8 will have built-in Minecraft support and integration by default when it is ready, of course. The answer is, I guess the answer is yes, maybe. We would really, really, really like to be able to be a part of the platform and to actually be integrated on a level where you could just, you know, long press a certain button or say, hey, Minecraft to the phone when you're in any part of the, of using the phone and have it actually pop up a session and do what you ask it. Some of that comes down to the community and canonicals ideas for how something like that can be implemented, whether or not they want us to be that deeply integrated into the experience. My fingers are crossed that both the community and canonical will make the decision to integrate Minecraft on that level, but that's something that's not up to me to decide that's up to the community and canonical. So if that's something that you want, please, you know, share that with the other community members and share that with the canonical team and hopefully we can make it happen. The second question is from Autonomous. He's a member of the Minecraft community and I saw a cheeseburg say, mycroft plus HUD is equal killer feature. I agree. I think mycroft and the HUD are a natural fit. Okay, so Autonomous says, your Kickstarter campaign encouraged people to buy multiple mycroft unit. Is there any plans for folks with multiple mycrofts or a mycroft unit in Ubuntu PC running mycroft to synchronize without involving the cloud, i.e. some kind of decentralized slash distributed way of making each of them know what you've said to the others, maybe same thing or something. So the answer is yes and no. One thing that we're doing is creating a back end that can handle these sort of things like what you've detailed there and we encourage people to, we're gonna obviously be encouraging people to use our back end in order to get the best experience possible without having to mess around with anything. However, it is open source and we are planning on making every bit of our stack available and so there's no reason why someone can't make this work and if people are wanting to embark on that then we will try to be more than helpful in the community and IRC and any other place that you have conversations with our team and helping to make that happen and we've already started on documentation and we're trying to make the documentation as solid as possible to allow anybody who wants to hack the stack and make it do what they want with it as easy as possible. Another question is what version of Python are you using? I'm pretty sure we're using 2.7. I'd have to check on that but I'm pretty sure that's the case. I know we're not using Python 3 so I think that's, I think that it's important for us to have a conversation about these things like what version of Python we're using and what we should be if we have to make any changes or bump up to 3.0 in order to better integrate with the platforms that we're trying to ship on like Unity 8. The question was, another question from Cheeseburg was can the voice for Minecraft be customized? Yes, it can and it will be pretty straightforward. I plan on, for those who use our backend service, there should just be a little dashboard that you can change the voice but there's also a little place in the code where you can quickly make that adjustment as well. Question, will it also reply to just Minecraft instead of saying okay, Minecraft? Yeah, in the video it is, you can hear both Jonathan and Sean say, hey, Minecraft and just Minecraft. The slickest part of that is they both said an entire phrase and they didn't have to wait for a call response. They didn't have to say, Minecraft, wait for Minecraft to go beep and then say something. They just immediately said, Minecraft do this and it did it, which is something that's kind of hard to do actually in implementation. Question from Cheeseburg, will Minecraft integrate with scopes and applications? Yes, we're still early in our Unity 8 implementation but I think that this is something that I'd really like to be possible. I don't know all the implementation details but I very much would like to see Minecraft integrate deeply with the entire experience but specifically yeah with scopes and applications and when you brought up the HUD earlier I think that's a great way that it could do it and so I guess I can't say 100% right now but I'd like to try and hopefully we'll have an easy way to plug into that and make it happen. A Awesome asks, how did you find the Unity 8 and Snappy documentation? So fortunately any place we had issues with we were able to go to the community for and we've had already a couple of hangouts with different community members and discussing how to accomplish the task or trying to accomplish. So in places where the documentation was maybe lacking, fortunately we had a lot of help so far and so it's really hard for us to say because we've had such an awesome response from the community and that's been really great. Will the phone security restrictions be a problem for implementing Minecraft? Yes kind of they already kind of are but it's kind of hard to say because the platform itself is still you know even though there are phones out there in the wild the platform is still interactive development so I think some of the things that we're coming up against might be solved in the near-ish future. Once again and I'll try to detail this in the community or something but some of the issues that we're already coming up against I think are actually ones that the community and Canonical are planning to address and so the the question is how are those addressed and what's the timeline for that and so we very much want to be a part of that conversation we very much want to help in any way that we can but there are some things that are going to have to be some problems that are going to have to be solved before we can have a seamless integration I think. Awesome asks on which Ubuntu phone are you testing Minecraft? Well in the video there it was the emulator we have a couple of we have a few Nexus 4s that we just got that we're setting up and preparing to do testing on phones cost money and I'd like to get some more and and test not just on the Nexus 4 but on the BQ phone and maybe even the Meizu phone. One thing that that is good about testing on the Nexus 4 though is the resources are there's not a lot of resources comparatively on the Nexus 4 which is good for testing because you know if we get it to work well on the Nexus 4 then we'll have more resources to work with on other phones and so we can expect better performance. Question from cheeseburg are you working to integrate Minecraft into other desktop environments has there been interest? There has been interest we haven't started work on the other desktop environments yet I had a good conversation with some of the KDE guys and I have yet to have any conversations with the gnome guys I would I probably need to initiate that but but yeah I'm very interested in integrating into other desktop environments but only if the community wants it and I'm I'm really interested in in it making the Linux desktop have feature parity with with the other desktops that are out there the proprietary desktops and I think that this is an important thing to do in order to achieve that. Let me pop down here will the initial code be available to look at in the short term or only a more final version when you start shipping that's from fof um so I have really good news on this front um development is going at a really good pace and I'm very very pleased with that uh the I I don't I am not one of those people who wants to make promises and then have it you know give me issues later on but I I can say that um I think people should expect to see the code sooner rather than later um and I guess I'll have to leave it at that uh like I said we're we're looking for people to come in early and help us help us get it ready so um please um if you're interested in that sort of thing reach out to me uh question from will cook how's the design of the mycroft hardware coming along do you have a unit that we can see well I ended up doing this session from home and so um I left my mycroft unit what no he didn't hold on this is not the most current version but this is uh this is mycroft the one I carry around and show to people this is the one I think that was in the uh in the video um and this might be his brother we've decided to change some things for instance um you can see there are two different pieces here if we look at it from the side uh we decided to make the top mirror the bottom and then these legs can actually be attached and uh and so uh we can print you know the same piece twice attach it and then attach the legs and uh also we added a couple of inserts on either side that have a little open hardware logo and you can pop those out and actually mess with the internals run cables out etc and so um that's something that I'm really excited about those inserts and the legs will come in different colors as well in case you want to make your mycroft look all bright and shiny um and I guess I've only got three minutes left in the session so I'd just like to close and say that I'm really happy that Ubuntu invited me to give this talk at their online summit um like I said I really hope that the community um will help us integrate uh into the desktop and into the phone in a meaningful way I'd love to see us ship a beta with the desktop and with the phone in 1604 and that is well in line with our um our own uh schedule and our own uh timeline and so I think we can make that happen if we if we get the community support and if you guys come out and and help us help us get there um you know we're doing something that that hasn't been attempted before which is an open source personal assistant uh in artificial intelligence and so uh we're on a new front with this is something that that uh we don't really have a very good um roadmap because nobody else's has tried it and so um it's really going to take a group effort from the open source community and from the Ubuntu community to make um this work really great on your platform and uh we're very much eager to help and we're very much eager to leave that um effort in integrating it but um we'll definitely need the community to to back us on that so um thanks guys I look forward to talking to everybody I look forward to the rest of the sessions um if you have any questions pop into the mycroft.ai IRC channel on freenode or pop on over to our community and uh and have a conversation with us and like I said um if you want a mycroft of your own uh head over to mycroft.ai and hit the pre-ordered link and you can and you can get one so thanks guys and have a great rest of your day