Why Firefox Had to Kill Your Favorite Extension

Firefox 57, or Quantum, is here and that's a huge improvement. Firefox has finally caught up with Chrome in terms of speed, the interface is much cleaner, and there are some new features to boot. There is not much to complain about here.

I'm kidding. On the Internet, there is always something wrong.

With Firefox Quantum, the daytime complaint is that some extensions no longer work . Many high-level extensions, including DownThemAll and Greasemonkey, do not currently work with Quantum. Others, including Firebug and ScrapBook, will probably never work again.

It's frustrating if you are a user of any of these services, and you might think that it's somewhat arbitrary. This is not it. Like it or not, Mozilla felt that they had no choice but to give up what he called "legacy" extensions in order to To go from the front. Here's why.

How old Firefox extensions work

Traditional Firefox extensions were typically written in XML (XUL). This is the language with which the Firefox user interface is built, and XUL-based extensions could directly modify this interface. These add-ons also had near-full access to XPCOM, the powerful component-based model used by Firefox.

If that crossed your mind, just know this: Firefox extensions had more or less ability to switch browsers, and they made these changes directly. That's why these extensions were so powerful: there was not a set of prescribed things that they could and could not change. This is also why these extensions tend to break with new versions of Firefox.

Chrome or Safari extensions do not work this way. These browsers offer developers specific API extensions that they can use, which means that there is a list of things that extensions can and can not control. For two years, Firefox has a similar API called WebExtensions, which it encourages developers to adopt.

Enhanced Traditional Extensions Making Firefox Difficult

Firefox Quantam is not the first update to break an extension: this has been a continuous problem for years. Since Firefox extensions could directly affect Firefox, it was even possible that minor changes to Firefox itself would completely kill add-ins or simply introduce performance bugs.

Firefox users, not knowing that the extensions were causing the problem, would assume that the new version of Firefox is buggy, and from their point of view, that was the case. The Firefox team would do its best to make sure popular extensions worked before pushing a new release, but it's easy to imagine all that slowdown in development.

The WebExtensions API makes it easy by specifically defining what extensions can do and how they can do it. This means that developers only need to make sure that the API is working properly, and not worry that a change in performance or a change in the user interface will break some special extensions. The result should be a decrease in the number of extensions in the long run, but for this to be possible, Mozilla had to abandon the old ecosystem of extension.

The change also makes some of the best features of Quantam possible. Multi-process capability, for example, is a big part of the speed of Firefox Quantam. Four separate processes manage the interface and tabs of Firefox, which means that Firefox can use the four cores of your processor instead of just one. It's a reality that the traditional extension ecosystem has simply not been built, and it's hard to imagine running it without a lot of layers. abstraction that would inevitably slow things down. Many upcoming changes in Firefox have also been delayed by legacy additions, which means that the ecosystem has had to change for Firefox to evolve.

Compatibility between platforms was a problem

Once upon a time, add-ons gave people a compelling reason to use Firefox on Chrome. Nowadays, Chrome is by far the leader in terms of add-ons, while Firefox can feel like a cemetery of unsupported extensions from years past.

Of course, there are some Firefox extensions that you can not get in Chrome, but Chrome has by far the largest ecosystem. The new WebExtensions API will not solve it overnight, but it's much easier to transfer Chrome extensions to Firefox because the language used to write the extensions is quite similar to make porting superficial. In most cases, only a few changes are necessary for a Chrome extension to run in Firefox, which means there is no reason for your favorite Chrome extensions to are not available on Firefox if you ask the developer for enough features. This should lead to a flood of new extensions in an ecosystem that could frankly use it.

Firefox was already losing users

Some may claim that Firefox will lose users due to broken extensions, but it should be noted that Firefox was already losing users to Chrome at an alarming rate for years. The speed compared and the lack of some additions have not helped on this front, and Firefox Quantum aims to solve these two problems.

Is there a chance that this will turn around? Sure. Some people are throwing themselves on Chrome, and others can search for old forks that maintain the old ecosystem of extension. But it's not as if things went well before. Firefox had to evolve to stay relevant, and that's how they decided to do it.

Developers have had time to switch to the new API

Some users will not notice that this switch has arrived because the extensions they are working with already use the WebExtension API. The other extensions have not changed.

This may be due to the fact that the developer has abandoned the extension a long time ago or does not want to rewrite it to use the API. In some cases, the API does not offer enough control to recreate the original extension, so developers abandon their projects. And in many cases, the conversion is just not over yet.

Whatever the case may be, the extensions do not break because Mozilla has changed something right away. WebExtensions has been part of Firefox for two years, and the deadline for updating extensions was announced a year ago :

By the end of 2017, and with the release of Firefox 57, we will exclusively go to WebExtensions and we will stop loading all other types of extension on the desktop.

Still missing an extension on which you depend? This Google document follows several popular extensions and provides alternatives to several common ones. This list is also useful .

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.