The Future of Developing Firefox Add-ons

Today we are announcing some major upcoming changes to Firefox add-ons. Our add-on ecosystem has evolved through incremental, organic growth over the years, but there are some modernizations to Firefox that require some foundational changes to support:

  • Taking advantage of new technologies like Electrolysis and Servo
  • Protecting users from spyware and adware
  • Shortening the time it takes to review add-ons

To help the add-on development community understand how we will enable these improvements, we are making four related announcements today:

  • We are implementing a new extension API, called WebExtensions—largely compatible with the model used by Chrome and Opera—to make it easier to develop extensions across multiple browsers.
  • A safer, faster, multi-process version of Firefox is coming soon with Electrolysis; we need developers to ensure their Firefox add-ons will be compatible with it.
  • To ensure third-party extensions provide customization without sacrificing security, performance or exposing users to malware, we will require all extensions to be validated and signed by Mozilla starting in Firefox 41, which will be released on September 22nd 2015.
  • We have decided on an approximate timeline for the deprecation of XPCOM- and XUL-based add-ons.

For our add-on development community, these changes will bring benefits, like greater cross-browser add-on compatibility, but will also require redevelopment of a number of existing add-ons. We’re making a big investment by expanding the team of engineers, add-on reviewers, and evangelists who work on add-ons and support the community that develops them. They will work with the community to improve and finalize the WebExtensions API, and will help developers of unsupported add-ons make the transition to newer APIs and multi-process support.

We’re announcing all of the changes today to make developers aware of our plans and to give everyone an opportunity to offer feedback. We are committed to doing what we can to make this transition as easy as possible. Together with our Mozilla community, we will create the future of Firefox add-ons.

Introducing the WebExtensions API

For some time we’ve heard from add-on developers that our APIs could be better documented and easier to use. In addition, we’ve noticed that many Firefox add-on developers also maintain a Chrome, Safari, or Opera extension with similar functionality. We would like add-on development to be more like Web development: the same code should run in multiple browsers according to behavior set by standards, with comprehensive documentation available from multiple vendors.

To this end, we are implementing a new, Blink-compatible API in Firefox called WebExtensions. Extension code written for Chrome, Opera, or, possibly in the future, Microsoft Edge will run in Firefox with few changes as a WebExtension. This modern and JavaScript-centric API has a number of advantages, including supporting multi-process browsers by default and mitigating the risk of misbehaving add-ons and malware.

WebExtensions will behave like other Firefox add-ons; they will be signed by Mozilla, and discoverable through addons.mozilla.org (AMO) or through the developer’s website. With this API, extension developers should be able to make the same extension available on Firefox and Chrome with a minimal number of changes to repackage for each platform.

A preview release of WebExtensions is available in Firefox 42, which is currently on Developer Edition, and information on how to start testing WebExtensions is available in the Mozilla wiki. We have started discussions with other browser vendors to begin an effort to standardize at least some of this API, and will continue to post additional information and more details about WebExtensions in the wiki.

Multi-process Firefox and Add-ons

Phase one of our Electrolysis project, which uses a separate operating system process to run Web content, has been moving towards our release channel. Subsequent phases will bring multiple content processes and improved sandboxing capabilities. Using a separate rendering process lays the foundation enabling us to bring significant performance and security improvements to Firefox, but it also breaks some add-ons, especially those that modify content. However, there are a number of mitigations in place to keep add-ons functional:

  • WebExtensions are fully compatible with Electrolysis. As the API matures and Electrolysis is enabled by default, this will be the way to port or develop extensions for Firefox.
  • Add-ons based on the Jetpack SDK will work well as long as they don’t use require(‘chrome’) or some of the low-level APIs to touch objects in the content process.
  • Add-ons that haven’t been upgraded to work with Electrolysis will run in a special compatibility environment that resembles single-process Firefox as much as possible. If an add-on touches content, the access will happen via cross-process object wrappers (CPOWs). However, CPOWs are much slower than the equivalent DOM operations in single-process Firefox, and can affect the user experience negatively. Also, some accesses aren’t supported by the compatibility layer and will throw exceptions.

Starting now, add-on developers need to think about their strategy to work with a multi-process Firefox:

The final release schedule for Electrolysis will be determined over the next several months as we test with more users. We would like developers to understand that, although there is a chance that the Electrolysis release schedule will be delayed or modified in the coming months, they should plan to update their add-ons to meet our current release plan as follows:

  • August 11th (Firefox 42 merges to Developer Edition). Electrolysis has been enabled by default on Developer Edition (it is already the default on Nightly).
  • September 22nd (Firefox 42 merges to Beta). Electrolysis will be available to users as an “opt-in” on the beta channel.
  • November 3rd (Firefox 43 merges to Beta). The earliest release Electrolysis will be enabled by default on Beta. When Electrolysis is enabled by default we will begin blocklisting Electrolysis-incompatible add-ons that cause major performance and/or stability problems.
  • December 15th (Firefox 43 merges to release). The earliest release Electrolysis will be enabled on the release channel, and our current planned release.
  • Six months past enabling Electrolysis on Release. The deprecation of CPOWs and compatibility shims will begin. We will release further scheduling information as appropriate, but developers should be aware that any add-ons that depend on them will stop working within six to twelve months of the general availability of Electrolysis.

The Electrolysis team has posted a list of popular add-ons for compatibility testing at http://arewee10syet.com. In addition to the steps above, developers are encouraged to review the list and follow the instructions to submit information about whether their add-ons are Electrolysis-compatible or not.

Signing

We currently use a blocklisting mechanism to defend against malicious add-ons, but additional measures are needed to better protect our users as some add-on developers have adapted to work around blocklisting. Blocklisting is also reactive: users can be harmed by dangerous add-ons that are installed until they are identified and blocked. Starting in Firefox 42, add-on developers will be required to submit extensions for review and signing by Mozilla prior to deployment, and unsigned add-ons cannot be installed or used with Firefox. You can read more about the rationale for signing in a separate blog post.

We realize that the add-on review process can sometimes be inconvenient for developers. Reviewing is a mostly manual, human process today, and moving an extension from the initial submission to passing a full review that meets our guidelines can be a time-consuming process that can take weeks or months. A major advantage of WebExtensions is that they can be reviewed more quickly. In general, it’s easier to develop a correct WebExtension, and the permissions system makes it easier to recognize malicious add-ons.

Our goal is to increase automation of the review process so that the wait time for reviews of new WebExtensions listed on addons.mozilla.org can be reduced to five days, and that the wait time for updates to existing WebExtensions can be reduced to one to two days. Current wait times for unlisted add-ons submitted for signing are less than three days. We are also expanding the team of paid and volunteer add-on reviewers and continue to make improvements to the automatic validator, both of which will reduce existing review queue wait times for all extensions in the immediate future.

