Mozilla: WebExtensions are great for developers

Martin Brinkmann
Mar 15, 2016
Firefox
|
35

Mozilla revealed in a new blog post on the official Addons blog why Webextensions, a new API for Firefox add-on developers, are advantageous to the development community.

The organization plans to release a stable WebExtensions API with Firefox 48 while developers can submit add-ons to Mozilla's Add-ons library already and provide feedback on existing add-ons and capabilities they require to function.

Mozilla's main goal with the introduction of WebExtensions is to unify Firefox's extensions API and architecture with that of Chromium and browsers based on Chromium such as Google Chrome and Opera.

Support for Chromium's extension architecture is the first step of the process as it makes it easier to port Chrome extensions to Firefox (and Firefox extensions created with WebExtensions to Chrome).

Developers benefit from the approach as it requires minimal effort to port extensions to another web browser.

Mozilla is aware however that Firefox's current add-on architecture is more powerful than the WebExtensions baseline, and that many of the add-ons available for the browser cannot be ported using the WebExtensions API if it is not extended to improve its capabilities.

Considering that Mozilla plans to deprecate XUL and XPCOM in the future, it would result in add-ons becoming incompatible with Firefox at that point unless they are ported by their authors or people who take over to WebExtensions or the Add-on SDK.

That's however only possible of WebExtensions or the Add-on SDK provide the functionality needed, and while Mozilla wants to ensure that for select add-ons like NoScript or Mega, it is possible that others will fall through the cracks if functions that they rely on are not made available.

Mozilla notes that WebExtensions offer advantages over traditional add-ons for the browser. First, the API is created from the ground up to support Firefox's upcoming multi-process architecture.

Second, WebExtensions add-ons are more secure than legacy add-ons resulting in improved security and stability, and faster review times.

If you look at the bigger picture, you will notice additional upcoming issues in regards to the introduction of WebExtensions and multi-process Firefox, and the deprecation of XUL and XPCOM.

While you could analyze each change on its own, it makes sense from a user's perspective to look at the changes as a whole as they all affect the add-on landscape of the browser.

The WebExtensions API on its own is not a bad thing but beneficial to the Firefox community. Add the deprecation of XUL and XPCOM, and multi-process Firefox to it, and it all comes down to how powerful the capabilities of the WebExtensions API will be.

Adding the necessary functions to WebExtensions is however only one part of the process. Developers need to port their existing add-ons to the new API if their extensions become incompatible when XUL or XPCOM are deprecated in Firefox.

Firefox users who are interested in the process Mozilla makes in regards to WebExtensions can check out the main tracking bug for the first version of WebExtensions on Bugzilla.

Now You: What are your expectations in regards to WebExtensions?

