 Italian don't like pineapple pizza, just to be sure. Okay, let's start. The first point is about why there is the dodge fox of fire dodge starting in a serious talk. Just to start with a good mood, because it's one of the most famous things when there was released Fire Force 1, too many people want to keep to use this icon. There are lots of work paper like this case, so you can find it on the internet if you want. So, next start. Fixing what Alex said about me, I want to do a little bit of introduction just to say that I am a developer, like probably many of in this room. So, I don't know how many people there was the last year about following, not this talk, but similar about web extension. How many there was the last year? Well, one, two, three, okay. So, how many are there JavaScript developers? Oh, okay. Half of the room. So, when you come back at home after the first day, you can develop an extension without issue. And now we will discover why it's so easy. Jump back to me. I am involved in different offices project and the fun part that my first extension that I developed was for the WordPress community to help them to improve the translation process in the website. So, it started with something that was needing another community with another community. So, extension lets you to improve the user experience also of websites that are not yours. So, I think that as Firefox user, probably there in this room, I don't know and I want to know, but as browser users, this probably true, we know that in the case of Firefox, Firefox is famous for the extensions. And in the long life of Firefox, there was a lot of extensions, like in this example, Firebug. I think that all the JavaScript developer used once at least, because there wasn't initially this kind of tools. There also was running also Internet as Power 6. So, it was something, oh my God, yes. But now we have Firefox developer tools integrated in the browser, but then we have also session manager integrated in the browser too. We have the tab browsing, something cool in that period, but one of the most interesting things is test pilot. I don't know many people know about Firefox test pilot, but it's very important, why? Because in Mozilla, the Adobe ecosystem is very important because Mozilla itself used the technology to improve our user experience. So, it's not one that develop an API and don't use it. No, they use it, so they improve it, because they need it. So, for a developer, means that we are using something that works. And it's something important for a developer because we don't have time to waste in something. So, starting from this point of view, we know that Mozilla used the Adorns API to release in Firefox system Adorns, like description tool that started as Firefox test pilot. And if you want to see other experiment, go to the website and install on your Firefox new experiments. And one of the most important things now is that you can also develop developer tools for Firefox that use the same API of Chrome for the Chrome developer tools. And you can extend that to developer tools. This is something for a developer, amazing, because developers usually develop tools to develop better. So, it's like an inception, but it's very important for us. And another point that we are to enforce the fact that in Mozilla, Adorns are very important is the marketplace. As developer, we know that it's important to have users to see if our work is good or not. In Mozilla, the code name is HEMO, that is not HEMO. In Italian, it's the word for love, but it's Adorn Marketplace, just to be sure. And these are official statistics about the last year of the HEMO project. So, let's start with few numbers. We have that half of the Firefox user at least has an Adorns. So, it means that we have probably a marketplace with a lot of users. Next point, actually, in the HEMO, we have 26,000 Adorns. I can say again, a lot of Adorns. And we have also a lot of developers, 9,000 developers. But another point very important is the 12 million monthly users on HEMO. That, again, it's very more a lot. I don't know much, but a lot, a lot. And this means that when we are releasing an extension, we can reach a huge number of users, but be customers because there are a lot of services that do extensions, too. So, with these facts, we can think that right now that what we are doing, probably someone will use it. So, this is an example of my most famous extension. So, it's always better to start with real cases. It's a social share extension that implements the feature removed with Firefox 57. As you can see there, I released the extension in September. Now, as these users, and I am not a beast, I don't have a beast. So, I only uploaded on HEMO. I don't know many people can understand why there is this huge peak in the statistics. Yes, exactly. In 14 of November, there was the release of Firefox 57. And there is a new tool of Firefox 57 that suggests to users to try adults. So, a lot of new users in one day. But that's in the next week. And this is funny, so this part, because many people don't understand why every week there is peak, a lot of peak, another peak, a lot of peak. Because usually people on the weekend don't use Firefox because maybe they have to work or they have a family so they don't use the computer. Then not all of the people is a nerd that work all the week. So, we have that Firefox to know how many users as an extension daily send a ping to HEMO to say whether these are users as this extension at this version, there are new versions. So, in that way, Mozilla truck, in anonymous way, of course, the downloads. And these are the statistics inside the HEMO portal. In Chrome, these doesn't exist. So, but I'm gonna say that because I have Mozilla and etc. But these two doesn't exist. Also, the interface is the most horrible things that you can see in the web, is the Chrome Marketplace in the backend. It's the most horrible things that you can see. Now. But it's true. It's not me. It's true. The next point is that last year, I started with this quote. In another way. I say Firefox today is the most customizable browser that exists. But after the release of Firefox 57, I don't know many people saw already blog posts, Twitter. Many people was not happy about the percussion of many things. So many people will say, I cannot use my lovely extension that I'm using in science forever because it's not developed anymore. Or this API is not supported. So many people was getting back to a previous release, complaining somewhere. So the question now is for users, as we are users, Firefox still to be the most customizable browser. Actually, yes. And now we will see why. Okay. We need to start about thinking that soon it will become our diet. All technology doesn't exist anymore for developers. It was boring, complicated, difficult to understand. Now we have the new technology that is a part of Chrome, part of Hedge, part of Opera. Of course, different implementation because Firefox is most customizable. We have also the multiprocess support on Windows with a different process, working progress us for the other operative systems. We have the support on Firefox for Android. Firefox for Android is the only browser on mobile that support extension. So you can have a block origin as an example on your Firefox. So today we have this stuff. And this is an extended screenshot of the end documentation about all the API that are now available. A lot of things. And it's not enough because I want to show you the most cool API that we have right now. Container started as Firefox test pilot project. Now it's integrated in your browser. What is the container API? Is something pretty useful to show a session between a group of tabs in few words. And you have an API to integrate it in your extensions. Next we have the page action, a way to show a button in the address bar that you can develop when to show and then open a model. I'll give you an example again. This is my social extension. Pretty simple. It's on a frame that do something. And you can use all the JavaScript API and library that you prefer. We have also one of the most asking things on the internet. I can do an extension that communicate another extension. Yes, you can do it. There is an API that enable to do that. We have also the way to change the new tab on page with something else. There are cases on Chrome that are different, but in Firefox doesn't exist a page for that. So it's not supported in that case. We have also the way to use full-out authentication from Firefox. So we don't need to use a library because as an example this amazing extension that let you to access in real time to notification on GitHub automatically do the authentication with Firefox. So for a developer it's very easy to do authentication. This one is the most interesting things because you can have a binary on the computer that communicate with your browser in a privacy way. We can say that there is a JSON the application is a binary on your computer and we have the web browser that communicate in that way. This is an example of how Firefox understand what is the binary and what extension can access and the JavaScript code. It's pretty easy for us to do an extension that do that. I want to show you a few examples. This is me on my Cappdia environment that communicate with my phone inside Firefox. There is an extension there is also a key pass extension as an example for password manager. There is an extension that's enabled the MIDI API in Firefox so you can find many of them. We have also support for print review and read more of the API if you want it. I have to run because the time is not so much. But this is very funny. I don't know many people who know DOOM, they've done a fork that when you kill a monster, kill a process we have a version that kill tabs. Because the API enable us to do it. Also this kind of things. And this is an extension it's a bunch of HTML, CSS and JavaScript stuff all together. We have the ID card that is playing the data and what extension can do like permissions the files that have to run called the scripts. You can define the pattern, the file to load etc. inside the manifest. Next we have the background scripts. These are scripts that communicate behind your tabs, your developer tools as an example because there is a sandbox. You cannot have an extension that run everywhere. You have an extension that you can run everywhere communicating between different files. So background scripts are pretty useful. We have content scripts that is one of the most used I think that everyone there has at least an extension that improved GitHub. Usually it's a javascript injected in a page. And it's pretty easy to do an extension like that. We have the browser action that is again is like a page action but it's a button that is always on the browser UI. And we have also a list to define on the manifest about the file that extension can access. So the extension cannot access all the file on the computer only the file that we define in this manifest. So it's safety for the users. Another point was the last year was the review on Emo because it was manual. So when we have to release a new version, it might be a bug fix, we have to wait someone that reviewed the code it requires a lot of time that in the web is something not acceptable. Now is automatically for a specific kind of API is manual again but it's very fast to have a new release and be very happy about this work because it was one of the most problem for me was that the Chrome is automatically, they don't care about anything about strict code policy, LinkedIn, they don't care about anything. In Mozilla, in the Emo you have a lot of warning about what your code doing wrong. So it's acceptable for us to developers to see that this code is bad. It can be better. And this is a lot of things that we have in Firefox 57, Firefox 58, Firefox 59, try to do it as one slide recap of the most cool things that you can see. As an example the sidebar, because Firefox is the only one that can have a sidebar, you can do it with an extension that use the sidebar. You have as an example now you can embed an extension experiment with an extension again. There is also what says one of the most asking things was to have back the vertical management for the tabs. Now there is the PI in Firefox 59 that enable developers to hide the closed open tabs. So there is a lot of working and the best way is to check that those block to see what are the most cool API that are coming. And there is also there are examples because developers have a lot of things to do and now we have 45 example of complete extensions available, documented on MDN and when you are opening an API you will find an extension that using this API so you can see the code working inside your browser. Complete everything documented. Last year was not in that way now we have that. Documentation is one of the most things boring to do for a developer but someone else do it for us. How you can try it? How you can engage about double dot debugging enable you to debug to the extension inside Firefox and also your development extension using this button. So it's pretty easy download the extension open and automatically install it temporarily until you close Firefox. Next we have a tool for command line for people that love command line. How many lovers develop the command line there? There is a tool that enable to do a lot of things signed extension, LinkedIn, watcher load extension of Firefox for Android a lot of things in a tool. So there is the UI way, command line way it's your choice to do an extension. I've done a script because as I said Chrome marketplace is horrible you cannot have a graph about the statistics of the whole. So I've done a script that scrape this data and cross this data with Firefox so you can see what is the best browser for you for your extension. And now we have also a new interface on Emo. This is the add-on developer hub with few extensions that I've made with also new logo, graphic etc. And we have also the new interface we have also stickers asked to us with the new octopus mascots that is more mobile friendly and it's more easy to find extensions. I like it a lot instead before. And this works of course also mobile, better than before. There is also a website for people that say ok I have this Chrome extension works with Firefox. Probably yes, you can upload there. Automatically it will say ok it's working or not. So pretty easy for us to check also easy to load inside Firefox. As an example the KDE connect extension had the support on Firefox because I opened a ticket the next day was on the marketplace it has only to upload on the marketplace. So it's pretty easy to have today an extension from Chrome on Firefox. There is also a standard in progress. Yes, they are working. We know that literacy is very slow. They are working. We got update on this course. They are starting working again after Firefox 57 because it was like stop-ed because the employee was busy. And now they are starting working again on this standard. Think about it, a standard to develop an extension for all the browsers. In something that I think ten years ago was CFI probably yes. And I want to give you to you a few links very interesting. This course, this category is a forum with all the stuff, all the projects that Mozilla is doing. You can find common voice, Mozilla and etc. There is also a section for development at dawn. So you have questions you can write there someone will help you. So you can reach developers and there is also other links. Of course the dawn's blog is one of the most important resources to get updates about what's going on. And now it's time for questions. Sorry I have to run but there was a lot of things. Firefox 57 is pretty cool. Yes, actually there are different. I think personally there are different API working but it's better to say about web experiments they are trying but there is probably more information about the planning because for a Mozilla you have to check all the bugzilla tickets it's something complicated to do. There is the blog and dawns you can check the new release and personally I think that a new implementation to change the browser setting from an extension are very interesting because you can do an extension that interacts more strongly with privacy settings in Firefox as an example than before. And I think at the tab, the tab hiding API was one of the most requested with Firefox 57 because there was a lot of user that was using the vertical system for tabs. So personally these are for me the most cool. For the end of the year I have no idea what are the plan but there are a lot of things to do to cover the gap with the previous API. There are other questions. Okay so I expect that when you come back after the first demo you will develop an extension of course and release for us because we are users and we need the extension to improve easily with a button to install an extension. So thank you for your time.