While extension signing will not be enforced until Firefox 42, the code has shipped with Firefox 40, allowing users to see if installed extensions have been validated by Mozilla. Users of Firefox Developer Edition will have noticed that unsigned add-ons were blocked beginning on August 14.

The full schedule for add-on signing is currently as follows:

  • Firefox 40: Users will see a warning in the add-ons manager about unsigned extensions, but all extensions will continue to work.
  • Firefox 41: Unsigned extensions will be disabled by default, and Firefox will have a preference (xpinstall.signatures.required) that allows signature enforcement to be turned off.
  • Firefox 42 and beyond:
    • The Beta and Release versions of Firefox based on 42 and above (Beta 42 will be released at the same time as Firefox 41) will remove the preference that allows unsigned extensions to be installed, and will disable and/or prevent the installation of unsigned extensions.
    • The Nightly and Developer Editions of Firefox based on 42 and above will retain the preference to disable signing enforcement, allowing the development and/or use of unsigned add-ons in those versions. Unbranded versions of Firefox based on releases will also be made available for developers, and are expected to be in place for Firefox 42 for release (and potentially beta).

Deprecation of XUL, XPCOM, and the permissive add-on model

XPCOM and XUL are two of the most fundamental technologies to Firefox. The ability to write much of the browser in JavaScript has been a huge advantage for Mozilla. It also makes Firefox far more customizable than other browsers. However, the add-on model that arose naturally from these technologies is extremely permissive. Add-ons have complete access to Firefox’s internal implementation. This lack of modularity leads to many problems.

A permissive add-on model means that we have limited flexibility in changing the foundations of Firefox. The add-on breakage caused by Electrolysis is an important example of this problem. Technologies like CPOWs help us to work around add-on problems; however, CPOWs have been a huge investment in effort and they are still slow and somewhat unreliable.

Without a fundamental shift to the way Firefox add-ons work, we will be unable to use new technologies like Electrolysis, Servo or browser.html as part of Firefox.

The tight coupling between the browser and its add-ons also creates shorter-term problems for Firefox development. It’s not uncommon for Firefox development to be delayed because of broken add-ons. In the most extreme cases, changes to the formatting of a method in Firefox can trigger problems caused by add-ons that modify our code via regular expressions. Add-ons can also cause Firefox to crash when they use APIs in unexpected ways.

Consequently, we have decided to deprecate add-ons that depend on XUL, XPCOM, and XBL. We don’t have a specific timeline for deprecation, but most likely it will take place within 12 to 18 months from now. We are announcing the change now so that developers can prepare and offer feedback. Add-ons that are built using the new WebExtension API will continue to work. We will also continue supporting SDK add-ons as long as they don’t use require(‘chrome’) or some of the low-level APIs that provide access to XUL elements.

A major challenge we face is that many Firefox add-ons cannot possibly be built using either WebExtensions or the SDK as they currently exist. Over the coming year, we will seek feedback from the development community, and will continue to develop and extend the WebExtension API to support as much of the functionality needed by the most popular Firefox extensions as possible.

Moving forward

The strategy announced here necessarily involves a lot of trade-offs. Developers who already support Chrome extensions will benefit since they will have one codebase to support instead of two. Developers of Firefox-only add-ons will have to make changes. Those changes may require considerable development effort up-front, but we feel the end result will be worth that effort for both Firefox’s users and developers.

We want to reiterate our commitment to our add-on development community, and will work with you in porting extensions, designing new APIs, and creating innovative new add-ons that make Firefox great.

