Firefox and WebExtensions
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Scasciafratte, Daniele
Do you know that Firefox now have a new technology that simplify thedevelopment of an extension? And also use and extend the API of Chrome? Yea, Iam serious you can do an extension for both the browsers! WebExtension are the future for addons in Firefox but this is not enoughbecause they works also on Chrome, Opera and soon Edge without any changes! Think about it, the cross browser addon issues are only an old nightmare! Inconclusion because all this amazing news and how it is easy to extend Firefoxwill be available new APIs to customize the the Firefox experience in thisyear.
 community. So I Merged my needs between a community and another one. And I thought that something is especially in Italy. In Italy, so they are Italian, find me. But let's start to talk about the station because we are here for that reason. Firefox is famous for extension. I think I remember the most important feature for Firefox was disrupting the tabbozies, for example. So as we can see, as I said, Firefox is famous for extensions. Because extension itself, feature of extension, sometimes became feature of Firefox itself. So one of the example, why an extension platform ecosystem as you prefer are important in Firefox. But I said that because it's true. Firefox is the most important feature in the market now. Because there is not only the older competitors, you can add only a button in that bar or improve the URL bar. Because you can change many other things like the download manager, the hardware, teams, as I said, all the features. So actually it's the most important feature ever, which is true. Not because I am a number dealer, but it's true. And another example, why addons are important also from the dealer itself. I said we have the faster system of dawns. As I said, that tool, so maybe it will be an addons for Firefox itself. But dealer try to implement features as addons because that way we can try to disable, we can move it, we can ship faster features also as call features as developers. Because not only all the people is a developer, so maybe I don't need it. So that's a pilot for me. This is one of the best new projects because it's the first time I see that you can try new features. And you can leave a feedback because usually when user have service or web app or something else, you can have new one and join the better program. Okay, but you cannot have a salary sometimes. I cannot say what's going on, what I liked, etc. So these are two examples, but Mozilla, my extension are important in Firefox. And there are also a few data that maybe I'm interested because I want to see that my station is used because I'm a volunteer. I use me full time. So we have a few data from the M itself, the M is the addons that Mozilla got off the site. We have the 40% of Firefox use addons. There are millions of users of Firefox, so there are millions of people that can use my addons. There are many addons now, but there's a number that after web extension is growing every month. There are many extension developers, but there's not so many more to users on M. We are our customer of our extension. But this was before, it was a problem. I am feeling this world because there was a problem that the new technology or the technology of Firefox itself are old, respect to the new technology of today. And XML today is not using Mo, use JSON. Okay, but the Firefox interface itself is done with XU. It's XML to do the interface. And we want to do an extension with that framework. We need to act with that kind of things. We use CSS, et cetera. Next, we cannot use the normal JavaScript to standard we already use. So it's a block of storage inside in Firefox. And then different names, different poverty, blah, blah, blah. So there is another framework. So we have a developer. I said JavaScript, whatever. We need to know new stuff. And when you start, it can be cool, but sometimes it can be very boring. And sometimes it can be very difficult. And I tried so many times to develop an extension without these kind of things. No, that doesn't work. But actually, with the extension, we have completely changed the actual status of the ecosystem. Because for developers like us, with only HTML, CSS and JavaScript standard, I say standard, we can do an extension. And there was animated one, okay. I will say standard technology. We love standards. There are many track it is for them for standards. And next, we have another particular thing because we say it's a new technology. We love documentation. Now something that's not going to flow. Oh, my God. I cannot do anything. But there is many things about the structure because web extension is the Chrome API. So we can find Chrome, K-Want, already question, ready with code. I started that way. So we have the poverty with Chrome extension API. But they say it there is also the documentation for many things. So we find the documentation. At Chrome, that's in the end because we want our documentation. But there is also another thing that we have electrolysis. We build our old framework. We build our code to support electrolysis. With the web extension, we don't care because they are already supported. We next have the support for Firefox for Android. Firefox for Android, as I know, is the only mobile web browser that supports extensions. So we can have an app block on our Firefox for Android. And our work is also Firefox for Android. So only the desktop is not enough. We can also have mobile. We have also sandboxing that is improving. But the good part for us, because there was a time when we had to develop an extension for Chrome, an extension for Firefox, as a time with the Windows, with DDLHEL, and many other bad things. Now we can have one code that is everywhere. We want Chrome, Opera. We also working on Edge. And also working on KT, WebKit, I already mentioned this, they are thinking about it. So for us, we can have not only Firefox or Chrome, but also a huge marketplace. But the reason I put it here is that we want to build them all. Because for developers, it's amazing. Because it works. I started in a station, I developed Firefox, but it works like a charm on Chrome. So this is practical. So out of the box, you can have all these kind of things. You can also try Chrome extension. Probably because the party is not complete. Actually, it works on Firefox. So what is the actual status of the party? And I want to talk about any VI because I have no time. I'm Italian, but I can talk so much. But for you, it's not good. But okay, there are many VI. For example, I love the first point. I am like a developer. I'm like a kid at the Christmas waiting for Santa Claus looking at the door when he's coming. Because I'm waiting for, they have tools for VI. Because I want to do developer tools too. And it's working. They are working on it. But these VI, they're working on some of them already completed. It is not if Messaging is amazing. They're already available. But it's on the outside. You can find the status of every single VI with the ticket on backzilla. So you can try cavity as question because the teams are less people. They are also behind these guys. These people, they can't even do problems. So let's talk about the station. It's like which codes? We have these kind of things. And you can tell, well, it's not so much different from another project. We have files. A little bit of files. But let's look at these kind of things. For a developer, remember like a package manager, unfortunately, we lose so many times with package manager. We have to work in many languages. But the important part of this, and I want to talk of the rest, is the counter script. Usually, the main extension only changes behavior in a page, on a website. This is the main level of extension. And that is very simple. This monkey became famous for these kind of things. Now we can do it to explain the URL and the fact to read it. It's automatic. Even to code. It's already there. So try an example to move this monkey script as a station. And only to write this file. So you can find it's very simple to create a station. But there are many other things. Because counter script is a script that runs in a page. There is lots of account scripts. A script that runs inside the browser because they want to communicate to different pages. And I frame in another page. What can I do? I can use a script to run inside the browser, specify the manifest, auto-loaded from Firefox itself. That do stuff. So these kind of things. As I said, the results of counter scripts, very simple. I see I can write an extension in hour now. Because I can test in the better of the tools of Firefox. We just scratch part of the next second created the manifest and plug it on M, etc. And this is one of the problems. As I said, Firefox is the most custom-designed browser. But the only thing that you can add is that button. And sometimes Chrome is automatic. That's when you cannot specify in the manifest. It's automatic added. But in Firefox, this doesn't happen. Actually, in the interface, you can add that button that opens up the pop menu. That is an FRAIN. So you can run the menu as a developer usually. And this is one of the things that I review now. These are already available. Because I was forgetting these kind of things. Because we love privacy. And you can specify what files my extension can access. So I have to specify the resources of the JavaScript file, as it says. Specify the manifest itself. So cannot access to strange files on the computer. Security. So I want to add this part. Because we are developers. We want to plug some rare extension. We need someone that look at the extension. And these stats from the HEMO team itself. First, as we can say, there is a very good. Because when you use Chrome, the Chrome Store is very ugly. You have to buy it for the account. The extension is automatically in an hour. So you can say, oh, that's cool. Not so much. Because you can always bug no one. What is high so much. On HEMO, you have volunteers that review your code. They can leave you on the menu with the suggestion or to improve your code. But it's the best thing to do. And same experience, very important. Because I put myself as a developer. But that's the code. And we need the reviewers. So you cannot apply for these kind of roles. And these are stats. Usually, in one day, it depends from the time the QX set. You cannot have your extension approved. With dynamic, I can say thank you for contribution. Chrome, you don't get anything. So we love contributor. And the roadmap, it was also animated, is available from Firefox first issue. So you can already develop and publish on HEMO. You have the SDK for a web extension. I say like a little bit way to move an extension in the new way. Because it's more simple. We have the roadmap. It is planning to activate only a web extension when we release it to Firefox 53 on HEMO. And that planning for the hand of the year to stop to release on HEMO extension with the old way, only web extension. There is actually API. Because I say Firefox is most customizable. I want to do many other things. So we want that system API that planning, that study, et cetera. There is also the side by new teams done as a web extension. They are working on it. And there is also a project to experiment creating API outside Firefox. So you really want an API that can experiment without changing Firefox itself. And you can do it. It is a project already available. And for people that you have called, you can find a GitHub web example to do it often. And when there is a new API, there is an example. After the 30th example of a label on GitHub, you can open Firefox and try it. And then you can find all the files, et cetera, for many of the API available. But there is also some of them that are documented as tutorial on MGM. So I want to know I can find everything on MGM. Why I can try extension? That is Firefox. Also the state but because it was available from the 45. You are told to open about the debugging page and use the program. That way we have a watcher of the files. So when I change the JavaScript files, they are already loaded. Without anything, we cannot solve. They are all bottom to four. Sometimes there is JSON, it is not all right. We cannot solve the bug to open to the bug in the user for the bug. Because they are a little bit advanced. So we are developers. Developers love the command line. So there are not so two for us. The first one is the most famous from the MGM itself. It is a command line to do everything without use the interface. But that's a lot of other things. Like testing, packaging, validation, many other things. It is very well documented on GitHub. So you can go with a problem, et cetera. This is my little script because I started to develop when there was change, et cetera, a little bit script, that package and extension. And check for Chrome, et cetera. But now it is not so much required. And this one I have done because I want to see static of my users. How many people use my extension? I have to open Chrome web store. This is again. Chrome don't have the API to access information of my extension. I have to scrap HTML. And Python is very good to scratch, so scrape HTML. So then I need a script that scratch this data and create graphs of the marketplace. So I run with the Chrome every day. I can see the status between both of the marketplace. One of the last news is this. There is the new developer hub on Emo. You can have a simple approach, a Chrome extension, many other things. Already on Emo, there is a bounce. But in closing, because I think it was very fast, because I probably have time to show a demo. There is also the standard in progress. I don't know actually the status, but for us, it would be finally I can have a standard to develop an extension that already run probably in the future in many ways. But I want to leave resources because we are developer. We want to read the documentation. Don't buy it, but read it. Yes. And there is a little bit of links. As an example, there is an extension to download the extension from Google Chrome in Firefox. There is one of the last news. As an example, I said in Firefox, there is a problem of anti-views that create problems. In the next version, we even have the extension that can load library in the system, because the new API is native messaging, so on, in a different way. There are many documentation. There is also the one more parallel of the channel. You can see the one that we use in the version of Firefox. You can see many of the things. There is also the many list. So people that have many lists, there is a many list. There is also a section on this course. I forgot to write the link. You can find a discourse that was here at the developer tools and add-ons section. So you can ask here your problem asking the question, et cetera. It is a form. So for people that don't like many lists, you cannot have a form. So it was my slide that we tried to run an extension now from the Firefox itself. Because that was very fast. We are the developer. We want to get boring about tech stuff. So this is a page. We can see also a few system add-ons, an example, that are already in the system. But now we can see these cool things. I remember the part where is the examples is I put in a wrong path. When you contribute in different projects, you don't remember where they are. Okay. This is the folder available with examples. You can see there are many of them. There are more of a client tests. There is nothing messaging, nothing messaging particularly, unable to access a program itself in your computer and communicate with Firefox. But it is not injected inside Firefox. It is another process because it is another executable. So you can communicate different applications in the system. What we can do is connect the computer. Okay. This is the most simple one. I can say the most funny. It had a button. There was not this button. We have this button because it says Bestify. We have a simple page that is HTML5 that I have to run in a web page because it is not working. Okay. It is very simple. But the code is very, very simple because only change the document right and attach the image. It is a code script. The results are the one that changes the borderline. But these are extensions. And you can see you can get fun. I started and I want to say my experience. I take the application and I use it from the WordPress community that supports 40 different languages that help all the community to translate the extension. They are glossary. And Firefox. So I have finished the time. So I guess there are questions here. Yes. I just want to speak very loud when you ask a question. And Daniela, please repeat the question. Thank you. Okay. So there are a lot of Chrome extensions. So you can actually work in Firefox. So you can convert them in like one minute. But is there like, it's obviously the problem is that Chrome extension developers don't know the page and run the new part. Is Mozilla trying to engage with Chrome extension developers to show them that they're at the most? Yeah. As you say, in the developers' app, there was a page. There was a section, there is also documentation on MDN. But the developer app had three weeks of life. So we started to promotion about it. I thought I was already, I see people that suggest to move also to try on Firefox. I see also GitHub, people that open ticket, create and improve your code in the work outside Firefox. So I think that in the next month, we will see many more new extensions from Chrome. Yes. Do you know what the timeline for the W3C standardization is? I don't know. The question is, do we know the timeline for the W3C standardization? I don't remember that. I remember the group of study, but I don't remember the status. Sorry. No questions. One at the back there. Yeah. There's something interesting for me. But there's something that's in the documentation. Because the extension has been in Firefox. It was a way to find the Firefox. And then, in my demo, it was too slow. So it doesn't have the same date as the last one anymore. I'm not sure how to say very... Okay. You have a microphone as a line. Can you please repeat because we can't hear you at all? And yet I have a strong voice. Yes, sorry. So I was saying, I think it's a really interesting direction. But I was thinking it was a bit illogical in the presentation because you say that extension are part of Firefox. Everybody, it was made for Firefox, for me, at least it is. But by the end of the year, two thirds of the important hard-on I use that I use every day will stop working. I understand. Again, very well. But I will try to reply. Well, the reason the problem of the change of the API of 10 is true. But the new extension is the future because I showed... Now, the extension is like a wrapper to the old SDK. So for us, when there will be a change inside Firefox, for us, we will not have a problem like before with the old SDK that when the new Firefox extension was broken. With the extension, this problem don't happen because there is a microprapper inside Firefox mechanics. So it's working without problem. I do have to follow everything. I'm a man. So I can answer that one a little bit better. The question was, a lot of extensions will just break and won't work with the new web extensions model. That's basically a question you lose a lot of your extensions, right? I'm not on the add-ons team, but I will give what I think my answer is, is that we're changing the add-on system to make Firefox safer for users, to make things better for developers and to standardize. And unfortunately, during that transition, yes, we will lose some add-ons, but we're working very, very closely with as many add-ons as possible to port to add-ons and to bring APIs into the new web extensions that will accommodate what they're going to do. So we're really trying our best here, but we think this is the future. We think this is a way forward. It's more secure. It's better for users. It's better for developers all around. Firefox will be more secure. It will be faster, etc. So we're doing our best as we make the transition. Yeah. You can try to use a little bit of the time. Why do we not consider more young developers for the app? Because for extension, because I don't believe when you release at the end of the year, you will only release with the scope, which is equivalent to Chrome, I believe. It's the current plan. And then it means that specific extension, I'm speaking, which specific API which are needed for specific extension won't be ready at the time. So when we do the transition, not of extension, we will stop. Why do we not consider to have more long-term overlay to allow people to work on this API which are necessary and then do the transition with less impact for the user? Yeah. Unfortunately, I can't answer that question. I'm not on the Adams team or the platform team. I'll just give my opinion. We put a lot of thought into the length of the transition time, the work we're doing with developers, the work we're doing at APIs, and so on. So the Adams team are actually in the room here. Could some Adams team people put their hands up? Maybe you can talk to them afterwards and get their thoughts on this. Ask them questions. Okay. So we have time for one more question.
 community. So I  Merged my needs between a community and another one.  And I thought that something is especially in Italy. In Italy, so they are Italian, find me.  But let's start to talk about the station because we are here for that reason.  Firefox is famous for extension. I think I remember the most important feature for Firefox was disrupting  the tabbozies, for example. So as we can see, as I said, Firefox is famous for extensions.  Because extension itself, feature of extension, sometimes became feature of Firefox itself.  So one of the example, why an extension platform ecosystem as you prefer are important in Firefox.  But I said that because it's true. Firefox is the most important feature in the market now.  Because there is not only the older competitors, you can add only a button in that bar or improve the  URL bar. Because you can change many other things like the download manager, the hardware,  teams, as I said, all the features. So actually it's the most important feature ever, which is true.  Not because I am a number dealer, but it's true. And another example, why addons are important  also from the dealer itself. I said we have the faster system of dawns. As I said,  that tool, so maybe it will be an addons for Firefox itself.  But dealer try to implement features as addons because that way we can try to disable, we  can move it, we can ship faster features also as call features as developers. Because not only  all the people is a developer, so maybe I don't need it. So that's a pilot for me. This is one of  the best new projects because it's the first time I see that you can try new features. And  you can leave a feedback because usually when user have service or web app or something else,  you can have new one and join the better program. Okay, but you cannot have a salary sometimes.  I cannot say what's going on, what I liked, etc. So these are two examples, but Mozilla,  my extension are important in Firefox. And there are also a few data that maybe I'm interested  because I want to see that my station is used because I'm a volunteer. I use me full time.  So we have a few data from the M itself, the M is the addons that Mozilla got off the site.  We have the 40% of Firefox use addons. There are millions of users of Firefox, so there are  millions of people that can use my addons. There are many addons now, but there's a number that  after web extension is growing every month. There are many extension developers, but there's not  so many more to users on M. We are our customer of our extension. But this was before, it was a  problem. I am feeling this world because there was a problem that the new technology or the  technology of Firefox itself are old, respect to the new technology of today. And XML today is  not using Mo, use JSON. Okay, but the Firefox interface itself is done with XU. It's XML to  do the interface. And we want to do an extension with that framework. We need to act with that kind  of things. We use CSS, et cetera. Next, we cannot use the normal JavaScript to standard we already  use. So it's a block of storage inside in Firefox. And then different names, different poverty,  blah, blah, blah. So there is another framework. So we have a developer. I said JavaScript,  whatever. We need to know new stuff. And when you start, it can be cool, but sometimes it can  be very boring. And sometimes it can be very difficult. And I tried so many times to develop  an extension without these kind of things. No, that doesn't work. But actually, with the extension,  we have completely changed the actual status of the ecosystem. Because for developers like us,  with only HTML, CSS and JavaScript standard, I say standard, we can do an extension.  And there was animated one, okay. I will say standard technology. We love standards. There  are many track it is for them for standards. And next, we have another particular thing because  we say it's a new technology. We love documentation. Now something that's not going to flow. Oh,  my God. I cannot do anything. But there is many things about the structure because web  extension is the Chrome API. So we can find Chrome, K-Want, already question, ready with code.  I started that way. So we have the poverty with Chrome extension API. But they say it  there is also the documentation for many things. So we find the documentation. At  Chrome, that's in the end because we want our documentation. But there is also another thing  that we have electrolysis. We build our old framework. We build our code to support electrolysis.  With the web extension, we don't care because they are already supported.  We next have the support for Firefox for Android. Firefox for Android, as I know, is the only  mobile web browser that supports extensions. So we can have an app block on our Firefox for  Android. And our work is also Firefox for Android. So only the desktop is not enough. We can  also have mobile. We have also sandboxing that is improving. But the good part for us, because  there was a time when we had to develop an extension for Chrome, an extension for Firefox,  as a time with the Windows, with DDLHEL, and many other bad things. Now we can have one code  that is everywhere. We want Chrome, Opera. We also working on Edge. And also working on KT,  WebKit, I already mentioned this, they are thinking about it. So for us, we can have not only Firefox  or Chrome, but also a huge marketplace. But the reason I put it here is that we want to  build them all. Because for developers, it's amazing. Because it works. I started in a station,  I developed Firefox, but it works like a charm on Chrome. So this is practical. So out of the box,  you can have all these kind of things. You can also try Chrome extension. Probably because  the party is not complete. Actually, it works on Firefox. So what is the actual status of the  party? And I want to talk about any VI because I have no time. I'm Italian, but I can talk so much.  But for you, it's not good. But okay, there are many VI. For example, I love the first point. I  am like a developer. I'm like a kid at the Christmas waiting for Santa Claus looking at the door  when he's coming. Because I'm waiting for, they have tools for VI. Because I want to do developer  tools too. And it's working. They are working on it. But these VI, they're working on some of them  already completed. It is not if Messaging is amazing. They're already available. But it's on  the outside. You can find the status of every single VI with the ticket on backzilla. So you can  try cavity as question because the teams are less people. They are also behind these guys.  These people, they can't even do problems. So let's talk about the station. It's like which  codes? We have these kind of things. And you can tell, well, it's not so much different from another  project. We have files. A little bit of files. But let's look at these kind of things. For a  developer, remember like a package manager, unfortunately, we lose so many times with  package manager. We have to work in many languages. But the important part of this, and I want to  talk of the rest, is the counter script. Usually, the main extension only changes behavior in a  page, on a website. This is the main level of extension. And that is very simple. This monkey  became famous for these kind of things. Now we can do it to explain the URL and the fact to  read it. It's automatic. Even to code. It's already there. So try an example to move  this monkey script as a station. And only to write this file. So you can find it's very simple to  create a station. But there are many other things. Because counter script is a script that  runs in a page. There is lots of account scripts. A script that runs inside the browser because  they want to communicate to different pages. And I frame in another page. What can I do? I can use  a script to run inside the browser, specify the manifest, auto-loaded from Firefox itself.  That do stuff. So these kind of things. As I said, the results of counter scripts, very simple.  I see I can write an extension in hour now. Because I can test in the better of the  tools of Firefox. We just scratch part of the next second created the manifest and plug it on M,  etc. And this is one of the problems. As I said, Firefox is the most custom-designed browser.  But the only thing that you can add is that button. And sometimes Chrome is automatic. That's  when you cannot specify in the manifest. It's automatic added. But in Firefox, this doesn't  happen. Actually, in the interface, you can add that button that opens up the pop menu.  That is an FRAIN. So you can run the menu as a developer usually. And this is one of the things  that I review now. These are already available. Because I was forgetting these kind of things.  Because we love privacy. And you can specify what files my extension can access. So I have to  specify the resources of the JavaScript file, as it says. Specify the manifest itself. So  cannot access to strange files on the computer. Security. So I want to add this part. Because  we are developers. We want to plug some rare extension. We need someone that look at the  extension. And these stats from the HEMO team itself. First, as we can say, there is a very  good. Because when you use Chrome, the Chrome Store is very ugly. You have to buy it for the  account. The extension is automatically in an hour. So you can say, oh, that's cool. Not so much.  Because you can always bug no one. What is high so much. On HEMO, you have volunteers  that review your code. They can leave you on the menu with the suggestion or to improve your  code. But it's the best thing to do. And same experience, very important. Because I put myself  as a developer. But that's the code. And we need the reviewers. So you cannot apply for these kind  of roles. And these are stats. Usually, in one day, it depends from the time the QX set. You  cannot have your extension approved. With dynamic, I can say thank you for contribution. Chrome,  you don't get anything. So we love contributor. And the roadmap, it was also animated, is available  from Firefox first issue. So you can already develop and publish on HEMO. You have the  SDK for a web extension. I say like a little bit way to move an extension in the new way.  Because it's more simple. We have the roadmap. It is planning to activate only a web extension  when we release it to Firefox 53 on HEMO. And that planning for the hand of the year to stop  to release on HEMO extension with the old way, only web extension. There is actually API. Because  I say Firefox is most customizable. I want to do many other things. So we want that system API  that planning, that study, et cetera. There is also the side by new teams done as a web extension.  They are working on it. And there is also a project to experiment creating API outside Firefox. So  you really want an API that can experiment without changing Firefox itself. And you can do it. It  is a project already available. And for people that you have called, you can find a GitHub  web example to do it often. And when there is a new API, there is an example. After the  30th example of a label on GitHub, you can open Firefox and try it. And then you can find all  the files, et cetera, for many of the API available. But there is also some of them that  are documented as tutorial on MGM. So I want to know I can find everything on MGM.  Why I can try extension? That is Firefox. Also the state but because it was available from the  45. You are told to open about the debugging page and use the program. That way we have a  watcher of the files. So when I change the JavaScript files, they are already loaded. Without  anything, we cannot solve. They are all bottom to four. Sometimes there is JSON, it is not  all right. We cannot solve the bug to open to the bug in the user for the bug. Because they are  a little bit advanced. So we are developers. Developers love the command line. So there are  not so two for us. The first one is the most famous from the MGM itself. It is a command line to  do everything without use the interface. But that's a lot of other things. Like testing,  packaging, validation, many other things. It is very well documented on GitHub. So you can  go with a problem, et cetera. This is my little script because I started to develop when there  was change, et cetera, a little bit script, that package and extension. And check for Chrome, et  cetera. But now it is not so much required. And this one I have done because I want to see  static of my users. How many people use my extension? I have to open Chrome web store. This  is again. Chrome don't have the API to access information of my extension. I have to scrap  HTML. And Python is very good to scratch, so scrape HTML. So then I need a script that  scratch this data and create graphs of the marketplace. So I run with the Chrome every day.  I can see the status between both of the marketplace. One of the last news is this. There  is the new developer hub on Emo. You can have a simple approach, a Chrome extension, many other  things. Already on Emo, there is a bounce. But in closing, because I think it was very fast,  because I probably have time to show a demo. There is also the standard in progress. I don't  know actually the status, but for us, it would be finally I can have a standard to develop an  extension that already run probably in the future in many ways. But I want to leave resources  because we are developer. We want to read the documentation. Don't buy it, but read it. Yes.  And there is a little bit of links. As an example, there is an extension to download the extension  from Google Chrome in Firefox. There is one of the last news. As an example, I said in Firefox,  there is a problem of anti-views that create problems. In the next version, we even have  the extension that can load library in the system, because the new API is native messaging,  so on, in a different way. There are many documentation. There is also the one more  parallel of the channel. You can see the one that we use in the version of Firefox. You can see  many of the things. There is also the many list. So people that have many lists, there is a  many list. There is also a section on this course. I forgot to write the link. You can find a  discourse that was here at the developer tools and add-ons section. So you can ask here your  problem asking the question, et cetera. It is a form. So for people that don't like many lists,  you cannot have a form. So it was my slide that we tried to run an extension now from the Firefox  itself. Because that was very fast. We are the developer. We want to get boring about tech stuff.  So this is a page. We can see also a few system add-ons, an example, that are already in the  system. But now we can see these cool things. I remember the part where is the examples is  I put in a wrong path. When you contribute in different projects, you don't remember where  they are. Okay. This is the folder available with examples. You can see there are many of them.  There are more of a client tests. There is nothing messaging, nothing messaging particularly,  unable to access a program itself in your computer and communicate with Firefox. But it is not  injected inside Firefox. It is another process because it is another executable. So you can  communicate different applications in the system. What we can do is connect the computer. Okay.  This is the most simple one. I can say the most funny. It had a button. There was not this  button. We have this button because it says Bestify. We have a simple page that is HTML5  that I have to run in a web page because it is not working. Okay. It is very simple. But the code  is very, very simple because only change the document right and attach the image. It is a  code script. The results are the one that changes the borderline. But these are extensions.  And you can see you can get fun. I started and I want to say my experience. I take the  application and I use it from the WordPress community that supports 40 different languages  that help all the community to translate the extension. They are glossary. And Firefox.  So I have finished the time. So I guess there are questions here.  Yes. I just want to speak very loud when you ask a question. And Daniela, please repeat the  question. Thank you. Okay.  So there are a lot of Chrome extensions. So you can actually work in Firefox.  So you can convert them in like one minute. But is there like, it's obviously the problem is that  Chrome extension developers don't know the page and run the new part. Is Mozilla trying to engage  with Chrome extension developers to show them that they're at the most?  Yeah. As you say, in the developers' app, there was a page. There was a section,  there is also documentation on MDN. But the developer app had three weeks of life. So  we started to promotion about it. I thought I was already, I see people that suggest to move  also to try on Firefox. I see also GitHub, people that open ticket, create and improve your code  in the work outside Firefox. So I think that in the next month, we will see many more new  extensions from Chrome. Yes.  Do you know what the timeline for the W3C standardization is?  I don't know. The question is, do we know the timeline for the W3C standardization?  I don't remember that. I remember the group of study, but I don't remember the status. Sorry.  No questions. One at the back there.  Yeah.  There's something interesting for me. But there's something that's in the documentation.  Because the extension has been in Firefox. It was a way to find the Firefox.  And then, in my demo, it was too slow. So it doesn't have the same date as the last one anymore.  I'm not sure how to say very... Okay.  You have a microphone as a line. Can you please repeat because we can't hear you at all?  And yet I have a strong voice.  Yes, sorry. So I was saying, I think it's a really interesting direction. But I was thinking it was a bit  illogical in the presentation because you say that extension are part of Firefox.  Everybody, it was made for Firefox, for me, at least it is. But by the end of the year, two thirds of the important  hard-on I use that I use every day will stop working.  I understand. Again, very well. But I will try to reply. Well, the reason the problem of the change of the  API of 10 is true. But the new extension is the future because I showed... Now, the extension is like a wrapper  to the old SDK. So for us, when there will be a change inside Firefox, for us, we will not have a problem  like before with the old SDK that when the new Firefox extension was broken. With the extension, this problem  don't happen because there is a microprapper inside Firefox mechanics. So it's working without problem.  I do have to follow everything. I'm a man. So I can answer that one a little bit better. The question was, a lot of  extensions will just break and won't work with the new web extensions model. That's basically a question you lose a lot of  your extensions, right? I'm not on the add-ons team, but I will give what I think my answer is, is that  we're changing the add-on system to make Firefox safer for users, to make things better for developers and to standardize.  And unfortunately, during that transition, yes, we will lose some add-ons, but we're working very, very closely with as many  add-ons as possible to port to add-ons and to bring APIs into the new web extensions that will accommodate what they're  going to do. So we're really trying our best here, but we think this is the future. We think this is a way forward.  It's more secure. It's better for users. It's better for developers all around. Firefox will be more secure.  It will be faster, etc. So we're doing our best as we make the transition.  Yeah. You can try to use a little bit of the time.  Why do we not consider more young developers for the app? Because for extension, because I don't believe when you release at the  end of the year, you will only release with the scope, which is equivalent to Chrome, I believe. It's the current plan.  And then it means that specific extension, I'm speaking, which specific API which are needed for specific extension  won't be ready at the time. So when we do the transition, not of extension, we will stop. Why do we not consider to have  more long-term overlay to allow people to work on this API which are necessary and then do the transition with less impact for the user?  Yeah. Unfortunately, I can't answer that question. I'm not on the Adams team or the platform team.  I'll just give my opinion. We put a lot of thought into the length of the transition time, the work we're doing with developers,  the work we're doing at APIs, and so on. So the Adams team are actually in the room here. Could some Adams team people put their hands up?  Maybe you can talk to them afterwards and get their thoughts on this. Ask them questions. Okay.  So we have time for one more question.
