 So, hi everyone and thank you for joining this presentation. It was originally cancelled because Cathy, who prescribbled this abstract.com. So, I was a contributor in the project and I said somebody should speak about this project because it's amazing and finally it's me to do it. I tried to transcribe a previous presentation she made in Singapore and maybe we could speak from a more community aspect of the project not from inside Mozilla because I'm just a contributor. So, the title of the presentation is an IoT forecast without clouds. This is something that's maybe another topic because it's raining today but it's quite promising. So, first what is this project about? The main motivation was to create and to build a platform that can address some smart home use cases. So, basically this is a few automation of different devices you have connected together to a single place and it can solve many problems you can find today on the market because there is some concern about security. IoT and security is a long story. People are very scared because there is a huge potential of privacy leaks and even safety issues. So, if you have higher exposure, you're more exposed to problems. So, if you're using devices which are readable systems, okay. But, you know, that non-system is really not acceptable. So, that's one problem you need to reduce exposure. So, if your gateway is running home, then you have no chance to be less attacked from the outside. Interoperability is also interesting because we have, in the IoT context, we have a different approach but mostly it's always zero. So, this is verticals from device to application which means that you have like a thousand of remote control, instead of thousand of remote control to control each device, you have thousand of apps on your phone and there's no way to make them working together. So, that's a problem. It's actually a market issue, not a technical problem because if you want some interoperability, we have some solution to do this. Privacy already spoke about this. And, yeah. So, running your smart home with DIY project can be time consuming. So, this project is trying to make it easier for everyone, even non-developers, they can deploy this soft solution home without too much effort, yeah. So, yeah. This slide is about CELO, I've just explained. So, for different reasons, most products we have on the market are relying on the cloud which is operating your device. So, you don't have the control to your device directly but you are using a cloud proxy which reaches access to the device itself. So, this means that if there is some internet failure from anywhere, you cannot do anything. So, some, I have implemented some fallback option but this cloud architecture is not... Spontilatek took the opposite direction. He said, okay, if I can control directly to my device or to some units that can speak to the device, I'm solving all those cloud issues. And, it's perfectly in Europe and it's also in UK. Now, there is a lot of regulation we're trying to enforce more privacy in system. So, if you have two different approaches, either you try to ensure security and privacy at the cloud level or either you decide not to take user data and let him manage his own data. So, in this case, you're not in position of doing any disclosure or bad exploitation of user data. So, it's a decentralized web of things approach. I would say it's the original internet spirit of the way to design a system because the internet was made of this motivation of interoperability and a mesh network without any central point of failure. So, we are reproducing this somehow. So, you can... So, if you want to get things started in the project, so first there is the gateway, which is just a software component. We will explain about it later. And then you can buy different device or build your own device. That's kind of interesting if you want to learn things. I recommend to try. And, there are speaking a common language. This is called the web things. So, as I said, you have a combination of modular gateway which is software you can deploy in a Raspberry Pi, different device, and then we can ensure some level of privacy by design because everything stays on your own network. So, I would say it's quite trustworthy. So, for security, that's an optional feature I'm showing here. You can access to the gateway from the outside. So, if you remember what I said first, that if you are making a larger exposure, you can be subject to attacks. So, the way security is under the ear. So, you're not getting into the gateway from the outside. It's the gateway which is opening a tunnel to the modular IoT subdomain, and then you can enter from this tunnel back to your system. But it's not modular who gets access to your gateway. That's something you should know. And, again, this is an optional feature. If you are working in a disconnected environment, you can just skip this and you can get local access. So, you have interoperability. I used to work on this before, and I would say that the modular approach is quite smart because they try to, let's say, replicate what's working on the web as you know it, as HTTP, HTML, for a web viewing webpage, and try to do this differently in the IoT context. So, it was based on an effort made by the W3C. There was a working group called Web of Things, and it really used different technologies that already existed. It didn't create everything from scratch and try to make it more adapted for IoT concerns. So, basically, you will find HTTP Web Socket for real-time, which is in the description for REST API and so on. And all other IoT protocols or radio are already standardized. There is interoperability bridge between ZB, for instance, and Web of Things. And all of this is running on the Internet. Internet technology, not the Internet itself. So, there is a community... Development is open, so that's pretty cool. You can see the feature ongoing, and if you find any issue on the master branch and so on, you can reach developers easily. You can get the source code, report issue. We have an IRC channel, and now moving to Matrix, as Mozilla is moving from IRC to Matrix, but you will reach people both sides at the moment. So, from an architecture point of view, it's not just application. So, the software I'm explaining here is the gateway itself. So, basically, it's a server when you can connect all the devices, so you need to register them. So, you have different way to have the devices. So, it's done at the moment by UI. So, you have, like, a wizard when you can search for device at them, and so on. And it's a Node.js Express service where you have all the UI and all the endpoints for all the logic. And something really smart, I believe, it was, at the beginning, it was designed to be extensible for this new stuff. So, that's something I want to emphasize, because I'm a part of the community, and I made a couple of them, but now we have about 100 cert contributions for managing. I don't know. I made some from Activity Pub, Master Don client, so if I want my device to talk to my friends, I can do it using this. And if you want to bridge this to anything, you can do this. I think somebody also made a Github tracker. This means when there is a new bug, there's an alarm in your home or whatever you want. So, it's only just event and action so you can do whatever you need. So, yeah. So, you have direct control of your device. There is no middleman. There is no exposure to the outside. You can deploy it by yourself. Your data stays home. You can enable some feature for logging your data and so on, but it stays under your control, so this means everything stays on your Raspberry Pi SD card. And, yeah, you can expand the ecosystem with other devices which are dumb devices, but that speaks to a web-sync API. So, for the demonstration, she used to make a demonstration of her home in California, but maybe I will not get access to her home. That would be a privacy violation. So, I will maybe show you a couple of other things I'm doing now. Okay. So, what you see here is my desk home. I have made this DIY, I have a very slow connection here. So, I made a DIY robot which is my own web-sync and I made an API to control it. So, here is a dashboard. So, this is a gateway view of all the things I have on. So, here is a light, for instance. Okay, it's turned on. I can change the color. What color do you want to make sure it's not a fake demo? Purple? Pink, okay. Okay, this isn't... And, yeah, you can add some virtual device like a micro switch so you can get some, yeah, some connection between all the devices. So, it will be... Let's create some kind of new rule. Like... So, let's... Okay, now maybe I can turn my... So, let's say I have this actuator. So, you know what is the sensor, right? But an actuator is the opposite. It's something that is producing value. So, you know, which is consuming value. So, here is simulating an action. For instance, if I change the on state of my switch, I can decide to change the color of my light, for instance, to yellow. Okay, so, yeah, then they are linked. So, basically this means that if I'm turning it on... Oh, it's already yellow. Yellow-ish. But, you see, it doesn't turn off because... Why? Because I set if keyword. It's only when there is a change. I should put a while. This means when it's on, it should turn yellow. And when it's off, I should create another rule to say another color. So, let's do it. So, on the left is the actuator. On the right is the color. And I set it on off. Then I can change the color. Okay, it was off. So, now it's yellow and now it's turning to... So, I can show you more... Oh, yeah. Yeah, another hack. Maybe in the video it will be faster. So, yeah, I made some experimentation trying to merge reality, the real one and the virtual one. So, I'm using some color sensor, which is measuring the color, obviously. And then, I made a web application, which is updating the color of the sensor in 3D. So, it's a NA frame scene. If you don't know about this framework, it's quite interesting because you can create... VR, just like writing HTML. You don't have to write any JavaScript. It's mostly tags. You just describe the scene and so on. So, yeah, it's running on a VR headset. And sorry for the quality, but what's interesting here is that you can reach some web things directly. I'm passing a local address of my sensor, and it's updating accordingly. So, even if you don't want to use... Or if you have other needs, that's a smart home platform. You can use this API to describe things and it's quite convenient for describing physical objects and flexible enough, yeah. So, here is an AR version of it. I think it's a Magiklip device. And then, yeah, I tried to make a 3D controller of my web scene gateway. So, what you see on the bottom right is a 3D view of all the widgets you have in 2D, which is an SVG dashboard. So, you can explore all the devices. So, it was mostly a proof of concept. So, what am I doing here? I think I'm... So, yeah, this is all the switch you can see here. Here is a smart outlet. I think I have the same on this side and I can decide to control it directly with a VR controller. So, that's a nice proof of concept. So, here is my 11A on top. So, if you want to get started, you need to get a Raspberry Pi. You can also run it on your regular system. I suppose Mac should work, but I'm a Linux guy. So, anyway, you can run it in the container or... Okay, so, here is the same version of the dashboard but in 3D, so you can look all around. And, yeah, I think I'm doing the same here. Oh, here, another hack. So, yeah, I tried to make some video... My web come output and try to inject it into a VR world but it's really very weird. So, I'm controlling the fun. I don't know if you see it, show it. Okay, that's one demonstration, yeah. If there is any question, I can take them now. More or less, yeah. Thank you. Anybody has questions? One time, two times. Hello, thanks for your presentation. I'm not sure if you know this, but I'm wondering about if there is some market research on IoT adoption. Because I think, like, in principle, technology has been around for a while and probably in recent times, I think probably for the last five or six years, there's like a lot more of this. But I haven't really seen other than maybe like Nest or things like that, like a big consumer adoption of IoT. Or am I mistaken? I know that Mozilla is a working group. I don't remember the name. Do you know? Maybe somebody in the room knows. So they try to identify the back practice in products. And for instance, for Christmas, they were publishing like a selling instruction and recommendation, which device should be used and not. So I suppose they are based on different studies, like you were suggesting. So you should try to contact them. I don't remember the name of it. So if you look at which IoT device should I buy if I care about this, maybe you'll find this. But it depends on the countries, for instance. And something I didn't mention, but in France and Europe, we have a very strong regulation. Not the regulation is that strong, but the principles are quite strong because the GDPR regulation has one article which says anything about recommendation for making system with privacy by design and by default. And if you look at what is on the market today, we'd be really surprised to see if any complies this. So today we care about privacy mostly about personal information, mostly social media or even personal communication. But IoT has a huge, huge impact on people's lives. So, yeah, I think it's an opportunity for a platform like this one or any open source software because privacy is some part of DNA with the disease from day zero. So let's move on. Yeah, another one. Thanks so much for showing all of this. I love automation, but I'm like privacy to me is a big blocker to doing these kind of projects at home. But seeing this, I don't know, I find it super fascinating. Do you know of any alternatives to Alexa or things that could receive voice commands that doesn't go through Google, Amazon? Okay, excellent question. I think you should stay in the room because somebody will speak. Next talk is about common voice. So I can reveal some secrets because there was this all ends session in Berlin and some Mazillion team with IoT guy and they managed to make it work as a proof of concept. So it should be deployed as soon as later, yeah. Thank you for the talk. Just a question. Put the mic next to your map. Right, cool. Is it possible to update from where all the bulbs are? I think it's enabled by default. It's maybe of an option. Yeah, but it's, yeah. Basically, yeah, it's working. It's already working. You can update the wall platform but also the add-ons individually, so, yeah. So that's a good question, a good rule mark because if you are super paranoid enabling updates can be a source of issues. So if somebody hijacks updates, so, yeah. That's an interesting topic, yeah. More questions? No, thank you, Philippe. All right. Thanks.