 Here we have some 96 boards, the 410C, Raspberry Pi, and a whole bunch of other boards here at the Ubuntu area, and who are you? I'm Jamie Bennett, I'm Engineering Manager at Canonical, we're Canon Ubuntu Core. So, what are you talking about in this area here? So, here is an IoT play. We see several boards all around here from the IAPOWIDs, say, a Samsung Arctic that can do dedicated GPUs for 4K and beyond. We've got some other industrial use cases here. And along here we have a kind of evolution of a bedding board. Well, here is two boards here, maybe two years old, 2015, the Dragon Board and the Raspberry Pi. This one's about $35, maybe $40, and the Raspberry Pi 3 here, the compute module, are moving down here. And as you can see, I've tracked it. These things are going down in size and down in cost. This one on the end, the Raspberry Pi Nano, is around $5 in volume, but similar sort of compute power. And the evolution here is that maybe next year, maybe the year afterwards, we'll see boards this size and this most. The coin board. Indeed, but just to illustrate that, when you have devices this size and they're running at this cost, it assumes everywhere. And the common theme here is Ubuntu. Ubuntu Core in this sense, we have a security hardened version of Ubuntu that will help you with software delivery. And it gives you that security as well. So, on all these devices, and over here also, there's some more devices right here. We have the Intel devices here, the Intel Dual and the Intel Noteboard. So that's an Intel 96 board. Not really, but it could be. Yeah, and there's this one. This is the Intel Dual. An Intel Dual. And higher power, but slightly higher use. And here, what are we looking at here? These are industrial uses of Pi. This is the Raspberry Pi inside, Raspberry Pi 3. And this one is a Raspberry Pi 3 compute module. This guy is in here. You can save some money for the people that buy that kind of stuff. Yeah, we have several demos around here. The industrial IoT designs are very much for controls, so electricity, controlling devices, that kind of thing. And these are din rail mountable, and you can have several of them at a time. And here's the Samsung Arctic board. This is the arm for embedded markets. It's an embedded market, but it's very high powered. It's got a Mali GPU on there. So whatever, if it's a media use case, if it's IoT, it's a general development board for your use cases. Of course it's me. And here, these are all portable, by the way. This one is made by these guys, the embedded arm guys, and it's an IMX board. So that's an embedded arm IMX. This is Intel as well. And this one in particular, it's got a switch, gateway, that kind of design. What are you showing on the screen over there? Something very interesting. As part of Ubuntu and Ubuntu Core, we have a software delivery platform from... So is it called Snapcraft? Snapcraft is a tool we use. You develop software. Let me show you. Basically all the software, you send it over or do many things. Exactly. So Snapcraft is a tool to create snaps, a package format, which we use on Ubuntu Core. And I've had you over to Evan who can tell you more about that. Hi. I'm Evan Dantray. I lead up advocacy for the Snapcraft platform at Canonical on Ubuntu. So what we have here is a pipeline that you can build today. You have a GitHub repository and you want to land some code on one of these arm boards. You can hook up your GitHub. It'll automatically build on our infrastructure. Arm, 32-bit, 64-bit, and X86 as well, 32-bit and 64-bit. And that will automatically be published in our store so that any user can install that on their arm device. And every single time you land a new Git commit, that's going to go through that same pipeline and they're automatically going to get the update. So four times a day, this Raspberry Pi is going to check for updates. It's going to see that you've landed a new Git commit and it's going to pull down those binaries and install it on that device. So are you making things easier for ourselves? Absolutely, yes. And it really is a lot easier. So to create one of these packages, what we call a snap package, is really just about 15, 20 lines of YAML. The top section is just a bit of metadata describing your application. The middle section is what we call the confinement. This is almost like a Docker container around your application. But whereas Docker containers have the whole operating system image embedded with them, we strip that away. It's just your application. But you probably want to slightly change that confinement, right? Your application might want to access the internet. So you would say it also needs to access the internet and so that changes the shape of the confinement. Maybe it needs to access a webcam and so you change the shape of the confinement in that way or some sensors and so on. The final stanza, that final section down at the bottom, explains how you build your application. We have plugins for every major build system, all the popular languages. But even if you have some crazy language, some crazy build system or a few extra steps, you can just add those in as shell commands right down on the bottom. And so it will really plug into whatever your existing framework is. Whatever way you build your application, you can wrap a snap around it so that you get that confinement and that you get that ease of distribution. And so if you drop one of these snapcraf.yaml files in your GitHub repository and click through this website, you'll end up with these sets of builds. Every time you land to get commit, it's going to go off and build on Armament or x86 in our infrastructure. You don't have to pay for any of this. If your code is open source, you can use this today. We're working on enabling private repositories as well. And then it's as simple as just running this command. And so we can do that right now. And so it's going to pull down this snap that we've built. Now that's the first time installed. For all of the updates, it's going to use Delta. So you're only pulling down a few K with each successive update. And so we can say... And this is just a cute little program that comes up with some emoji relevant to the words that you type. And that's installed now. So every time there's a new Git commit of emoji, this system that we're running here is going to update to that Git commit. Again, this is completely free of charge. You can use this today. The website is build.snapcraft.io. So are snaps kind of like apps for the embedded world? They're apps for all of Linux. In fact, if we go here, all of Linux. So embedded, but it works on Ubuntu, a both regular, classic Ubuntu that everyone's using today and Ubuntu Core, which is our operating system for IoT devices, what you would put on a Raspberry Pi, for example. But as well, we have support for OpenSUSA, for Fedora, for Gen2, for Debian, for Arch. We're always expanding the set of distributions that this runs on. So if you're building an application, you'll wake up tomorrow and you'll have yet another place that your application can run on. Ubuntu is the most popular operating system on the cloud. It's the most popular operating system on IoT. And you know that you have snap support there today. So if you package your software up as a snap, you know you're getting a really wide breadth of places that your application will run. And this whole ecosystem of a snap and a Ubuntu Core and all that is in full swing. It's a big growth. A lot of people are using this. We already have over a thousand applications in the snap store, as we call it. And that's growing every single day. So you make a snap store? Yes. So if people have a thing, they can put it there? Absolutely. Yeah, they can either use this build.snapcraft.io or they can actually upload directly to the snap store. And it's their software going directly to their users. There's no intermediaries. You don't have to go through any kind of manual review. If you want to snap up your software, you can put that in the snap store today. And users on the other side can grab that today. So this is going to unlock a lot of the innovation in the world, right? Absolutely, because what's really happening here is that these devices are going to market and their initial purpose is not hard-coded. They might go out there and start as one thing and then later on become something else. They're really becoming platforms for a kind of broad ecosystem of applications. For example, over here we have hardware switches that are running Ubuntu Core. On top of that, we can install applications directly on that switch, directly on that top-of-rack switch. Now, why might you want to do this? For example, let's say you have a provisioning tool. Yeah, absolutely. The thing about it is I can update this by simply going and doing it. So if you have one of these switches and you have Ubuntu Core on it, you can install applications directly on this switch. You probably want to run on the switch itself because you want it as close to the silicon as possible. You don't want this on some server that's connected in through Ethernet. You want it on the switch because every one of these ports is going to be another system that it's provisioning. Ubuntu Core and Snaps let you do that. The provisioning tool can be snapped, again, using that tool that I showed you before, and that can be delivered right on the switch. So if you're building an IoT device and you put Ubuntu Core on there, you're actually opening up that IoT device to an entire marketplace of applications. You're making that device that you're building far more interesting than just a single-purpose device. Nice. It will be 10 years in May. It's pretty serious with Ubuntu logo... Oh, no, this is actually... I got British citizenship. This is a two-to-rose. Oh, okay. No, I haven't quite got the Ubuntu tattoo yet. Maybe the other arm, I'll get the Ubuntu tattoo.