Summary
Mozilla: WebExtensions are great for developers
Article Name
Mozilla: WebExtensions are great for developers
Description
Mozilla explained in a new blog post on the official Add-ons blog why the introduction of the new WebExtensions API is great for Firefox developers.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. Joker said on March 16, 2016 at 8:04 am
    Reply

    In this Mozilla-blog-article, the first bullet-point is supporting Chrome.

    Nothing else needs to be said about this, really.

  2. Guest said on March 16, 2016 at 2:16 am
    Reply

    I’m not sure what addon breakage is that everyone is complaining about. I switched from Firefox stable to Nightly because I wanted multiprocess. Of my 50 addons, only 1 broke, NoScript if I recall, and I replaced it with uMatrix which turned out to be superior anyway. Mozilla is making some bad decisions yes, but the new multiprocess Firefox is a leap ahead, and still much better than Chrome. Firefox multiprocess is also significantly less resource intensive than Chrome, and more versatile too. You can even control how many processes it uses in about:config

    1. Ben said on March 16, 2016 at 4:02 pm
      Reply

      Multiprocess is not the main problem for addons (well depending on the addon).
      The problem with multiprocess (if done like chrome) is the huge amount of RAM it takes compared to one process if you use more than a few tabs.
      The one thing that will break all non-API addons is the removal of XUL. This will make most addons (if not rewritten to API) obsolete.

  3. Valrobex said on March 16, 2016 at 2:00 am
    Reply

    Just some idle speculation…

    Could Mozilla be cloning FF into Chrome in order to sell FF and all its user base to Google? Google’s got the money and frequently it’s a lot cheaper to buy out the competition than to compete directly against the competition.

    Not saying this is so, but it does explain some of Mozilla’s recent “decisions.”

    Just thinkin’….

  4. Lestat said on March 15, 2016 at 10:45 pm
    Reply

    Chrome users are of importance. So, Mozilla tries hard to get Chrome extensions into Firefox in the hope that people will use Firefox instead because it is not as “intrusive” as compared with Chrome. May be true that they are not that much intrusive, but with crap like Pocket or Hello, Mozilla is lowering themselves more and more to Googles “playfield” – anyway: Mozilla’s dream to absorb most of Chrome user base will still not work that way.

    1. Appster said on March 15, 2016 at 11:21 pm
      Reply

      Their moves will come to no avail. Most people switched to Chrome because it offered a leaner interface and more speed. Those who sticked with Mozilla were mainly the power users – people who heavily relied on customization and Add-Ons. Mozilla will alienate these people with their bold moves and finally lose what is left of their user base. When people realize the heavy Add-On breakage in the next months they will be pissed and stop using Firefox. You are successful by building upon your strengths, not by destroying them. Mozilla is as good as dead when it comes to the competition, because there will be no real reason to use Firefox in the future.

  5. XenoSilvano said on March 15, 2016 at 9:27 pm
    Reply

    Wait a minute, this would mean that Mozilla is essentially giving away one of Firefox’s most appealing attributes, it’s add-ons library.

    Sounds like Google, Microsoft and Mozilla (The Browser Cartel) are employing tit for tat to resolve The Prisoner’s Dilemma.

    1. Ben said on March 16, 2016 at 1:14 am
      Reply

      > Wait a minute, this would mean that Mozilla is essentially giving away one of Firefox’s most appealing attributes, it’s add-ons library.
      Correct.
      They have exactly one advantage over Chrome and they want to destroy it. Genius business plan.

  6. Roman Podolyan said on March 15, 2016 at 8:26 pm
    Reply

    I have no good expectations about WebExtensions. As I explained earlier, “The last Firefox release I definitely benefited from was Firefox 3 . Because it _did the same things that Firefox 2 was capable of, but faster_ . That is the only thing I wanted ever from every browser: be capable what Firefox 2 was doing (including supporting set of add-ons, like Tabmix Plus and Session manager and One-click restart), but do it as faster as it could be run, and use less memory.”

    I already switched to ESR branch because I don’t need that add-on mandatory signing policy. As neither WebExtensions nor multiprocess model are going to give me what I want, I’m going to avoid them, to use ESR (and/or Pale Moon) as long as I can.

    1. Lestat said on March 15, 2016 at 11:36 pm
      Reply

      In regards of Pale Moon, seems they are running into more serious issues and try to find a way out. So, until the moment where they cleared up the confusion what’s next, what brings them forward, i would be a bit careful with suggesting Pale Moon.

      http://forum.palemoon.org/viewtopic.php?f=5&t=11529#p81083

    2. Appster said on March 15, 2016 at 8:56 pm
      Reply

      @Roman Podolyan: As I have pointed out before Firefox 45 ESR will most likely be the last single process version of Firefox. Firefox 52 ESR will force e10s on you. Therefore Pale Moon is highly recommended.

      1. Appster said on March 15, 2016 at 11:01 pm
        Reply

        > Stop trolling with this stupid browser on old gecko.
        I just recommend a browser I use myself to others. This has nothing to do with trolling, as I don’t force anything on anyone. Feel free to use what you want, but please stop to falsely accuse me of anything.
        > No security patched
        They backported all applicable Firefox security patches, so you are talking nonsense.
        > 0 support for html5
        Also wrong, they constantly improve HTML5 support and even Firefox 24 (which was when Pale Moon forked off) had some. Stop making false claims.
        > many addons not work from addons.mozilla
        Obviously not, as Pale Moon is a FORK, therefore not identical with Firefox.
        > no multiprocess
        This can be an advantage or a disadvantage. Pale Moon works quite stable for me so why should I care?
        > no async initialization plugins
        Never used them. Absolutely negligible.
        > no asyncpanzoom(smooth scrolling and zooming)
        This is not true. Smooth scrolling is even prominently featured in the Pale Moon preferences.
        > no, no, no
        Yeah, okay.

        Conclusion: I find it very embarassing when someone makes claims without having done any research. Apart from that, please stop being unpolite. You have no reason to insult me as I also didn’t insult you to begin with.

      2. Lestat said on March 15, 2016 at 10:48 pm
        Reply

        So speaks a true Chrome UI clone lover and fanboy :)

      3. mkdante381 said on March 15, 2016 at 10:21 pm
        Reply

        @Appster Stop trolling with this stupid browser on old gecko. No security patched, 0 support for html5, many addons not work from addons.mozilla, no multiprocess, no async initialization plugins, no asyncpanzoom(smooth scrolling and zooming), no, no, no

  7. MdN said on March 15, 2016 at 8:22 pm
    Reply

    Wait now. What’s this news about?
    Mozilla’s New Servo Browser Will Be Released in June 2016
    http://news.softpedia.com/news/mozilla-s-new-servo-browser-will-be-released-in-june-2016-501759.shtml

    I hope they leave FF as it is (single process) and do Servo for more recent computers.

    1. Appster said on March 15, 2016 at 8:52 pm
      Reply

      @MdN: Only a very unstable Alpha version is going to be released in June. Until Mozilla really finishes the job quite some time will pass, believe me. And no, Firefox will most likely not stay single process. In fact they plan to introduce the multiprocess architecture as early as Firefox 46. If you want to avoid that please consider to use Firefox 45 ESR. However, Firefox 52 ESR at the latest will force e10s on you. Your only remaining option then is Pale Moon.

      1. MdN said on March 15, 2016 at 9:17 pm
        Reply

        I guess you’re right. I still haven’t tried PM on Linux but I see that it is available. Although, it’s not as much a problem for me (I can normally use Vivaldi or Opera too, but FF is just that little bit faster and less resource-hungry) as it is for people with older PCs and “light” distros who include FF as default. We’ll see what happens. Thank you for the answer!

  8. Idiot said on March 15, 2016 at 7:58 pm
    Reply

    I personally would like to get answers to a bunch of questions:
    1. When will WebExtensions API be mature enough in order to support complex extensions like NoScript, Tab Mix Plus or Tree Style Tab? As far as I understand, it will be impossible to port these addons to WebExtensions in Firefox 48
    2. Developers had to rewrite their addons for e10s, now they have to rewrite them for WebExtensions and they will have to rewrite them again for Servo?
    3. Why does the Palemoon team decided to switch to their own code base instead of developing an addon for the original Firefox? As far as I understand, the only Palemoon advantage compared to the original Firefox is the old pre-Australis interface that is available for everyone in Classic Theme Restorer

    1. Appster said on March 15, 2016 at 8:47 pm
      Reply

      OK, I’ll try to answer your questions to the best of my knowledge:
      1) Probably never. Mozilla aims to faciliate cross-browser development with WebExtensions, which means that they will greatly align themselves with the Chrome/Opera model. However, this model has severe limits, for example extremely limited UI configurability options. It is likely that Mozilla will cherrypick some Add-Ons and provide some APIs for them (e.g. NoScript). However, most Add-Ons will just be killed off.
      2) You are completely right. Mozilla expects way too much effort from developers who mostly develop their Add-Ons as a hobby. They will most likely not commit all their free time for 3(!!!) major rewrites. They will lose interest in Firefox and spare themselves the trouble, so most Add-Ons will simply be abandoned rather than rewritten.
      3) Pale Moon forked off with Firefox 24, which means that it fully retains the customizable pre-Australis interface. Classic Theme Restorer just adds some extra layers to emulate an interface, but it does not actually change or remove Australis components. However, for the average user Classic Theme Restorer and Pale Moon have largely the same effect. Nota bene: This is not the only advantage of Pale Moon, as Pale Moon has a very sophisticated XSS filter and was the first Gecko-based browser to support the WebM format, just to mention some examples. It also doesn’t include crap like Pocket, Hello or Add-On Signing. It will most likely not include e10s or WebExtensions, too. I think those points obviously set apart Pale Moon from Firefox.

    2. gh said on March 15, 2016 at 8:41 pm
      Reply

      Does Palemoon support HTML5 video playback? Foggy memory, but last I tried it did not, and I considered that to be a dealbreaker for my (youtube) use.

      “only Palemoon advantage compared to the original” said the blind man to the lamppost.

      Whatever else PM is, or is not… it’s probably comparatively smaller & faster (app launch startup) compared to recent firefox versions. Also, many PM users probably regard not having webrtc and pOcKeT and stuffs bundled into the program to be advantageous. Does PM provide websocket support? Howabout “pdfjs” inbuilt viewer? For some folks (including me), NOT having the whole kitchen sink inbuilt seems “advantageous” — fewer vulnerability vectors.

      Ability to continue using various extensions which are broken in/by the current firefox version, along with freedom from the “only signed/blessed extensions” constraint… those are significant advantages “compared to the original”.

  9. Appster said on March 15, 2016 at 2:34 pm
    Reply

    Typical Mozilla decision, if you ask me. They have completely lost their way. Firefox used to be a customizable browser supporting the open web, today it is a browser for simple users containing DRM components and ads. I disabled all the crap: Hello, Pocket, Australis (thanks to Classic Theme Restorer). Downloads Window, Status-4-Evar and Tab Groups are other Add-Ons needed to reintroduce some sanity in Firefox. But enough is enough, when they introduce those WebExtensions I’ll say goodbye to Firefox. Hello Pale Moon and Vivaldi…

    1. mkdante381 said on March 15, 2016 at 6:46 pm
      Reply

      Palemoon have old engine. Waterfox or Cyberfox is better.

      1. Appster said on March 17, 2016 at 4:27 pm
        Reply

        @monton:

        You missed my point once again. Cyberfox performs a REBASE with every new release, so it is no true fork. Period. Forks split off at some point of time and develop into their own thing, with considerable development efforts behind them. Apart from that the Cyberfox folks are only minor contributers to CTR and have done nothing to improve the Add-On considerably, that was all Aris, really. Sorry, but it is the truth. The Cyberfox guys take the work of another person and merge it with their own product, but that doesn’t make it a fork. Otherwise my Firefox installation would be a fork, too. Your statement therefore makes – ZERO – sense. And no, altering some about:config settings also doesn’t make it a fork. And that is what Cyberfox and Waterfox are doing. Their compatibility with the latest Add-Ons is further proof of that. If they did make considerable changes they would soon run into compatibility issues, but they don’t. I just don’t know how to explain it even more logically. If you don’t get it now than please do some research yourself.
        Pale Moon is a true fork because a considerable amount of new code was added to it, contrary to Waterfox and Cyberfox. They also do no rebase, because they are a fork, again – contrary to Cyberfox and Waterfox, which are only minor rebuilds. However, only a small team maintains Pale Moon, and they have to do all the work past-Firefox 24 themselves (again: contrary to Waterfox and Cyberfox, which simply rebase). So it is no surprise that they are running into trouble. They consider to rebase again for this reason. This is what a new article on this very site is about, so maybe you should do some research too. If they manage to readd their considerable changes to the new code base they would still be a fork, just because of the amount of self-created code. Nevertheless, your statement that Pale Moon is full of security holes is wrong as they backported all applicable security fixes from Mozilla. Your statement that Add-Ons don’t work with it further supports my statement that Pale Moon is a fork, by the way.
        And I for one see some value in Pale Moon, because of its GUI and XSS filters, WebM… While I see zero value in Waterfox and Cyberfox, considering that there is a 64 Bit version of Firefox, which effectively renders them useless.
        And one last sentence: Even the Waterfox creator views his browser as a “straight re-compile”: https://www.reddit.com/r/waterfox/comments/4ab88h/waterfox_performance_vs_firefox_64bit/
        If even the author of Waterfox supports my statement you shouldn’t argue about that any further.

      2. wonton said on March 17, 2016 at 2:17 pm
        Reply

        @Appster

        actually i was referring to native changes that cyberfox has and there cyberctr had many differences over ctr with aris adding features from cyberctr to his ctr so you need to get your facts straight be for slandering a product classic judging a book by its cover.

        cyberfox is far from a minor rebuild of firefox just stop with this fanboyish mine is better than yours it hurts the pale moon community and its image.

        yes even waterfox is a fork this not a true fork is rubbish makes you sound like a skidy.

        Side note: palemoon is a sinking ship its very old loosing web compatibility and full of security holes with addons less n less working on it.

      3. Appster said on March 17, 2016 at 1:03 pm
        Reply

        @wonton: Seriously, even by your definition Waterfox and Cyberfox are no true forks. Waterfox and Cyberfox base each new release on a corresponding Firefox release. They change some about:config settings and – in Cyberfox’ case – add Classic Theme Restorer to the product. The “features Cyberfox kept” you refer to are in their entirety the work of Classic Theme Restorer. So I could do the same to my Firefox installation, change some about:config settings here and there and add Classic Theme Restorer to it. Would that make my Firefox a fork? Obviously not. The Pale Moon folks no longer base their releases on any Firefox release and constantly add new code. That is what other forks, e.g. LibreOffice or Linux Mint have done too. Waterfox and Cyberfox are NO true forks, rather minor rebuilds.

        Side note: Cyberfox won’t be able to avoid WebExtensions or e10s for the reasons above.

      4. wonton said on March 17, 2016 at 1:07 am
        Reply

        @Appster

        may be you need to learn what a fork is >>
        Creating a “fork” is producing a personal copy of someone else’s project. Forks act as a sort of bridge between the original repository and your personal copy.
        https://en.wikipedia.org/wiki/Fork_%28software_development%29

        strangly there are more changes in cyberfox then you think they kept many features even added new for me cyberfox is what palemoon used to be so its a modern palemoon

      5. Appster said on March 15, 2016 at 7:36 pm
        Reply

        @mkdante381: Well, Cyberfox and Waterfox are only minor rebuilds of Firefox and actually follow Mozilla’s release train. When Mozilla makes fundamental decisions they’ll have to follow, unless they decide to fork Firefox. Pale Moon is a true fork of Firefox and therefore under no pressure from Mozilla.
        It isn’t true that Pale Moon is (nearly) identical with Firefox 24, as quite some work was done to improve the code in many ways, including the newest security patches. I’ll just wait and see…

  10. Ben said on March 15, 2016 at 2:25 pm
    Reply

    > Mozilla: WebExtensions are great for developers
    Yeah, for those who lose their addons because Mozilla does not care to implement an API for them or those who have to rewrite all their addons.
    It will destroy FF. Of course NoScript will work. I don’t care, I need several other small addons and they will probably not work anymore. So what advantages will FF have over Chrome, now that addons are gone?
    What did they say about customizable UI?

  11. Kin said on March 15, 2016 at 2:16 pm
    Reply

    Sooo many things will break with e10s, removal of XUL and WebExtensions that Mozilla would have been MUCH better simply creating a new browser to include those things and put Firefox in “maintenance” mode once the new browser is stable.

    As it is, most normal user will simply see their browser add-on break ad-nauseum with each few updates in the next year.

  12. Dan82 said on March 15, 2016 at 12:52 pm
    Reply

    One has to ask the inevitable question: if nothing remains of Firefox that makes it unique, or even more poignantly, that remains of the browser it once was, then what’s the reason to keep using it? Do you fear change? I don’t, because I already changed from the default browser to use Firefox and am ready and willing to do so again.

    Once Firefox leaves behind its current extension functionality, you may as well use any Chrome or Chromium-based browser out there for the same and sometimes better results. We already know that its own full multi-process structure is more resource hungry than Chrome, which uses the same basic design model. Opera for example has been adding to the default extension API and now offers a number of neat side-bar extensions. Vivaldi has yet to be released officially, but it already allows a number of different customizations of the browser code (written in JavaScript), with a lot more (and hopefully a proper API) to come.

    Speaking of the soon to be “old” extension model: for a while people may find refuge with Firefox forks such as Pale Moon, or even an extended support release (ESR), but in the long term nothing but a move to another browser can be the healthy choice. Using an outdated piece of software, especially when it’s the primary connection between you and the Internet, is a very bad idea. Sadly I don’t trust Mozilla anymore, because all of their most recent, attempted and also their upcoming changes have taken away from Firefox. What little they did add was comparatively little or done in order to increase their own revenue. I fear this is also going to be the end of extensions like Tab Mix Plus or Classic Theme Restorer, both essentials which still keep me from breaking away.

  13. Earl said on March 15, 2016 at 12:19 pm
    Reply

    It’s easy to make something “secure” when it isn’t capable of doing much.

    “Issues” are inevitable when they’re created “by design” (which is Mozilla’s intention).

    If I wanted to be using Chrome/Chromium, then I already would be. Firefox was originally designed so that the user *COULD* do anything. That was the whole point. The new Firefox (and I shudder to even call it that) will be designed to prevent users from doing anything that Mozilla doesn’t approve of. No one is going to be using the new Firefox. Long-time users who valued Mozilla’s original principles (when they had principles) will have switched to something else (not Chrome) or just keep using old/classic Firefox versions. Other users will switch to Chrome or the native browser of the OS they’re using because there’ll be no reason to choose the new Firefox.

    1. Bob said on March 20, 2016 at 2:24 pm
      Reply

      The plan is to extend webextension APIs beyond what chrome addons are capable of.

      Mozilla does realize that removing deeper customization in favor of an extended Chrome-like model would be too limiting, so they aim to replace XUL with HTML5 components and XPCOM with something similar called native.js.

      As envisioned, native.js would not have the same performance problems in a multi-process world as XUL/XPCOM, and would allow addon developers to modularize their code. If a specific module is then used a lot by addons, it could be uplifted to being an official part of the WebExtensions Firefox supports, and the addons using it might not need native.js at all anymore. The downside of using native.js would be that the benefits gained by using webextensions are lost (longer review times, users won’t know what permissions they need for certain, as prone to breaking between releases as XUL/XPCOM etc…).

      The end result should be firefox still having more powerful addons, but also making it much easier for extension authors to write addons that target both firefox and chrome. Currently addons are increasingly targeting chrome only as chrome’s api is easier to deal with for most addons. Mozilla is making a smart (and IMO necessary) move by improving extensions interoperability.

      1. Thrawn said on January 30, 2017 at 6:38 am
        Reply

        > they aim to replace XUL with HTML5 components and XPCOM with something similar called native.js.

        No, native.js is not Mozilla’s aim. It was proposed by some extension authors, but Mozilla has rejected it.

  14. Nebulus said on March 15, 2016 at 11:48 am
    Reply

    I’m really sick of the corporation BS, and unfortunately Mozilla is the same as others… :(

    1. peter said on March 15, 2016 at 1:17 pm
      Reply

      Word.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.