Firefox_and_WebExtension_0_15431.png Firefox_and_WebExtension_15432_23351.png Firefox_and_WebExtension_23352_23819.png Firefox_and_WebExtension_23820_25487.png Firefox_and_WebExtension_25488_25955.png Firefox_and_WebExtension_25956_26123.png Firefox_and_WebExtension_26124_26483.png Firefox_and_WebExtension_26484_27335.png Firefox_and_WebExtension_27336_27791.png Firefox_and_WebExtension_27792_29423.png Firefox_and_WebExtension_29424_30179.png Firefox_and_WebExtension_30180_30383.png Firefox_and_WebExtension_30384_30719.png Firefox_and_WebExtension_30720_30899.png Firefox_and_WebExtension_30900_30959.png Firefox_and_WebExtension_30960_31031.png Firefox_and_WebExtension_31032_31091.png Firefox_and_WebExtension_31092_31199.png Firefox_and_WebExtension_31200_31247.png Firefox_and_WebExtension_31248_31295.png Firefox_and_WebExtension_31296_31883.png Firefox_and_WebExtension_31884_31955.png Firefox_and_WebExtension_31956_32003.png Firefox_and_WebExtension_32004_32087.png Firefox_and_WebExtension_32088_32639.png Firefox_and_WebExtension_32640_33191.png Firefox_and_WebExtension_33192_35531.png Firefox_and_WebExtension_35532_36743.png Firefox_and_WebExtension_36744_37714.png