 Is this good? Or some? Yeah? So they asked me to do the presentation in English, so that's going to be in French, because I'm Francophone. So my name is Frédéric Harper, no relation with who you are thinking right now, please. I'll always do that joke, but it's really not a joke, like no relation, please. Maybe at some point, somewhere, but I try to forget. So I'm a senior technical evangelist at Mozilla, so an evangelist is basically, my job is basically to give love to the blopper. So I'm here tonight to love everyone in the room. Yeah. Yeah, some people are like, yeah, and they're like, no, I'm getting out of here. Look at that guy. You look bad. Yeah, so feel free if you tweet during the presentation at FRPR, I'm going to put the slides online, Christian is also recording. So that's going to be out of comfortzone.net, my personal blog, sometimes in French, sometimes in English, most of the time, as I said, in French. So, sorry. So the next 45 minutes won't be about Python. Is it good? Athletes? Okay. So this is my LOL, and Python. I put Python on my to-the-list for years. I think that will never just happen. There's so many other stuff to do with HTML, CSS, JavaScript that I just never have the time. So maybe sometimes I will go to one of those introduction workshops to just start from being a newbie to at least being able to do an LOL and don't have to look on Google how I can do just a print. So my talk is basically about Firefox OS, and it's about the web, it's about Firefox OS, and one of the things that I know you mean a little bit, and this is kind of sad because we're at the Google office, but the thing is that when we, when you talk with your customers, when you talk with other developers, when you want to start a new project. It's always a, if I want to do a mobile application, which platform should I start with? Should it be iPhone, should it be Android, and this is basically the two questions that your customers ask you, like which platform should I start? And that's killing me a little bit because since HTML5 right now, we have a third choice. We have, like, hey, can we do something native, or can we do something using web technology, using HTML, CSS, and JavaScript? And most of the time, most of the time, the answer is that let's go native. Let's do something in Objective-C, let's do something in Java because that's going to be faster because I'm going to be able to access some part of the hardware that I don't have access with HTML, CSS, and JavaScript. And that's killing me because I'm a big fan of HTML5. I would say HTML, we always say HTML5, but with HTML5, we've got a lot more features that we wanted as developers that help us to create better experience when it comes to creating websites, web games, web application, either targeting mobile, tablet, whatever what you want to try to target. HTML5 is pretty good technology, but sometimes it feels a little bit like this, it feels a little bit fade because if you try to target mobile, if you try to target any other devices, you may not have all the features, you may not have all the JavaScript function to access part of the hardware. So it's why most of the time when we have that sumo fight between hey, would it be native, would it be using web technology, most of the time it's native, that win because we don't have the tool we need as developers. Even if HTML is a big step in front of HTML5, still there's a lot of things missing for us developers. And this is kind of sad again because I'm really not a big fan of statistic, but those numbers are crazy, like 38 billion devices will be connected since six years, no matter that number, it's still pretty huge. Of course that won't be all laptop or tablet, phablet, smartphone, but if we remove like the internet of things, all the things that the user won't have to like work with or won't have to communicate with, we still have a lot of devices. We have some smartphones, as I said, tablet, we have like those e-reader, we have the Xbox, the PlayStation, the TV, we have so many devices that are connected to the internet that most of them, their point in common is the browser. So as developer, using HTML, CSS, and JavaScript would probably be, I hope, the technology that we can use to build web application, to build the application that's going to work in all those devices. So what I want to do tonight is to keep, take that HTML5 that is sometimes a little bit fade and trying to make that glorious super nice HTML5 with all the features we want, all the things we want. So it's a little bit of what we wanted to do at Mozilla when we started to think about Firefox OS. So basically what we did, quick introduction about Firefox OS after this, we'll go a little more on the JavaScript side, but basically two years ago we decided, we say, part of Mozilla mission, this is really to open the web to more people. And we were like, yeah, there is some places where they don't have access to some devices, we would like to have a real smartphone using HTML, CSS, JavaScript, has the programming language for developers. So one year ago we launched our first Firefox OS phone. What is great is that, I told you before, I will say it again, it's based on HTML, CSS, JavaScript. So when you build Firefox OS application, when you build web application, you use the technology you use every day to create web application. It's open source. You can go in GitHub, you can download the source, you can play with it, you can help us, you can fix bugs, you can do whatever you want to do. It's open source, it's there, play with it, Firefox OS is open. Some facts, because we always like facts. So we launched one year ago, but still, we did a lot of great job because we launched in 15 or 16 countries in one year, and it's only the beginning. We worked with seven operators, we have some hardware partners, we have some phones already out there, not just one. With me I have six phones, seven phones actually, seven different phones. It's ED Open, the Geeks phone, Qeon, the Geeks phone. Don't remember the name of the other one. The Alcatel One Touch Fire also have a reference phone, what we call the Flame, it's not available yet. So all those phones will be there if you want to play with them, if you want to touch them, if you want to feel Firefox OS, that's going to be there for you. And this is again only the beginning, because we're going to launch more phones soon. And what is the thing you need to keep in mind, when you think about Firefox OS, when you're going to play with those devices, the OS that we made, the goal was really to work with our partners, work with the OEM, and offer phones for emerging market. So it's why you may not have heard about Firefox OS here, it's why when you go to Rogers, Videotron, whatever the company in North America, you won't see Firefox OS right now, because our goal is to give access to a real smartphone, a good smartphone with application using open technology to people that don't have access to those phones. We're talking about users that are using feature phones. So they can have access to that phone, has an example in Canada, we can buy the ZTE Open on eBay. It's $100, $100 full phone, full price, no contract, it's unlocked. This is mostly, this is the average price of all the Firefox OS phone available right now. So those are really inexpensive, but those are really for emerging market, those are really low entry devices. So you need to keep these in mind, but really great phones, really powerful. And when we talk, when we think about the smartphone, we think about marketplace. So it's not because it's using HTML, CSS, JavaScript that we don't have marketplace, it's not because it's using web technology. So you can go to marketplace, you have the marketplace application on Firefox OS, you have all the application you need there, and you can install those, you can use those, it's like any other platform you know. We also have something called the adaptive hat search. This is basically like the web is the platform. So you don't have to install application to play with them, you don't have to install application to test them. And this is really, that's give you a really, really personalized experience on the phone. You just search for a term and your phone will switch to that team and you will have some application that will already be there, but so just try it on the phones, just to give you an idea of how it's working. And so what is a Firefox OS application? Basically there is two types of application you can create. You can create an hosted application, you can create a package application. So basically the hosted application, you're going to host your application yourself. So on your server, on GitHub pages, you're going to be responsible to have your application somewhere like any other website, like any other web application. You can also do package app. So those of you that are used to maybe, maybe you just don't do Python, maybe you do other stuff, you do mobile application on Windows Phone, on Apple, iOS or all those torts, this is the same principle. So basically this is a zip file, you're going to put every file you need, HTML, CSS, JavaScript, SOME file, images, anything you need to run your application, you do a zip file, upload this to the marketplace, the Firefox OS marketplace, and we're going to host those applications. For now, it's not that important, but I will come back on those because that will give you access to different API. Again, because it's web technology, you can use what I call vanilla HTML, so just HTML, pure HTML, CSS, JavaScript. You can use basically any library as you want. Usually if it's working in the browser, that's going to work on Firefox OS. You may want to try it before, you may have some specific problem that may happen once in a while, but usually when it's working in the browser, it's working on Firefox OS. But what is really great is that we had what we call the web APIs, and I will come back on those later, but you have three level of APIs that you can use when we think about Firefox OS. So right now, the people in the room that have already an HTML application, already an HTML game, even if you are using PhoneGap, to create a Firefox OS application, you just have to have a manifest file. This is basically a JSON file, and this is all the information you need to tell the OS that, hey, this is a Firefox OS application. So basically, I know it's maybe a little bit smaller for the people in the phone, but in the end, sorry, in the phone, I put some French word. So this is like the version, the name of the application, the description, the path for the icon, the path for which file will be launched first when we're going to launch your application, any permission that your application will need, because it's not because it's using web technology that it's not secure. So this is basically, right now, if you want to build a Firefox OS application, you just have to have a manifest file. If, of course, your application is running well on different viewport of different devices, you're going to be good to go on Firefox OS. So what I'm going to do now, I have a small application. Actually, it's part of the to-do MVC project, if you know it or not. This is a small project. This is just a to-do application. This is really just to show an example on how to do a small to-do application. Beautiful. Beautiful. And basically, recreate that project with many frameworks, with many JavaScript libraries, just so it's easier for us developers when we want to test different framework, different library, to always be able to compare with the same project. So small to-do list. I can't have this. I can't say Python. And no, Python. That will never happen for me. No, it's not true. One day I will learn Python. So really simple to-do list. In that case, I took the Ember GS architecture, that framework, to show the application. So it's running on the browser, not in special right now. What I'm going to do, I have another small project here. It's basically just what I call a kind of boilerplate Firefox with starters, just because I'm too lazy to create everything in front of you and that's going to be boring for you if I do so. So it's basically a CSS, MTCSS, some images for the icon because I would like to probably publish my application in the marketplace. A JavaScript file is empty, NDEX is empty. But what is important is that it's the manifest file. So I have my manifest file here and this is just a DOM manifest file just to be able to start Firefox OS application without having to recreate all these things all the times when I'm doing demo. So what I'm going to do, I'm just going to copy-paste what I have in my Ember GS folder in my Firefox OS starter. So yeah, replace. And I have a Firefox OS application. At that point you should say, well, super, no, okay. You did not see anything. Yeah, show me the money, baby. What was that? So what is great is that with Firefox OS, if you have Firefox installed on your computer, you already have the tools to test your application. You already have the tools to test in the simulator. So I have what we call the App Manager and this is basically where I'm going to manage my application. Pretty, pretty obvious, huh? So what I can do right now, I can do, I can have some package HAP, I can have some hosted HAP. In my case, because it's on my computer, I will have that application that's going to be called a package application. I just need to point my browser in the folder where I have my manifest file. So this is basically the folder that I had where I copied all the file. I'm going to say Open and you're going to see my super obvious beautiful name of the application. You see the content of my, sorry, of my manifest. And I know that my manifest was right because it's loaded there. I don't have any errors. So what I'm going to do, I'm going to start the simulator because I don't need a real device to be able to start to test Firefox OS. So this is basically like an error simulator. This is a copy of Firefox OS. So as you can see that, this is the adaptive search. If I use something like if I type U2, if I have a connection, internal connection, you're going to see some stuff. This is a UI that you know a little bit like any other platform at my marketplace. And what I'm going to do is that because I started the simulator, this is version 1.2 of Firefox OS, I can push my application on the simulator. So I'm going to click Update and at some point, we're going to see that my application just installed on the simulator. If I open my application, I'm going to have my to-do applications. Again, you can say Python is cool, friendly to learn Python. And this is basically the to-do list that I had before. So same thing, it's working because it was an HTML application. It will tell me, Fred, it sucks. Like, I need to scroll up, scroll down. And it's true because it's like any other application. If you want a good experience, you need to adapt your application to the screen. So maybe by using something like responsive web design or using any libraries out there, what is the one for bootstrap? So there's a lot of tools for you to help you or you can just do major queries by yourself and be sure that that's going to work in the simulator. But my goal was to show you, hey, I have my web application. It's working in a browser. I just had the manifest file. I also had the icons because I wanted to publish that application at some point in the marketplace. But if you don't trust me, just come see me after. I will show you what was inside the CSS and JavaScript. There is nothing. Only the manifest file. And I took my web application that was working in the browser and I created the Firefox OS application. Now this is the time. It was not that good. I just want people to upload. I like that feeling. No? Okay. So web APIs. So I show you the basic, basic stuff. Actually, we saw that the tool list is working. But it's kind of like just okay because I have no integration with Firefox OS at all. I have no integration with the phone at all. So what have we did? Because we said, hey, HTML5, it's beautiful. HTML, really nice technology. But again, as I said, we don't have everything we need to create to have a good integration with the platform. So what have we did is that we had what we call the web API. So web API, our goal is that now it's working in Firefox OS. But we work with the W3C. We work with a standard buddy to be sure that those APIs won't be just for Firefox OS. They will be part of some point of the standard. If the standard change, we're going to change Firefox OS to reflect the standard because we don't want you to build Firefox OS application. We want you to build web application that's going to work in Firefox OS. Because Firefox OS is web-based. So I told you about like three level of web APIs. There's the first one called the regular API. Those are basically security level. So when we think about regular API, we have things like alarm API, ambient light sensor, battery status, index DB, push API, web FM API for the radio, web payment to do some payment stuff with JavaScript. So all those things, all those APIs, they're available right now. Those API, you can use them. And what is great is that you can use those APIs in OS application if you OS your application. So we don't have to verify your application. We don't have to certify your application. But you can also use them in a package application. Let me show you a first example. So there is the ambient light sensor. Could be useful if, I don't know, you're creating a reader application. And if the people is reading in the dark in the room, you may want to change the font or change the background. So it's not like that white background that just killing your eyes. So it's not something you can do with HTML right now. With web API, I can do this using JavaScript. So I can do windows that had even listener. I can just have an even listener on device light. And I say, okay, just call that anonymous function and with even dot value, I'm going to have a value of the power of the light around the device in Lux. So that's going to go from zero to, I think, 10,000. That's like really like it's totally dark or I'm going to go blind soon. So you have those values. You can get those using JavaScript. So after this, you use this to change the background or do whatever you want to do in your application. So let me show you on the real device. I'm going to start Java application to show you what's on my screen. So you're going to see that the refresh rate is not... Yeah, good time to update, dude. You're going to see that the refresh rate is not the best ever. It's not the phone. It's really the application that I use to show you what's on my phone. So it's not Firefox OS that is that slow. It's really a brilliant force screen. So what I'm going to do right now, I'm going to add another application called the Firefox OS Barilla Plate. So this is an application that you can get on GitHub. And this is basically an application that includes a lot of APIs already. This is only a demo application for developers that want to see how it's working on a real example in a real application. So what I'm going to do again, I just had that Firefox OS Barilla Plate. I had it on my computer. What I'm going to do, I'm going to disconnect the simulator. I'm going to click connect to my real phone. I'm going to say yes, okay. So now my HAP manager is connected to my real device. So again, I'm going to push my application, my new application, Firefox OS Barilla Plate to my real device. You're going to see it on the screen to the left. I can put this front right now. So what I'm going to do is I'm going to start that application. What you can see right now is that it's really not the most amazing application you will ever use in your life, but really useful if you want to start to develop a Firefox OS application and use those web APIs, because you have mostly everything you need to understand. And if you go look to the code, you're going to see that it's really just about those things. So you're not messed up with a huge application that have another ton of functionality that you don't want to see. You just want to see what's happening behind the scene for those guys. So let me find the check battery. Let me show you. So again, using JavaScript, I'm able on my real device to see the battery level. This is the two that I created in that application and the fact that it's charging because it's connected to my computer. Again, using JavaScript. So it's not something you can do right now. If I'm not wrong, I think it's now available in Chrome or at least Chromium. Maybe someone from Google can say that I'm a liar or not. But you know, so it's just to tell you that those APIs, yes, we started some of them. We created some of them, but our goal is not to just make them available in Firefox OS. And if we go see the Firefox OS boilerplate, I can go into JavaScript, web app, if I'm looking for ambient. You're going to see here that there is a lot more line of code than in my example. Just because I did some query selector. But actually what's really important is the on-device light. So I have my listener on the device light and I say, hey, I want the value of lux. And actually I just shown you the battery status and I was talking about the ambient light. But same thing, you get the point. I can show you the ambient light. Yeah, and nobody was like, everybody was like, yeah, this is so cool. I can take the battery status with the ambient light. Are you sleeping? This is boring? I can sing. You don't want me to sing. But I can. Where's the ambient light? Hey, ambient light. Yeah, actually, the point. So you're following. This is good. So if we go ambient light, you're going to see it's 225 lux. If I put my n of her, that's going to go near to zero. Who said that? Oh, I hone your beer. So yeah, so actually, again, using JavaScript. Pretty amazing. No, no, it's not in Python. So it's not amazing. Oh, I don't want you to have blown up. Okay, yeah, go for it. Go for it. Go for it. So battery status. This is pretty cool. So again, JavaScript. I don't go too far in that one. I can do a lot more things that I did in my boilerplate. Again, by doing navigator.battery, I'm going to be able to get the battery level. I'm going to be able to know if it's charging, how much time before that's going to be totally, my battery is going to be totally dead. So that can be useful if you're, I don't know, creating a game and you want to be sure that you're going to save the game before the battery will die. So again, using JavaScript, always even listener, always interesting to do my stuff. And using JavaScript, you do this, you had this in your Firefox West application and you're going to have a better integration with the platform. We'll skip the demo. There is another level of web API called the privileged web API. So you have things like browser API, contacts API, device storage that you may know if you already do some stuff, system XHR. And those are great, but you can use those on hosted application because there is another security level. So you're going to be able to use those if you create a package application. Remember if you create that zip and you upload this to the marketplace, we're going to have to certify your application because we don't want some evil developers to do some evil stuff with those API. So this is the only restriction. But again, you can use this by doing a package application. There's a browser API. And that sounds kind of like a little bit crazy because there's a browser API on Firefox West that is kind of a browser in itself. And there's also a browser application in Firefox OS. So why a browser API? That could be interesting if you're doing a OAuth authentication. So in my case, actually, I'm working on a remember the mail application. This is a to-do list. I don't know, I have something with to-do list. So I'm creating the Firefox OS version. And to make that application work, you need to have access to your data. But I don't want your username password. So what I'm going to do, I created this is the comeback of iFrame. This is the only time I like to see an iFrame in the page. So you can create an iFrame. And by using the keyword must browser, you're going to tell Firefox OS that you're using the browser web API. That's going to be interesting in the case where in my case, you open my application, you already have an account on remember the mail. I'm going to point you in that iFrame to remember the mail. You're going to enter your login password. You're going to say, hey, yes, I want to give access to that application that Fred is doing to my data. You're going to give me access. Remember the mail will send me back to a link with a key in the URL. So what I'm going to be able to do, again, with JavaScript, in my case, I use the must location change. I don't know if I can point this the other side. Must location change. And what I do with this is that when my function is called, I know that the URL changed. I just look at the URL. If there is the parameter key, I just grab the key. And after this, I'm going to be able to grab your data without using a username password because I have the key. And this is what I'm going to use to call the remember the mail API. So this is the same thing for Twitter. This is the same thing for any application using OAT. So this is really interesting to do this. And after this, since I have your key, I don't need that iFrame anymore. Just remove this and do other stuff. And it's working pretty well. There is also the certify API. And those are kind of tricky. Because you can't use those. It's only for application, part of the OS or application that the OAM are creating when they are releasing phones. So why I'm taking your time to talk about certify API that you cannot use right now? The thing is that there is something called web activities that will help you to use those APIs. But what is great is that those APIs may not be certified forever. At some point, we may don't grade the security level of those. So things like camera API, web SMS, web telephony, web Bluetooth, they may go privileged or they may go regular at some point. So this is good to know that those things are there. But I saw some faces when I was talking about camera API say, hey, I cannot use the camera. This is a CEO OS. I cannot use the camera. No, you can't. There is something called the web activities. And this is basically your way to give you access to something that may cause any trouble, security trouble. I'm not a security expert. I trust those guys behind Firefox OS. They're just crazy coder. But they create something called web activities. And I'm going to give me access to those activities called the dial activities, the configured activities, the record activities, the pick activities. There's really a lot of activities and you can use those in package and host to the application. But how can you use those activities? As an example, if I need a picture in my application, I'm going to use the pick activity. So I'm going to do new mouse activity. The name of my activity is going to be pick and I'm going to say, hey, I want a GPEG. At that point, what's going to happen when that JavaScript will run? The user will see the screen to the right. The user will have to do the last step to select either from the wallpaper, from the gallery, or use the camera to take in your pictures. So you don't have to worry about where the picture is coming from. I don't care. I just need a picture to make my application work. So at that point, the user will select something and I'm going to handle the answers from the user. Either the on error, if the user canceled the request or the on success, if it's working while the user selects something, I'm going to be able to use that image and do whatever I need to do in my application. So in my case, I'm going to be able to still access the camera or the gallery, but the user will have the last word on what you're going to be able to use in your application. Same thing with the dial. So I have an activity for the dial activity. I'm going to do new must activity. The name is dial. I can also put a phone number there, but I don't want the developer to be able to call anyone without my, without the fact that I want to call that person. So what's going to happen with that one is that again, the telephony application will open and the phone number will be there, but the user will have to press the green button himself or herself to be sure that a call would be made. So again, this is a security process. So you can do this with web activities. Same things. You can do this with contacts and all those activities. What is great is that you can also be an handler of those activities. So not just taking some stuff from other application, but you can give some data to other application. In my case, what I'm going to do, and it's where it's important to talk about the manifest file, I'm going to add in my manifest file, hey, if there is an activity and this is a pick activities and the application is requesting GPEG or PNG, I can do this. So you put this in your manifest file, you're going to launch NDEX.html when that's going to happen and my application is going to be a nendler. So I'm going to be able to give that out to another application. What's going to happen is that if my application open, I'm going to be able to check, hey, is my application has been open because of an activity? If it's the case, was it a pick activities because this is the activity that I'm managing and oh, yeah, the user is requesting a picture, I'm going to send a picture to the user by using activityrequest.postresult. So I'm going to be able to, you know that screen that I show you with the camera, the wallpaper, and the gallery, you're going to be able to have your application there. So this is more opportunity for you to have your application used more often because you're going to be able to provide data to your application. What is great is that right now if you use web activities, your application is going to work on Android if you have Firefox installed. So if you have Firefox installed, it's just because we need to have that kind of VM working the application to be sure that those activities will work on Android. But right now you can do this. So if you build the Firefox with this application, you use some web activities, you're going to be able to reach more people because those applications will work on Android. So how to start? I talk fast. Probably the first time in my life. So maybe before how you can start, why you should start to create Firefox with this application. So there's many things because it's not available in North America. So in North America, so why should I like create Firefox with this application? Actually, first, I don't want you to create Firefox with this application. I want you to create web application and this is really the big difference behind it. What is great is that you're going to have access to new people, new possible customers. And it's not because those people cannot afford 500 box phones, they cannot afford 1,000 box phones, that it cannot afford application. Like the cost of the phone is really high. It's really too much for most of them. But 99 cents, 2 box, 5 box for an application. It's not because they don't buy the latest and the greatest in terms of a smartphone that it cannot buy an application. And this is great because you can monetize your application on Firefox OS. It's not because it's Mozilla. It's not because we're a pro open source that you need to give your application for free. You don't even have to put your application as open source on GitHub or whatever you want, Bitbuckhead. You can have closed source. It's really your application. You don't even have to publish your application to the marketplace. Of course, I highly suggest you to do so because that's going to be the first place that user will look for your application. But you can start your own marketplace. You can just put an installed button on your website and that's going to work. What is great also is that, as I told you, you can sell your application. So you can do an app payment. You can just sell your application, give it for free. You can have ads. And what is great is that when it comes to payment in the country where we launch, in the country where we have web payment, you're going to be able to use web payment and people won't need a credit card. So that's going to be charged in the operator bill. So a really good advantage because most of those people, they don't have credit card. So that's going to be interesting. But we don't restrict you. So you can use whatever technology you want. If you already use PayPal, use PayPal. We don't restrict you to use any technology for payment either in app, either selling your application. Same thing for ads. Use the services, the technology you want. That work with HTML, CSS, JavaScript. You're good to go. You use that technology. You put ads in your application and you're making money. It's good for you. The only moment where we will take some part of the money is that if you use the operator bill, we're going to take about 20 percent. And it's because we need to pay the operator. We need to pay the infrastructure. But this is the only time that we're going to ask you money. We don't even ask you money to become a developer. You don't have to pay for an IDE. You don't have to pay for just to be a developer to be able to publish to the marketplace. So as I show you, I hope that most of the time, that's going to be like running a unicorn. That's going to be beautiful. And life will be beautiful. And you're going to see a lot of colors and you're going to be happy in life. That should be as easy to port your web application and web game to Firefox OS right now. That may not be the case. It's why I'm there. It's why my colleagues are there. If you have any problem, please let us know. If you're using Cordova or PhoneGap to build your mobile application right now, this is nice because we have a Firefox OS support right now. So we don't support all the plugins, but it supports most of the popular plugin. We talk about the camera, the contact device, the device motion, your location, sorry, orientation, vibrations, all those APIs that you can use on Cordova on PhoneGaps, they're there. So that seems a little bit meta to use like HTML to create HTML application that will create HTML application. But at the same time, it's really good because if you want to target many devices, many platforms, you can target all those devices by using PhoneGap. So this is really interesting because you won't have to maintain also a Firefox OS application. You can just use PhoneGap and Cordova. We have a program for people using Cordova and PhoneGap. You go to that URL, J.mp, Muzz, PFA, and basically you just, if you already have a PhoneGap application or are using Cordova, you subscribe to that form. We're going to review your application and if you have all the criteria that we need for that program, we're going to give you a free phone. So you're going to have to publish an application to the marketplace, but we're going to give you a free phone. So really interesting. So what is great with Firefox OS? It's really easy to start because you already have a tool in Firefox. The administrator is there. You will have to download the simulator as an add-on, but it's free. It's there. You have 1.2, 1.2, 1.3 different versions. You can use whatever IDE you would like to use, either Sublime, Notepad, Visual Studio Naming, any IDE that you can use to create some HTML services as a JavaScript code. You can do it with Firefox OS, Firefox running on any OS. So you can do this on Linux, on Windows, on OS 6. So everything is there for you. We also have, actually, how many people know that we have some developer tools in Firefox? And I'm not talking about Firefox. So we have the Firefox Web Developer Tools. It's part of Firefox. I only suggest you to test those. There are really great tools. You can debug your application on Firefox OS also, either on the simulator or on a real device. So it's really interesting. Again, it's already in the browser. You also have the Mozilla Developer Network, MDN, any documentation about HTML, CSS, JavaScript, some stuff specific for Firefox, some stuff specific for Firefox OS. Everything is there. Every time you want to know if an API exists, just type, just search on MDN. Just go and Google and type any API, MDN, and you're going to find the link. Everything is there. It's great because it's an open Wiki. So if you find something that is not working, you just have to do the documentation, modify the documentation, add some stuff. It's open like everything we do. Stack Overflow. Stack Overflow, it's done to you. If you don't know Stack Overflow, it's probably the best forum out there for technical question. What is great is that right now, we are monitoring the Firefox OS tag. So we have the tag Firefox OS. If you have any questions about the platform, you can, of course, send me an email. And I will be more than happy to answer you. But if you go on Stack Overflow, that will be even more amazing because, first, I'm going to know that you asked a question there. I'm monitoring that Firefox OS tag with my colleague, Jason. And what is great is that we are building FAQ. If you just send me the email, I'm the only one who got the email. You're the only one who's going to get the answer. If you do this on the web with Stack Overflow, everybody will benefit from your question but also from your answer. And I'm not always available to answer my email. I'm traveling a lot, doing some conferences. Sometimes I'm trying to take some vacations. So if I'm not there, if I don't have the time, if I'm just sleeping, because that does not apply to you, but we are not in the same time zone, that may happen if I'm traveling. Someone else, there's a huge community, so we highly suggest you to go on Stack Overflow. But if you're too shy, if your question is kind of embarrassing, just send me an email. I'll be more than happy. You can even send me an email with the link of your question. I just want people to use Stack Overflow. The Firefox OS boilerplate, again, it's on GitHub. If you find an API that is missing, if there's something that is not working, just go for it. It's open source on GitHub. It's a good starter, not a starter kit, in the same kind of like my starter kit that I used to show you the example at the beginning. But it's really great to see all the APIs, see all the functions, how it's working, see a live example. And this is only the beginning. This is only the beginning. As I told you, we had the idea two years ago. We launched our first one one year ago. It's working well. It's only the beginning. There is more APIs that will come. There is more features. There's a lot more things that will come with Firefox OS. So I hope that next time that you're going to build, you're going to think or you're going to have that discussion with your customers, with other people in your team about, hey, we need to target mobile. What I'm going to do is a native application. Is it the web application? I hope that the first answer would be web, for many reasons. Because now we have the API to do this. But even if you don't think about this, when you build for a specific platform, you're seeing to all other users that don't use that platform, I don't want you as a user. I don't want you as a customer. I was frustrated for years because previously, I was at Microsoft and I was using a Windows phone. And I had all the application that I needed. But every time that the new cool services, the new cool application was going out, sorry, it was for iPhone or Android. I was like, is there any web application? Even if it's the minimal stuff, can I use your services? And I was notable. Now for FoxOS, again, it's web. Any web application is working well. Oh, no, it's working on Android. Oh, no, it's working on iOS. So after you started with the web version, if you do a great job, there's a lot of things you will be able to reuse, all your web services, some part of the UI. And you're going to tell everybody, everywhere in the world, you can use my application. It's working in a browser. That mic's going to, I'm going to kill that mic before the end. So there are some resources. That's going to be online. But basically, if you're looking for something, please ping me on Twitter and LinkedIn, Facebook, send me an email, look on MDM. Just use Google. And you're going to find what you're looking for. If you plan to build an application, port an application using PhoneGap, Cordova, you want to apply to the program, you just have any more questions, please let me know, send me an email, whatever you can do to reach me. Small promotion about the user group. We talk about user group at the beginning. There is a new user group in Montreal called Yield Dev. You can go on yielddev.ca. Actually, this is not a user group. This is a networking group for developers. It's Montreal, it's Montreal-style, French, English, Francophone, Anglophone. Everybody's welcome. And the only goal of that group is to get developers together. No matter the technology you use, Python, Java, JavaScript, HTML, CSS, or no matter the technology you use, you go there, network with the developers, have a drink, have a soft drink, whatever you want. And you go there, meet other people, find other people, talk about technology, talk about non-technology, whatever you want. We had the first meetup last week. Yeah, last week we had like 75 people. We have like more than 200 members right now. So it's really about networking. It's really about talking to people. So if you'd like to do what you do after Python, go out to the bottlenecks, have a beer, this is the same formula, but instead of being just Python people, it's people from many, many, many technologies. So feel free to join. This is a nice group. This is free. And we're going to have a lot of fun. So that's going to be monthly. Pretty cool. So for our people from Montreal or near Montreal, we did the first one of Peuble Linois. It's a pretty nice place. We had the private space for us. Really good drinks. And they have non-alcoholic drink and alcoholic drink. I'm going to start to speak in French right now. So I'm nearly done. Again, if you have any questions, feel free to send me an email at farberatmosla.com, on Twitter at Farber and me on LinkedIn if you want. And there's also, that mic's killing me. There's also the axe blog. If you go on axe.mosla.com, this is our technical blog at Mozilla. This is all about technical stuff. So JavaScript, CSS, HTML, some things specific to Firefox, some things specific to Firefox OS. This is just technical blog posts. So really interesting if you are technical and you are. So and last but not least, out of comfortzone.net personal blog. My slide is going to be there. And that's it.