 So software engineering doesn't really cover it anymore. I'm software hardware, everything engineer. That's pretty amazing. If you tell me this two years ago, I would completely laugh in your face. I only wanted to do high level stuff. And now today I'm kernel hacking, cross compiling, and I even have a breadboard and I can make LED's blink. So now everything's complete. I live in Amsterdam, I work with Telonore, the big Norwegian telco. They pay me to work on open source software and I'm currently working on music products. Now today I want to talk to you about a new model operating system. JanOS. Let's turn your smartphone into an IoT board. Smartphone IoT board, it actually makes sense. JanOS is an alternative operating system for smartphones. It's a fork or Firefox OS, it's completely open source. And the idea is that it runs on your existing mobile phone. So it's separate, it's actually an operating system we install over your current operating system. After that, operating system's gone. They run on Firefox OS and Android phones. And the caveat is that it runs without a screen. It is meant to install it on your phone, then disconnect the screen and then have a little chipboard you dig in that program. So in that sense, it's a bit of a competitor to Arduino, a bit of a competitor to Raspberry Pi, but there's one extremely big advantage. If currently I want to have connectivity to my IoT board, say I want to buy a GSM shield, I have to shell out and I look this up for a 2G board with now antenna, 91 Singaporean dollars. For me, this is insane. If I build an IoT device, I want to deploy it wherever I can. If I want to see weather conditions, I'm just like put it somewhere and I'll leave it. But for that, I need connectivity. But none of these vendors solve this problem. Why do I need to shell out 91 Singaporean dollars for just a GSM module? Well, in India or Philippines, I can currently buy this phone, Firefox OS, full smartphone for the freaking price, $44. Yeah? Full thing. And this is even worse because 3G shields, for Arduino, are even more expensive. 4G doesn't even exist. A smartphone is in any sense a way better investment than your normal IoT development kit. So that was the premise that we started with, like how can we reuse your mobile phone and make this into an IoT device? So Yano OS, the thing that we're going to run on this, is essentially it's Firefox OS with the UI stripped off because we don't need that. And that also solves the main problem of these super cheap phones, is that they run slow. Well, we don't care. We don't do layouting. Just JavaScript engine. And a bunch of new low-level APIs. File system, GPIO support so you can make an LED blink. Exactly what I just said. And it basically works like this. We have the mobile phone. We have the Linux kernel. Runs on top of that, Android open source kernel. On top of that, we have Gecko, the render engine, JavaScript engine of Mozilla. And on top of that, we have an HTML5 UI. Now, because everything in Markzware's implement through HTML5, that means that the Gecko, JavaScript engine, has bindings to everything on the phone from calling to messaging, et cetera, et cetera, et cetera. So if we remove the HTML5 UI, we basically end up with a mobile phone that just runs Paragon's Gecko. Just JavaScript engine with a bunch of bindings already there. All right, so now, you know what Yanoas is? It's far from success without UI. But how are you gonna make this into an IoT thing? Because it's a mobile phone, a cool thing. So, getting started, flashing Yanoas mobile phone. If you follow these simple steps, then this will not happen to you. At the moment, for formal phones at the Raspberry Pi, we're built available at Yanoas.io. It's on the download page. There's also instructions how to flash it on a bunch of phones like the Nexus 4, Nexus 5, Galaxy S2. And after you flash it, it's just running once it's scripted into device format, you end up with this. This is your basis. It's the absolute minimum thing. It's just a logo on the screen. And we can get rid of that because who needs a screen anyway? So, get out your tools. Actually, when I started the product, I did not own a screwdriver. So, even for someone who's a complete hardware nerd, this is completely possible. You use a screwdriver to just unscrew the casing of your phone and then you get presented with something like this. This is the heart of your whole smartphone. It's freaking tiny. It's less than the size of your credit card. Everything else in your phone is just the screen and battery. Complete computation unit. This phone actually is dual core. It has a gigabyte of memory. It has four gigabytes of internal storage. A fuck ton of sensors. Great. What we have here is SIM card slot, SD card slot, touch screen connector, camera, flashlight even, touch screen connector, all great. And because this is a small one, there's an external antenna that we also need to. Sorry. We ended up with this. This is your new IOT board. Used to be a phone. It's incredibly small. Less than the size of my credit card. For most things, like booting, you need a battery. So if you want that, just solder your current phone battery or any battery, just 3.7 volts to it. Little bit of soldering wire. It's pretty easy. Or if you go full-on, because we were making a device based on this chipset, we created like a custom PCB to connect these things. All right, so. That's gonna be very, very fast. Gonna continue full speed. So let's do a Hello World application here. So if you wanna do Hello World, you get out your phone, flash your LOS, and then you can clone your base repository. The base repository does a whole bunch of things for you. Wi-Fi management, 3G management, 2G management. So the moment you put in a SIM card, everything just magically works. Plus you have access to all the APIs, all the centers, et cetera. Then you just write some code scripts. So let's say you've just done this. Let's write an application that sends text message the moment that you connect to the voice network. In this case, you can just get a reference to your SIM card. As you can see, because part of the test already did this, because part of the test launched in 30 countries, because part of the test fixed all these problems, this is gonna work in any network. Because if it didn't work on some networks, we would have to find out. It's high quality, it's well tested APIs. So get SIM 1. The moment that we're connected to the voice network, simply vent listener, that is the moment that we can just say, send the text message. This case, fill in the number, fill the message. And then we turn a promise like object that either says yes, this works or this didn't work. Simple, 15 lines of code. And if everything worked, get the board, pull in your SIM cards and go. So a lot of things you can do with this, it's all bundled in the default repository. It's already in the examples folder, you can just do that. A doorbell. Why don't I get a doorbell out of your phone? You know what would be cool? If my doorbell was, I don't think that I actually have to press the button and wave it, wave your hand in front of it. How can we do that? Well, an mobile phone is a proximity sensor. It's the thing that shuts down your screen mode and you hold it against your ear. So if you listen to events like that, find a Bluetooth speaker to it. Now, when you go to my doorbells, you can just, and I can play sound on Bluetooth to indicate that people are coming. It's in a couple of lines of code. It's already in our repository, so I'm gonna skip over it pretty quickly. Another use case that I built is this is my group of friends. Very nice with a rock concert and a rock festival in France. And in the middle you see a very grand boy. Dangerous looking guy. This is Brian. Brian has the little tendency that he always gets lost if we're on a trip. Brian also has a tendency to always text his girlfriend while he's out and drunk, so his phone is always empty as well. Problem if you're in Warsaw or in Paris. Now, what can we build on this little chipboard with connectivity built in? The Brian tracker. Keep it connected over 2G. Listen to push messages. When one comes in, do G location, all standard web APIs, get the data, send it back, and this is actually how it looks at home. All right, so, this is a short overview on OS. This was a bunch of demos that you can do. These are all bundled in group of stories. If you have an old phone that you don't use anymore, if you wanna reuse this, if you need a cheap IOT board, go take a look at it. And with that, I'll, thank you all.