We will continue to post additional resources in the coming weeks and months to outline each of these changes in more detail, as well as provide support through our traditional channels via the Mozilla Developer Network, IRC (in #extdev), and the extension developer group.

Update: A lot of people have been asking what WebExtensions will deliver, and how. Bill McCloskey has posted an update on where we want to take them, and how you can contribute ideas and be part of the process. It’s a must-read for people who are concerned about how the addons they develop, use, and love will continue to be part of Firefox.

Update: We’ve added a Frequently Asked Questions section to the WebExtensions page, and will continue to address feedback and questions there along with additional posts in the near future.

471 comments on “The Future of Developing Firefox Add-ons”

  1. Eric wrote on

    The burden of rewriting all existing add-ons against an API which is by design much more restrictive and less powerful, combined with the uncertainty for developers that arises from walled garden-approaches like centralized signing with no way to whitelist unsigned add-ons, by far outweighs the possible benefits.

  2. SJurgenson wrote on

    When Firefox began to use the Rapid Release development schedule, it was the start of the second wind of Firefox. It had clearly stagnated with the slower release schedule — it just couldn’t keep up while competitors could iterate faster.

    Firefox has made great strides since 4.0 — it’s gotten faster, and uses less memory. Now Chrome is seen as the browser that eats memory without end.

    Firefox made great strides in identifying and fixing longstanding problems. As mentioned, ‘Project MemShrink’ worked — Firefox is now judicious in it’s memory usage.

    What Firefox needs now is a ‘BullshitShrink’ project. It seems Mozilla has lost sight of why people like Firefox. They seem to have forgotten they are making a browser that is actually not Chrome.

    Firefox has been amazing with its customization possibilities, and with the amazing addon community.

    For the last year or two, Mozilla has been working hard to destroy those benefits. Look at theming. Now ‘theming’ is ‘somebody uploaded a .jpg file to addons.mozilla.org’. Actual, real themes are walled away in a ‘Complete Themes’ section of AMO, and are not long for the world.

    Now we’re talking about removing the absolute BEST feature of Firefox — awesome, powerful addons. Who in their right mind in Mozilla HQ thinks anyone wants this? All this talk of ‘malware’ forcing their hand is a red herring — there’s no malware problem of the scale to justify this.

    In additon, look at the crapware they’ve added to Firefox lately.
    * Changing people’s default search to Yahoo (I understand changing the default for new profiles, but for existing ones that used Google? That’s just evil.)
    * Pocket integration. I actually have used Pocket for years before integration, and used the Firefox addon. Guess what? The add-on was better. The new ‘integrated’ Pocket is absolutely terrible by comparison. I now have to go to their website to see my items, instead of in a sidebar.

    I am sick of what Mozilla has become, and look forward to the next upstart browser that wants to be a ‘Firefox Killer’.

  3. ir193 wrote on

    Have you lost your mind? Why not just switch to Webkit(chromium) based?
    Opera made its mistake, now it comes to firefox.

  4. Vipupu wrote on

    Great job, guys. I see you’ve really been trying to make Firefox less and less customizable these past updates.

  5. MozillaQ wrote on

    We need another branch of Firefox.
    Mozilla no longer is a qualified leader of Firefox

  6. Muzzy wrote on

    Well, that simply means that I will just use latest usable Firefox version without updating. It will be 41, i guess?
    No need to update if my favorite addons will stop working. And I hate that silly multi-process system, it consume too much RAM and with all these dozens of processes you can not even understand the whole amount of memory which is being used.

  7. Long term user wrote on

    How can it be that Firefox warns for the avast online security add-on.
    Could not be verified for use in Firefox, be carefull if you proceed.
    Mozilla should be more carefull. If you ever remove this security add-on I will remove Firefox instantly.
    The only reason for using Firefox are his add-ons, remove them and you will become a second Opera,
    global market share 1,6%.

  8. riik wrote on

    Will this mean the end of my favorite extensions?
    * TreeStyleTabs
    * Location Bar Enhancer
    * MouseControl
    * VimFx
    * Download Dialog Tweak
    * OmniBar
    * QuickMark
    * the list continues..

    I don’t care the name of the browser or its version number as long as I can use all of the features that these addons are providing. The problem is that I’m tied to Firefox as it is the only one browser with the permissive addon model. I can’t believe it why you are taking it away.

    1. Jorge Villalobos wrote on

      Not necessarily. We want most extensions to continue to work, but some may be using APIs that won’t be supported in the future. Tree Style Tab is my personal favorite and would certainly hate it if it went away.

    2. Noitidart wrote on

      Thanks for the MouseControl metnion. I love that addon too. I need to make it more cross platform friendly 🙂

  9. Salar wrote on

    Well you still haven’t implemented Html5 Forms completely yet you announcing this??

    Why wasting manpower on something that is unnecessary? Well you might say it is essential to moving to Servo. But I’d say, no it is not; you can have both Servo as page rendering engine and Xul and xpcom as UI engine.

  10. Lestat wrote on

    Btw. that bit older comment here is an interesting read, but also in relation towards Mozilla’s plans:

    https://blog.mozilla.org/addons/2013/12/12/australis-for-add-on-developers-1/comment-page-1/#comment-175191

    As it seems it is not only about simplification, Mozilla fears to be “anti competitive” if they keep features which make them more special than Chrome!
    ————————————————
    “Why would Mozilla want this when it is still the add-ons made specifically for Firefox that retains a large amount of users and sets it apart in many ways from other browsers.”

    Jorge Villalobos:Are you suggesting we should be intentionally anti-competitive?”
    ———————————————–

    Well, now 2 years later Mozilla has finally started to remove that “problem” What they do not understand is that an “equal playground” gives them no benefits.

    Chrome is faster and is more state of the art in future web technology, Edge and IE are integrated in Microsoft operating systems same like Apple Safari in MacOS.

    Wondering how Mozilla will have an advantage if they remove actually their only advantage they have – complexity!

    Very troublesome!

    1. Per Johansson wrote on

      Looks as if Mozilla is throwing in the towel.

    2. Lovo wrote on

      That’s a completely distorted (and paranoid) read of a comment which is about competing on, and not freezing, the interface.

  11. ben wrote on

    Looking forward to it!

    Don’t listen to the grumpy change-resistant faction, I’m sure they don’t represent most of the user base.

    1. Buzzfriendly wrote on

      Change, based solely on the desire to change, is a fools path to follow. The internet is full of dead websites and software programs for taking this path.

    2. Tom wrote on

      Have you even read *what* will be changed?

      They are talking about turning Firefox into Chrome. Why on Earth do we need two Chromes? Resisting that change is common sense. It has nothing to do with resisting change just because something is being changed.

      1. Aaron wrote on

        wrong. they making extensions easier to develop. that’s it. I don’t know if you ever tried to develop an addon for firefox before… it was a pain in the ass, and also maintaining the same extension cross browser is fucking insane. I’m happy about this change, because now I can have my extension to work almost every browser with little changes. Moz is doing the right thing here.

        1. Kenjiro wrote on

          Yep, it will be easier, but most addons will be useless and addons like DownThemAll, Noscript, Stylish, Firebug, The Addon Bar (restored) is likely to be impossible to do. Firefox developers are talking about extending WEAPI, but this “extending” have to be 10x bigger than current possibilities.
          If WEAPI gives ALL functionality of XUL/XPCOM/etc, but compatible with e10s/Servo/etc, ok. i get it. But now we are talking about crippled WEAPI vs powerfull XUL.

  12. Kym Farnik wrote on

    Unless the WebExtensions API can allows add-ons like ‘down them all’ FX loses it’s reason for being; that is a very powerful addon library.

    We don’t want a chrome clone.

    1. Steve wrote on

      Exactly. Chrome’s interface sucks. Firefox’s interface didn’t used to suck, but now it does. Fortunately, that can be fixed with add-ons.

      Now.

      It sounds like Mozilla wants to try very hard to insure that Firefox’s interface will suck for everyone, not just the [few] people who are willing to put up with it.

  13. Per Johansson wrote on

    I develop for Chrome=Opera and for Safari too, with a combination of common and of browser-specific code. I have to drop some features that are not supported by their API’s. Are you planning to make WebExtensions a dumbed-down API Google-style? I dont see panel, pagemod or ui from the SDK in the proposal. And introduce a load of extra callbacks?

    Speaking of other browser vendors, would Apple do anything else than running its own race with the Safari API?

    1. Jorge Villalobos wrote on

      You can request and vote for APIs here.

      1. Anon6 wrote on

        Like Mozilla ever heard the voice of people…

  14. Eric Cynfrid wrote on

    TL;DR version – We’re getting rid of everything that made Firefox a different and better browser.

    In essence, FireFox will be another cancerous chrome clone.

  15. 2K wrote on

    So in other words, you’re basically killing off all the addons which are the only reason I’m still using Firefox over Chrome?

    Well, I guess I won’t have to put up with radical changes that make no sense whatsoever when I have to migrate over.

  16. Noitidart wrote on

    The more I think about it, I’m thinking WebExtAPI is good if it is added while still keeping the old stuff.

    Because we see big dogs like Dropbox coming in making addons for Google Chrome but not making the same thing for Firefox:
    https://chrome.google.com/webstore/detail/dropbox-for-gmail/dpdmhfocilnekecfjgimjdeckachfbec/reviews

    I honeslty think that’s ridiculous, the amount of effort to port that to Firefox using add-on sdk is nothing, just drop in the same content script used there, in the addon-sdk contentScript. I’m really curious why dropbox didn’t do the same for Firefox. Maybe because it wasn’t as easy as WebExtAPI would make it? not sure. And the goal of WebExtAPI I thought was for newbies, with a software company like Dropbox i wouldn’t put them in the newbie category, but maybe WebExtAPI will help these companies out too.

    1. Noitidart wrote on

      Whoa interesting. Wolfram Alpha did make a google chrome and firefox version:

      https://chrome.google.com/webstore/detail/wolframalpha-official/icncamkooinmbehmkeilcccmoljfkdhp

      https://addons.mozilla.org/en-US/firefox/addon/wolfram-toolbar/?src=ss

      Firefox version looks cleaner as its a toolbar, but it has only 600 users while google chrome has 200k O_O

      1. Noitidart wrote on

        I think this tells us the issue is not the the API but maybe the marketplace?

        1. Noitidart wrote on

          Whoops this was supposed to be posted as a reply to:

          Wolfram Alpha created their addon for Google Chrome and Firefox.

          Firefox: https://addons.mozilla.org/en-US/firefox/addon/wolfram-toolbar/?src=search

          GChrome: https://chrome.google.com/webstore/detail/wolframalpha-official/icncamkooinmbehmkeilcccmoljfkdhp/related

          GChrom has 200k users while Firefox has 600 users. So I think this might tell us that the problem isn’t in the API for development, but the addon marketplace we have?

  17. vertigoback wrote on

    I am user, not a dev … supportive of the idea of a more stable browser due to e10s, but I have one question … how likely is it that the new API will be extended to the point where this will not happen:
    http://www.downthemall.net/the-likely-end-of-downthemall/ ?

  18. Brian wrote on

    I have been giving this a lot of thought. We are going to need a two-tier system. One for Addons that can run in any browser. Another for more powerful Addons that can only run in Firefox.

    For the second tier, we need to have a community contributed API. This way developers can expand the API in new ways, but at the same time the API could be more manageable by Mozilla which could be made to ensure compatibility on future updates of Firefox.

    As an alternative, we could keep JSM’s and expand this to give developers the resources they need beyond the BrowserExtension API.

    This should have a permission based system, kind of the same way Android does their’s, where the user knows exactly what resources the Add-on is accessing.

    Finally, at the moment there is no replacement for XUL/XBL, this would be a good time for kick development for browser.HTML. Vivaldi has a dynamic UI based on front-end technologies (HTML, CSS, and JavaScript). A UI like this would help Mozilla transition off XUL/XBL technologies.

    In the end, Firefox WILL NEED to implement a two tier system to have a rich extension ecosystem.

  19. Pentti wrote on

    Dammit. The main reason why I don’t browse web on Android is the lack of Noscript and Greasemonkey and now they are in jeopardy even for the desktop? Not acceptable!

  20. DMcCunney wrote on

    I have profoundly mixed feelings about this announcement.

    I’ve been using Mozilla code since Mozilla was still the code name for an internal Netscape project. I ran NS7 (and *tried* to run NS6, but gave up due to bugs), then the Mozilla Suite, and finally Firefox. I currently have Firefox release, Developer Edition, and Nightly installed here, and switch between them. The main reason I do so is to keep track of development, and see how extensions I run are affected.

    I run Firefox in the first place because *because* of its extensibility. Mozilla pioneered that, with a XUL and JavaScript based model. It was possible to change the way Firefox looked, and extend the way it acted, and themes and extensions proliferated in consequence.

    It wasn’t long before Chrome, Opera, Safari, and even IE jumped on the bandwagon. But Chrome uses a pure JavaScript model, and you are constrained by what Chrome will let JavaScript do. There are things I do in Firefox that I don’t believe can be done in Chrome.

    They biggest impact I saw previously came in the switch between Firefox 3 and Firefox 4, as underlying changes in Gecko broke various ectensions that relied on the earlier behavior. But I was able to find current extensions that provided similar functionality, and things have been stable for some time.

    I currently have 66 extensions installed in Firefox, and many are part of my standard kit, installed any time I create a new Firefox profile. Several have suddenly stopped working in Nightly and Developer Edition, because they can’t be “verified”, and I can expect them to stop working in the release channel soon. This does *not* make me happy.

    I understand the security concerns that prompt a requirement for signing, but just how serious is the problem? How many *verified* reports of users getting hosed by malicious extensions have there been? I haven’t seen any, though it’s possible I haven’t looked in the right places. Is this a solution for a problem that does not in fact exist? If there is proof it *is* a problem, please provide a pointer to it.

    My biggest concern now is that sooner rather than later, I won’t be able to run unverified extensions. How will I run beta code or dev builds? The one thing there absolutely must be is an option to do that. I happen to know what I’m doing, and understand the risks. I should be able to say “I know this extension is unverified, and if it breaks things I get to keep all the pieces. That’s *my* problem. Do it anyway!” I have an assortment of older tools in my kit that are no longer developed or supported, but still do what they were written to do. I want to be able to run them. I object strongly to a policy that reduces to “Some users can’t be trusted to make the right choices, so we won’t *give* you a choice, and you’ll have to accept what we decide to provide!” The assumption that users are stupid and devs know better is pernicious, offensive, and generally simply wrong.

    And ultimately, Mozilla needs to address the underlying schizophrenia it seems to have regarding extensions. The Addons site crows proudly about the vast number available. Current browser builds give the impression that you shouldn’t be *running* Addons. Nightly in particular has been popping up messgaes saying “X might be making Firefox run slowly”, and suggesting I disable it. You can’t have it both ways, guys. Pick one. (But if the one you pick is no addons, expect Firefox’s market share to plummet even more than it already has.)

    A lot of what I’ve seen of current development direction makes me think the Mozilla devs are living in an echo chamber, and only talking to each other. “Should we do this?” “Yeah! That’s a good idea. We should do that!” If the devs talked to actual *users* they might get a different opinion. You really need to start doing so.
    ______
    Dennis

    1. Tristan Young wrote on

      I’ve never been hosed by a malicious extension either. I don’t see why a longer transitional period couldn’t be made. It’s not like developers can click their heals three times and repeat, “There’s no API like WebExtensionAPI” to instantly upgrade every extension. Like many, I use firefox because of its stability and its extensions. If I end up losing half my extensions, or if I’m left in an unstable position, I won’t be happy.

      Firefox has been infuriating to work with over the years, because some questionable changes have been forced upon users and developers. I still field calls from people who are pissed off that their default search engine was changed to Yahoo, and they think their web browser has been hacked and want me to fix it.

  21. NetscapePhoenix wrote on

    This sounds “Mozilla’s guide to commit suicide in one easy step”, and I happily moved from Netscape 1.2 to Phoenix and beyond and liked every step along the way including Australis.

    I tried Chrome and its supposed extension clones, and most are severely limited in comparison to their original counterparts – so I’m back with Firefox again. If extension innovation gets delayed due to signing *and* devs pro-actively jump ship to the chrome extension model before Mozilla is ready to deliver, then you really did it this time.

    Am I the only one thinking that this is actually Google’s idea as they’re bankrolling Mozilla anyway? Otherwise the order of this “decide first, discuss later” should have been reversed – trying to contain the damage now by offering additional apis (maybe) is too little, too late.

  22. Sammy wrote on

    Firefox just signed it’s own death warrant. Glad I jumped ship. The extensions you’re deprecating are literally the only reason I install it as a secondary browser at all. Without them I will move on and there will be one less piece of software i have to install.

    You guys took a great product and over the last few years have trashed it with abandon. I have no idea what proportion of this can be attributed to well intentioned arrogance and what is malice with darker motives behind it, but the result is the same. Firefox will go down with Netscape Navigator as one of the browsers that use to be great. All your reasons and excuses are just noise.

    It is taking a lot of restraint not to include profanity in my post, and that is not the usual case for me. I really loved Firefox around version 2.

  23. skomorokh wrote on

    This is alarming, but it’s actually good:

    * XPCOM is gone so we can’t do esoteric things in other languages—but ultimately we can build to WebASM and not have to cross-compile

    * We have to rewrite our extensions for Chrome, basically—but then we can do less maintenance and support a wider user base; less time spent on duplicating effort more time spent doing new and useful things

    * Extensions will be massively constrained—but security actually is important. Firefox is open source with a fair number of eyes on it, extensions often have much smaller audiences and I use dozens. I’d prefer to not have to trust each of them so very much. 99% of the time they can do what they do without needing me to give them access to execute arbitrary code as my current user.

    For the most part, I’m happy with this direction. And even the extension signing. What I don’t like is the removal of the OPTION. Sometimes it’s impossible to do things without giving substantial access and I may well want to trust an addon or two with that power (“This addon requires you trust it to do anything whatsoever to your computer.”) And I may want to trust another extension distribution platform than AMO.

    1. Noitidart wrote on

      “* We have to rewrite our extensions for Chrome, basically—but then we can do less maintenance and support a wider user base; less time spent on duplicating effort more time spent doing new and useful things”

      This is the reason I don’t care for this move. I don’t really want to make the user experience for users of other browsers better. I was hoping if any cross-browser’ness happend, it would be “easier to bring from gchrome to firefox” not the other way around.

      The security issue is already a non-issue due to the review process.

      But the WebASM point is cool.

  24. John Contantine wrote on

    What the hell?! I tried to post yesterday and my comments are still not showing up. I tried to post under ‘Brian’ this morning and none of those are showing up. Yet other people’s comment have been posted since mine.

    1. Jorge Villalobos wrote on

      Moderation is on by default. Some posts are automatically approved, but I don’t really know what the criteria is.

      1. m48 wrote on

        You… might want to have someone make the comment submission form display that information more prominently. I don’t think many users are going to assume that the moderation process can not only take multiple days, but is done in no particular order.

        Since this is such a controversial issue, I can’t be the only person that assumed the worst, and thought Mozilla was intentionally censoring my comments. 🙁

  25. michaelw wrote on

    “XPCOM and XUL are two of the most fundamental technologies to Firefox. The ability to write much of the browser in JavaScript has been a huge advantage for Mozilla. ”

    This should be the best closing sentence for this post! Please edit your post and remove everything about this planned change “strategy”.

    If you really want to work on a browser like chrome, your should take a look right here: https://www.google.com/about/careers/search#t=sq&q=j&d=chrome&li=10&j=chrome&

    I encourage all add-on develeoper to boycott this newly bulls’**t.

    This whole “submit – rewiew – signing”-story may be a nothing compared with the announced changes to make firefox into a chrome-clone.

  26. Glenn wrote on

    Remember the original “plan” for Phoenix/Firebird/Firefox?

    This ain’t it. You were supposed to provide an alternative and user-centric browser. This isn’t what users want. At the point where you get to where you’re planning to go, we’ll have no reason to choose Firefox over what comes by default with the OS. People invested in the Google [Chrome] ecosystem will already have gone with Chrome (a thoroughly inferior product, esp. when it comes to user customization).

    Firefox and Mozilla… on the road to irrelevance.

  27. m48 wrote on

    Don’t get me wrong. I actually *like* a lot of the new ideas Firefox is exploring. Multiple processes for tabs that will make the browser faster and more stable? Great! An extension development API that simplifies common tasks and isn’t dependent on weird domain specific XML languages? Wonderful! If I was developing an add-on myself from scratch, I would probably choose to use the WebExtensions API of my own volition. And if I have to move to a Firefox fork, like Pale Moon, I’ll actually consider the lack of the WebExtensions API a loss.

    But the thing is, I might *have* to move to Pale Moon, because no matter how wonderful or innovative those features are, that doesn’t change the fact that they threaten the features I actually use every day. I have difficulty using my hands, and depend a lot on extensions like Pentadactyl and Vimperator—extensions that are deeply intertwined with XUL and XPCOM. To me, those functions are not just a convenience factor—they drastically improve the quality of my life, and enable me to keep up with able-bodied peers much more easily. And that, to me, is far more important than a slight increase in speed.

    If those developers merely had to rewrite their entire codebase for the new system, maybe I could understand. I would be pretty angry about the inconvenience it would cause everyone, but I would know that eventually, it would probably make things work better. But, the thing is, what this post describes goes far beyond that. It makes it clear that Mozilla intends to limit the ability of add-ons to modify the browser in general—to the point where the extensions I love might not even be possible. Yes, they might include some functions specifically to appease Vimperator fans because it’s so popular, but anything less popular is going to get left in the dust. And… I have a bit of a problem with that.

    While painful, I can understand, from a technical perspective, why XUL and XPCOM are being deprecated. But please consider making available an API to provide similarly thorough access to Firefox’s internals. Currently, Mozilla is letting people ask for features to include in WebExtensions. I think, somewhere, there should be an API low-level enough that you don’t *have* to ask. Add-ons already have to go through a human review process to be approved. If people abuse that privilege, catch it that way. A lot of people probably will be able to get away with just using the vanilla WebExtensions API—I mean, if they couldn’t, Chrome wouldn’t have any extensions at all—and that code will be significantly easier to review. But I don’t think that means more complicated things should be all but outright banned.

    Think about it from a developer’s point of view. A lot of the new Firefox technologies, like browser.html, are exciting to me specifically because of the customization opportunities they create. I would *love* to be able to tweak Firefox’s GUI the exact same way I tweak a webpage. And that has nothing to do with politics or loyalty. That’s purely my curiosity as a developer talking.

    Under this plan, if I wanted to do that… what could I do? Go into Firefox’s data files and manually screw with them? What if I wanted to share my changes? Would I seriously have to make my own Firefox fork just for changing some trivial part of the GUI?

    Isn’t the entire point of add-ons to avoid fragmentation like that? And isn’t the entire point of the open internet to encourage experimentation like that, and to make technology like that easily available to everyone?

    1. Eric wrote on

      Very well written, thank you. I’m also worried that the effort to continue support for special low-level API needs will be limited to a handful of popular add-ons. Firefox currently serves as the only alternative for people with all kinds of needs that may only be shared by a small portion of users.

      That’s the great thing about being open and permissive, I don’t have to beg anyone for a special API to build an extension for the special needs only I and two other people share, but may be crucial for us to be able to use the Internet as everybody else does. Often, there will be trade-offs with other interests involved, take content protection versus accessibility.

      I’m afraid switching to Pale Moon isn’t a solution for everyone. According to its web page, Pale Moon isn’t interested in offering accessibility features.

  28. Jonas Smithson wrote on

    Moz is doing this for the same reason that other browsers have been dumbed down, and for the same reason that MS and Apple have been dumbing down their operating systems for years: they figured out that the vast, overwhelming majority of their customers and potential users aren’t geeks, don’t customize anything, and would be happier with a less powerful, but also less complex, environment.

    What Moz doesn’t understand is that it’s not always wise to chase the largest potential audience. If you do, you have to compete head-to-head with the much bigger, better-resourced players who are playing that game. Why would Moz think they can beat Google, MS, or Apple at that game?

    Firefox market share is a third what it was just a few years ago, and Moz hasn’t learned a damned thing from all their mistakes; they’re still mired in arrogant delusions. They should give up trying to be a “browser for the masses” — a game they’ve already lost forever — and concentrate on being the best browser for power users. That’s their _only_ shot at survival: dominate a small, tightly focused, influential market. That means not “protecting” us by cutting off our options and flexibility. But it’s clear by all their actions over the last few years that they’re not that smart. The Moz staff may be technically intelligent but they are, ultimately, a pack of fools, and with this latest moronic strategy Firefox, sadly, heading rapidly downhill into oblivion.

  29. Kuromi wrote on

    So, you decided to take even more steps in direction to be more like Chrome, as everyone said, ok.
    Lets says you did it, that next then? Just replace Gecko with Webkit? Why not? Lets say you did that too.
    There is question – how you going to battle over users of Chrome with Chrome-clone?
    Look, hordes of Chromium-rebuilds already flocking market, but i dont see any of them to gain any real popularity, because any Chrome user can say “Why should i use Chrome clone if i can use Chrome?”
    Copy-pasting was never winning strategy. Constantly chasing after Chrome “innovations” you will just be always behind. always worse.

  30. No No No wrote on

    Without TMP, CTR, DTA and others, I would have dropped Firefox long ago. Looks like you can’t avoid the pitfall anyhow. Well, time to look for something else!!!

  31. Hab50 wrote on

    “if you follow other people, you will be following other people.
    in the other hand if you make your own way, other people will follow you”

    being like chrome and opera won’t get you any where

    people use firefox because it is firefox, not any other.

    don’t make firefox like one of the others.

  32. Roland wrote on

    I would argue that today, the redeeming quality of Firefox is as a strong base for what you dismissively call “third-party extensions”. The browser is forgettable, the extensions are not. Firefox lives and dies by the quality and functionality of these, since there are distinguishing features introduced by Mozilla concerning the browser in a long time.
    I should know, I have been using Firefox since version 0.8, I had been using Opera before then due to tabbed browsing – which WAS actually an innovative feature back in the day.

    Through all these years, this is the first time that I’m seriously left to consider which other browser to use instead of Firefox now.

    While past performance is not indicator for future performance, I have nevertheless watched Mozilla try and transform Firefox from an extremely powerful and customizable browser to one which integrates third party pinging (Hello) and unremovable third party services (Pocket) directly, unremovably into the browser as well as sending URLs to Google without warning the user about it at all by default. Coming after these, the “Mozilla knows best” / “Everyone else has a walled garden, so why don’t we?” attitude towards user control of the browser and extension development is galling.

    If you consider this a pessimistic view, remember that the reason I consider Firefox only fit to run third party extensions is because so far, Mozilla has failed to make good on any useful extensions. I tried just about every single one of them in their time…
    This is a different way of saying that what you call security, I consider a lack of security and a lack of seriousness – a disconnect with non-developers, a disconnect with users and Mozilla.

    A browser is more than just code.
    Hence the feedback, hope you take it seriously.

  33. Tommy He wrote on

    Somehow I feel this news needs to better crafted on wording. When something big happens, people tends to be a bit defensive or reacting emotional.
    These probably explains why so many hating or disappointing comments.

    NOTE: read the last update at the end of post for a better picture.

    The ever echoing scream of many commenters pointed to one fear: their beloved Add-on will stop working.
    And their emotional reaction is to threat Mozilla that they will go to another vendor, ironically, is known for sure not even allow their beloved Add-on.

    A bit childish, I would say.

  34. Mick wrote on

    Don’t be surprised with your market share plummeting the way it does then.

  35. anon wrote on

    sad to see mozilla finaly selling out to a future 1984
    hidden entertainment industry runned internet.
    no more youtube downloading, proxifying,etc made
    much easier with firefox addons over google.
    its bad enough the entertainment industry
    hides behind cable companies protrolling downloading.
    google is about as open source as adolf hitler.

    the only thing i do find funny is even though google
    is pretty orwellian starbucks wich google internet provides
    is still not and one of the few restaurants having no net nanny
    restricted web viewing,etc.

    this along with microsoft and windows 10
    trying to force people into having an email wich phone
    verifies you so microsoft can track everyone.

    all i can say in the immortal words of gomer pyle on an andy grifith episode.

    SHAME SHAME SHAAAAME SHAME SHAME!

    hope you all enjoy your barcode tatoo’s on your foreheads in 10 years :P.

    jk jk. cheers. you sellouts.

  36. Hanma wrote on

    “Technologies like CPOWs help us to work around add-on problems”
    Wow, what a toxic claim. Just check how much Firefox itself depends on it http://mxr.mozilla.org/mozilla-central/search?string=cpow https://bugzilla.mozilla.org/show_bug.cgi?id=1127393

  37. musiquegraeme wrote on

    Why is there no mention of Thunderbird? Will this change affect Thunderbird addons?

    1. Jorge Villalobos wrote on

      The project owners for Thunderbird will need to make the call in this case. It’s likely they’ll follow suit, but it will take longer because the Thunderbird release cycle is slower.

  38. xaxax wrote on

    I have read conflicting statements about require(“chrome”). Will it be possible to use it in jetpack based addons at all ?

    I need it for modifying requests and headers and observing preferences.

    If so then many of my addons will no longer work. I have no intention of supporting chrome as my addons are related to privacy. I have more than 10 addons with several thousand users. I need to know where I stand

  39. ndesmoul wrote on

    One extension I use is “Tree Style Tab”. It enables to show tabs on the side of the browser and to manage them like a tree. I found this extension so useful that it’s one of the main reason I still use Firefox.
    No Chrome extension can provide this functionality as well as under Firefox for example.

    As it directly change the interface of the browser, I suppose this extension makes use of XUL, and so will not wok anymore once XUL is deprecated.
    So I would be really disappointed if it became impossible in the future to have such functionality.

    I don’t care if it’s via an extension or directly integrated into the brower though. Actually it would be better to have this option directly into the brower, but it may be too much to hope.

    1. Gerrit wrote on

      Tree Style Tabs is the only addon I use that I suspect will no longer work with the new API. It is so much easier to do extensive web searching and when dealing with more than five open tabs.

      A chrome equivalent does not exist because of the API’s limitations. It simply cannot be done through an addon, you can only achieve it by modifying the browser itself.

      I hope someone comes up with a solution before the old addon API is deactivated.

  40. Timothy wrote on

    Welp, I guess it’s time to switch to Chrome. I always liked Firefox because XUL based plugins could basically rewrite the browser to do whatever I wanted (oh god australis is ugly, but classic theme restorer fixed that), but the vibe I’m getting is that the new sandboxed approach does away with that. Plus, what is the likelihood that all those addons I love that haven’t been updated in two years will sign their addons, LET ALONE update to the new API? Highly doubtful. At least Chrome’s default UI is tolerable. And they have a very mature addon market. Heck, maybe I should give Edge a shot.

  41. addon developer wrote on

    Can someone confirm if there will be any way to use require(‘chrome’) from jetpack based addons ?

    If I can’t use it from jetpack based addons then I’m done and unfortunately all of my addons will die.

  42. Me wrote on

    Dropping the support of XPCOM- and XUL-based add-ons is the worst decision ever. Especially the more sophisticated add-ons are making massive use of both and these are the add-ons which set Firefox apart from other browsers.

    This will lead to the collapse of Firefox’ add-on ecosystem because many add-on developers are not willing or able to port their add-ons. Sooner or later it will lead to the collapse of Firefox itself, because the powerful Firefox add-ons are the reason for many to use Firefox.

  43. Chuck Baker wrote on

    I believe this is the first time I’ve seen a blog used to publish a suicide note. Even if Mozilla were to respond to all the negative feedback and issue an announcement saying “We listened to you all and realize this was a big mistake”, the damage has already been done. By threatening to remove everything that has made Firefox the most powerful browser ever, you’ve peeled away a layer of trust that can never be regained.

    Up until now, Firefox has been more that just a browser. It was a platform one could use to develop powerful tools – not just toys. I’ve been developing and maintaining Firefox extensions for over a decade now and *all* of them make extensive use of XPCOM and XUL. Many of them are very Firefox-centric (FEBE, CLEO, OPIE, etc.) that would be of no use on other browsers. I have no desire to re-write them, and even if I did I’m pretty sure the limited WebExtensions API would not have the functionality I would need to make them work. The day I see a warning in the browser console about XPCOM being deprecated is the day I will remove my extensions from AMO and move them to the Pale Moon repository.

  44. FirefoxPhoenix wrote on

    Some calming posts claim the deprecation of the basic add-on technologies is just another day in the office. They state people will calm down, and suspect some users even misunderstand the announcement as abandoning add-ons altogether. The gist is that just like Australis had enraged some die hard fans for a while, and Electrolysis will have some short-term drawbacks, web-extensions will not change spirit of the browser.

    Frankly, you’re wrong. The combination of mandatory signing without *any* way to get around it in a stable release/beta build and the Chrome-compatible addons will kill off all innovation. It reads as if Mozilla is waving the white flag, just like Opera did some months ago and now is a Google appendix.

    Currently, you can browse AMO and look what interesting ideas new devs have come up with. In the future, to distinguish a Firefox addon you’ll have to apply for new sdk hooks to be added to the web-extensions, or there’s no reason left to use Firefox at all. It’s all about what Mozilla thinks people are allowed to do with their browser, of course for the sake of security and convenience.

    Just helping to port the most popular addons and a faster review process of the sandbox addons will not change this. Anticipating the deprecation, devs will stall their Firefox development *now* and start concentrating on chrome, leaving Firefox in limbo just as Thunderbird already is.

  45. Greg wrote on

    This announcement from Mozilla has me absolutely flabbergasted. I might have expected this on the 1st of April. But no, it’s not a joke, it’s not a bad dream. Mozilla really is seriously considering abandoning the whole ecosystem of customization that made the browser popular in the first place. They’ve been on a streak of bad decisions recently, such as forcing Australis, and including useless bloatware like Pocket, Hello, etc. But this one takes the cake. What is going on at Mozilla? Have they been taken over by former Microshaft employees?

    It’s clear we are on the verge of losing our only viable alternative to the corporate monopolists, and we are that much closer to a controlled, monotonous dystopia of walled garden computing.

  46. Quicksaver wrote on

    (I originally wrote this as a reply to another blog post, but I think it fits well here as well.)

    [ TL;DR : I get the impression almost everyone, myself included on my first read-through, took WebExtensions as the future one and absolute way of writing an extension. IMO, WE isn’t supposed to be the *only* way to code an add-on, but rather *a* framework to do it, replacing the SDK. ]

    I think the biggest thing to keep in mind is the distinction between all the subjects covered:

    – alternatives to XUL and XPCOM have become an increasing necessity, deprecating XUL-based add-ons and those that use XPCOM is the logical first step in getting there;
    – signing has also become a necessity for its own reasons;
    – so has e10s, I think we all want a faster and more stable browser;
    – WE was introduced as the future alternative to the SDK, it is meant to (supposedly?) achieve the same goals, both in end-product functionality and in ease-of-development, with a few added bonuses, the biggest of which seems to be browser portability.

    All of those points are valid, and they have nothing to do with each other. They just happened to be jumbled up in the same blog announcement because they’re happening at the same time (and logically there will be some overlap in achieving all these goals), so most of it was lost in the middle of the whole “holy hell” reaction.

    IMHO, if I look only to the WE over SDK part and forget everything else, WE apparently aims to bring the best points from other established models (Blink) into Firefox, some things that the SDK doesn’t have or can’t do as it is.

    Maybe those things could have been brought into the SDK itself as has been suggested all around, I guess the design decision there was more in favor of browser portability than continuance. Whether that’s actually good or bad, well I’m sure it’s good for those that developer for multiple browsers, and I’m also sure that it in itself shouldn’t really hurt those that develop only for Firefox.

    I wasn’t a fan of the SDK at first (I’ve still never used it actually), precisely because when it was in its infancy it could barely do anything useful. That’s the stage WE is in right now. And remember the goal at the time the SDK was created was “let’s bring as many developers as we can into using it”. Now apparently the goal with WE is “we want even more developers using WE than that”, and if it the point is to try and fit into it as much as add-ons need, as far as signs go I can’t say that’s particularly a bad one.

    What is setting off this little wave of rage and despair is that unfortunately the announcement made it sound like WE will be the *only way* to create add-ons, which I believe is false. XUL-based and SDK-based add-ons aren’t the only formats, you can also create a blank bootstrap.js file and code a restartless add-on from scratch without using a single piece of the SDK. I did, many times over.

    (I’m an optimist, I haven’t seen anything about dropping support for regular restartless add-ons, so I presume those will stay, even if they need some kind of special permission in the new WE permissions model to allow them to work. I did voice that idea just to be safe: https://webextensions.uservoice.com/forums/315663-webextension-api-ideas/suggestions/9440937-deprecate-xul-does-not-mean-deprecate-all-add-ons, and I wasn’t the only one apparently.)

    I think that’s the key point, because while I agree with the general notion that there isn’t a rationale for WE to become *the only way* to create Firefox add-ons, that’s of course a little insane to say the least, there is definitely a rationale, and a good one IMO, for WE as *a framework model* to create Firefox add-ons. To that point, so far I’ve not seen any XUL-based add-on that couldn’t be converted into a restartless format, with more or less effort of course depending on the case:

    – XUL deprecation is irrelevant, whatever you modify now you can still do so in an HTML environment as long as you have access to the DOM tree, and any anonymous nodes or XBL binding methods that go with it can be changed as well (now and in whatever comes to replace them) with some clever JS’ing;

    – XPCOM also has alternatives apparently, although I won’t say much about them as I’ve never used them myself, I’m just basing that on the impression I get from what I gather here and there;

    – signing isn’t a deal breaker, pretty much everything on AMO is signed already, add-ons not hosted there can also be signed (it is extremely easy to do it even), everyone can sign their personal add-ons without having them listed or made public, anyone can pick up an abandoned add-on and submit it as-is for signing and republish it, developers will be able to use unsigned versions in NIghtly and Dev.Edition and even in release and beta Firefox (those complaining about this should do proper research, “unbranded versions” means “exactly the same Firefox version except for the name and logo”), ESR will apparently keep the preference to not enforce signing, and lots more should be coming in the future, what more could anyone (end-users) want? 🙂

    – e10s, well in many cases that will take a little work I guess, but if I, an absolutely amateur coder with no academic background in any kind of computers sciences what-so-ever doing everything in his spare time, managed to rewrite FindBar Tweak, an add-on that was absolutely riddled with e10s-related problems because it touched web content in every step of the way, to an e10s-friendly format, then the same absolutely can be done for every other add-on out there, it only takes some effort, and you won’t believe the performance increase I tell’z ya’ 🙂

    To quote myself, I’ve always believed it is the job of an add-on developer to adapt with Firefox, and not the other way around; after all, add-ons are made for Firefox, Firefox isn’t made *for* add-ons. (I know this is a point that many don’t agree with, but as far as middle ground goes, I think it’s the most appropriate way of looking at things.) Obviously some add-ons will be left behind *if* no one works on them, but if Firefox is rapidly and deeply changing, so must its add-ons.

    With that in mind, we’re at a stage where every add-on needs to adapt, as Firefox itself is undergoing massive changes. WE comes as the announced alternative, for those who decide to (re)write their add-ons from scratch, just as the SDK is/does now. But as long as it doesn’t become the *only* way to code add-ons as I hope it doesn’t, the world of Firefox add-ons will be fine, it just needs some evolving and work done in order to keep going.

    1. Developer wrote on

      Um excuse me, we are the ones that make Firefox stand!! Without us, Firefox would be another IE with a UI of Chrome. So please don’t speak for other developers. Thanks!

      1. aaaaa wrote on

        +1

      2. Quicksaver wrote on

        I never meant to speak for others. I can only assume you’re referring to the second-to-last paragraph, where I say I believe developers should adapt with Firefox. First, I think it was pretty clear that was just my opinion, if only because I started it with “I’ve always believed […]”. Second, I’m a developer myself, so I think I have as much say as other developers.

        But most importantly, I do believe that. I would love to see the browser and all its add-ons move forward, rather than seeing it/them sit still in time for whatever reason. 🙂 That’s not to say I completely agree with WebExtensions, nothing will go forward (quite the contrary) if WebExtensions are meant to be the only method of creating add-ons, like I mentioned I hope they don’t.

  47. andrew wrote on

    First developers were told to move from xul to jetpack and many of us did under the impression that they would last well into the future. Now you are removing require(“chrome”) ability from jetpack addons.

    The sole focus in now on a crippled web extension API and we are yet again expected to port all of our extensions .

    You need to factor in the time cost. This is a huge kick in the face to us developers who have stood by mozilla over the years. Many addons are exclusively for firefox on principle and these no doubt keep users using firefox and attract users to firefox.

    With jetpqck and require chrome we at least have a chance. The fact so many jetpack addons need to make use of low level apis indicates the need for more wrappers around chrome resources.

    Existing source code of addons could be analysed and you could gather stats from the most common chrome low level calls to focus attention there.

    if you remove the ability to use require chrome without offering replacements then I will not be able to continue workibg on my addons many of which are only posible on firefox.

    I understand change is needed , I get that I really do but as a developer I feel that mozilla has been actively working against me for the past while.

    Please don’t leave the addon sdk crippled and if you do plan to deprecate it let us know now so we can stop wasting our time.

    Regards a humble addon developer

  48. رقم سطحة بالرياض wrote on

    Can someone confirm if there will be any way to use require(‘chrome’) from jetpack based addons ?
    If I can’t use it from jetpack based addons then I’m done and unfortunately all of my addons will die.

  49. FirefoxPhoenix wrote on

    For general amusement, I cannot help but point to an article on this very blog that is a little more than 3 years old.

    Quoting from “Using Javascript ( *.jsm ) modules in the SDK”: “The ability of developers using the SDK to get chrome authority and access xpcom services is a key feature. The SDK was designed from the start with the assumption that some developers will always need access to the underlying Mozilla platform.”

    Go figure, or as the Romans knew: Tempora mutantur, nos et mutamur in illis.

    1. Chuck Baker wrote on

      But remember what Oldfarticus said: Non amo mutatio. Nunc ergo arripite et tondere meam.

      1. Chuck Baker wrote on

        (Rough translation: I do not like change. Now get off my lawn.)

        1. Noitidart wrote on

          Haha love it. I think rather then change, they should just add. Which i think they will do, this blog was a feel out blog post as they said. Its hard to believe they’ll actually remove their advantage, and insane insane amounts of time and effort of their devs.

  50. just_another_sysadmin wrote on

    Mozilla depreciates low-hassle self-signed website certificates, opt-in patches, existing addons, and soon unencrypted HTTP… and also one more faceless sysadmin who now uses and recommends Pale Moon over Firefox (may it rest in peace).

More comments: 1 2 3 4 5