Home Tech Why Firefox Killed Your Favourite Extension

Why Firefox Killed Your Favourite Extension

SHARE

It’s no longer news that Firefox Quantum is here, and it’s a huge improvement. Firefox has finally caught up with Chrome in terms of speed, the interface is a lot cleaner, and there are some great new features to boot.

However, with the birth of Firefox Quantum, came the death of  certain extensions. Numerous high profile extensions, including DownThemAll and Greasemonkey, don’t currently work with Quantum. Others, including Firebug and ScrapBook, will likely never work again.

This is frustrating if you’re a user of one of these services, and you might think it’s somewhat arbitrary. It isn’t. Like it or not, Mozilla felt they didn’t have a choice but to abandon what it calls “legacy” add-ons in order to move forward.

But before you scream MURDER, Here’s why.

How Legacy Firefox Extensions Worked

Traditional Firefox extensions were generally written in XML User Interface Language (XUL). This is the language Firefox’s user interface is built with, and XUL-based extensions could modify that interface directly. These add-ons also had near full access to XPCOM, the powerful component object model used by Firefox.

If that went over your head, just know this: Firefox extensions had a more-or-less total ability to change your browser, and they made those changes directly. This is why those extensions were so powerful: there wasn’t a prescribed set of things they could and couldn’t change. It’s also why these extensions tended to break with new Firefox releases.

Extensions for Chrome or Safari don’t work this way. Those browsers offer extension developers specific APIs they can use, meaning there’s a set list of things extensions can and can’t control. For two years now, Firefox has offered a similar API called WebExtensions, which it has encouraged developers to adopt.

Traditional Extensions Made Improving Firefox Difficult

Firefox Quantam isn’t the first update to break an extension: this has been an ongoing problem for years. Because Firefox extensions could affect Firefox so directly, it was possible for even minor changes to Firefox itself to break add-ons completely, or just introduce performance-sapping bugs.

Firefox users, not knowing the extensions were causing the problem, would assume the new Firefox version is buggy, and from their perspective it was. The Firefox team would do their best to ensure popular extensions were working before pushing a new version, but it’s easy to imagine all of this slowing down development.

The WebExtensions API makes all of this easier by specifically defining what extensions can do and how they can do it. This means developers only need to ensure that the API is functioning properly, and not worry that a performance tweak or UI change will break particular extensions. The result should be fewer extensions breaking in the long run, but to make this possible, Mozilla needed to abandon the old extension ecosystem.

The change also makes some of Quantam’s best features possible. The multi process capability, for example, is a big part of Firefox Quantam’s speed boost. Four separate processes handle Firefox’s interface and tabs, meaning Firefox can use all four cores of your processor instead of just one. This is a reality that the traditional extension ecosystem simply was not built for, and it’s hard to imagine making it work without a lot of layers of abstraction that would inevitably slow things down. Many upcoming changes to Firefox were similarly being held back by legacy add-ons, meaning the ecosystem had to change in order for Firefox to evolve.

Cross Platform Compatibility Was a Problem

Once upon a time, add-ons gave people a compelling reason to use Firefox over Chrome. These days, Chrome is by far the leader in terms of add-ons, while Firefox can feel like a graveyard of unmaintained extensions from years gone by.

Sure, there are a few Firefox extensions that you can’t get in Chrome, but Chrome has the bigger ecosystem by far. The new WebExtensions API won’t fix this overnight, but it does make it a lot easier for Chrome extensions to be ported over to Firefox because the language used to write extensions is similar enough to make porting superficial. In many cases, only a few tweaks are needed for a Chrome extension to run in Firefox, meaning there’s no reason your favorite Chrome extensions can’t come to Firefox now if you ask the developer nicely enough. This should lead to a flood of new extensions in an ecosystem that could frankly use it.

Firefox Was Already Losing Users

Some may argue that Firefox will lose users because of broken extensions, but it’s worth noting that Firefox was already losing users to Chrome at an alarming rate, and has been for years. Comparative speed and a lack of certain add-ons were not helping on that front, and Firefox Quantum aims to fix both those problems.

Is there a chance this will backfire? Sure. Some people will jump ship to Chrome, and others might seek out ancient forks that maintain the old extension ecosystem. But it’s not like things were going well before. Firefox needed to evolve to stay relevant, and this is how they decided to do it.

Developers Had Time to Switch to the New API

Some users won’t notice this switch has even happened, because the extensions they work with already use the WebExtension API. Other extensions haven’t switched.

This could be because the developer abandoned the extension a long time ago, or doesn’t feel like re-writing it to use the API. In some cases, the API doesn’t offer enough control to re-create the original extension, so developers are abandoning their projects. And in many cases, the conversion simply isn’t done yet.

Whatever the case, the extensions aren’t breaking because Mozilla changed something all of the sudden. 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’ll move to WebExtensions exclusively, and will stop loading any other extension types on desktop.

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

Subscribe to TN Daily!

Follow us on twitter @topnaija.

Copyright 2017 TopNaija.ng. Permission to use quotations from this article is granted subject to appropriate credit being given to www.topnaija.ng as the source.
SHARE
Previous articleApply! Kahane Foundation’s Grant Program
Next articleHow To Create Your Own Reality
mm
What's life without Ice Cream? This is perhaps the only question I do not have the answer to. Avid reader, great writer, fine boy and Ice Cream lover. Congrats, you know Kingsley | Kingsley Igbafe is a Staff Reporter at TopNaija.ng

14 COMMENTS

  1. I do not even know how I ended up right here, however I believed this submit was once great. I don’t understand who you’re but certainly you’re going to a well-known blogger if you happen to aren’t already 😉 Cheers!

  2. Good day! This is my very first reply here so I simply wanted to say a fast hello and tell you I really enjoy reading your articles. Can you suggest any other sites that cover showbox movies for android? I am as well pretty intrigued by that thing! Thank you!

  3. Howdy I’m really happy I found out this site, I actually discovered you by mistake, while I was browsing on Aol for real twitter followers. Anyhow I am here now and would really like to say thanks a lot for a incredible article and the all round thrilling website (I too like the theme), I don’t have sufficient time to go through it all at the moment however I have saved it and also added in your RSS feeds, so when I have the time I will be returning to browse more. Make sure you do continue the great work.

  4. I’m truly loving the theme/design of your blog. Do you ever face any kind of internet browser interface problems? A few of my website visitors have lamented about my personal lawyer site not operating appropriately in Internet Explorer though appears amazing in Safari. Do you have any recommendations to assist correct this problem?

LEAVE A REPLY

Please enter your comment!
Please enter your name here