Adblock Plus and (a little) more

The plan towards offering Adblock Plus for Firefox as a Web Extension · 2017-04-12 08:23 by Wladimir Palant

TL;DR: Sometime in autumn this year the current Adblock Plus for Firefox extension is going to be replaced by another, which is more similar to Adblock Plus for Chrome. Brace for impact!

What are Web Extensions?

At some point, Web Extensions are supposed to become a new standard for creating browser extensions. The goal is writing extensions in such a way that they could run on any browser without any or only with minimal modifications. Mozilla and Microsoft are pursuing standardization of Web Extensions based on Google Chrome APIs. And Google? Well, they aren’t interested. Why should they be, if they already established themselves as an extension market leader and made everybody copy their approach.

It isn’t obvious at this point how Web Extensions will develop. The lack of interest from Google isn’t the only issue here; so far the implementation of Web Extensions in Mozilla Firefox and Microsoft Edge shows very significant differences as well. It is worth noting that Web Extensions are necessarily less powerful than the classic Firefox extensions, even though many shortcomings can probably be addressed. Also, my personal view is that the differences between browsers are either going to result in more or less subtle incompatibilities or in an API which is limited by the lowest common denominator of all browsers and not good enough for anybody.

So why offer Adblock Plus as a Web Extension?

Because we have no other choice. Mozilla’s current plan is that Firefox 57 (scheduled for release on November 14, 2017) will no longer load classic extensions, and only Web Extensions are allowed to continue working. So we have to replace the current Adblock Plus by a Web Extension by then or ideally even by the time Firefox 57 is published as a beta version. Otherwise Adblock Plus will simply stop working for the majority of our users.

Mind you, there is no question why Mozilla is striving to stop supporting classic extensions. Due to their deep integration in the browser, classic extensions are more likely to break browser functionality or to cause performance issues. They’ve also been delaying important Firefox improvements due to compatibility concerns. This doesn’t change the fact that this transition is very painful for extension developers, and many existing extensions won’t take this hurdle. Furthermore, it would have been better if the designated successor of the classic extension platform were more mature by the time everybody is forced to rewrite their code.

What’s the plan?

Originally, we hoped to port Adblock Plus for Firefox properly. While using Adblock Plus for Chrome as a starting point would require far less effort, this extension also has much less functionality compared to Adblock Plus for Firefox. Also, when developing for Chrome we had to make many questionable compromises that we hoped to avoid with Firefox.

Unfortunately, this plan didn’t work out. Adblock Plus for Firefox is a large codebase and rewriting it all at once without introducing lots of bugs is unrealistic. The proposed solution for a gradual migration doesn’t work for us, however, due to its asynchronous communication protocols. So we are using this approach to start data migration now, but otherwise we have to cut our losses.

Instead, we are using Adblock Plus for Chrome as a starting point, and improving it to address the functionality gap as much as possible before we release this version for all our Firefox users. For the UI this means:

  • Filter Preferences: We are working on a more usable and powerful settings page than what is currently being offered by Adblock Plus for Chrome. This is going to be our development focus, but it is still unclear whether advanced features such as listing filters of subscriptions or groups for custom filters will be ready by the deadline.
  • Blockable Items: Adblock Plus for Chrome offers comparable functionality, integrated in the browser’s Developer Tools. Firefox currently doesn’t support Developer Tools integration (bug 1211859), but there is still hope for this API to be added by Firefox 57.
  • Issue Reporter: We have plans for reimplementing this important functionality. Given all the other required changes, this one has lower priority, however, and likely won’t happen before the initial release.

If you are really adventurous you can install a current development build here. There is still much work ahead however.

What about applications other than Firefox Desktop?

The deadline only affects Firefox Desktop for now; in other applications classic extensions will still work. However, it currently looks like by Firefox 57 the Web Extensions support in Firefox Mobile will be sufficient to release a Web Extension there at the same time. If not, we still have the option to stick with our classic extension on Android. Update (2017-05-18): Mozilla announced that Firefox Mobile will drop support for classic extensions at the same time as Firefox Desktop. So the option to keep our classic extension there doesn’t exist, we’ll have to make with whatever Web Extensions APIs are available.

As to SeaMonkey and Thunderbird, things aren’t looking well there. It’s doubtful that these will have noteworthy Web Extensions support by November. In fact, it’s not even clear whether they plan to support Web Extensions at all. And unlike with Firefox Mobile, we cannot publish a different build for them (Addons.Mozilla.Org only allows different builds per operating system, not per application). So our users on SeaMonkey and Thunderbird will be stuck with an outdated Adblock Plus version.

What about extensions like Element Hiding Helper, Customizations and similar?

Sadly, we don’t have the resources to rewrite these extensions. We just released Element Hiding Helper 1.4, and it will most likely remain as the last Element Hiding Helper release. There are plans to integrate some comparable functionality into Adblock Plus, but it’s not clear at this point when and how it will happen.

Tags:

Comment [23]

  1. Ricardo · 2017-04-12 22:55 · #

    If Adblock Plus, one of the most used Firefox extensions, did actually boycott this new stupid move from Mozilla, it would be a clear message they should stop doing another change that will hurt usability and make most users angry.

    I’m sure no user asked for Mozilla to drop support for traditional extensions. Mozilla should start listening to users if it want to compete with big guys. Let’s guess what will happen when 95% of the existing extensions stop working?

    Surely, it will be a change that will be postponed many times, similarly to what happened with Electrolysis (e10s). But, when done, users will suffer again, this time with the lack of extensions.

  2. Omega · 2017-04-13 00:31 · #

    There’s no boycotting this move from Mozilla. Many have already voiced their concern and it was ignored. They’ve made up their minds and already completed steps to remove XUL extensions.

  3. gorhill · 2017-04-13 08:25 · #

    Just use uBlock Origin. We will never sell-out/extort money from ad companies in exchange of being added to whitelists.

    Reply from Wladimir Palant:

    Neither will we, thank you very much. Did you try to make a point with this off topic comment, or was this merely self-promotion?

  4. Idiot · 2017-04-13 09:22 · #

    I would like to know two things:
    1. Will AdBlock Plus Web Extension finally catch up to uBlock Origin in terms of performance? More info in this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1280368
    2. Will ABP Web Extension differ from ABP e10s in terms of security (ABP WE won’t be able to block something ABP e10s can block, etc)?

    Reply from Wladimir Palant:

    1. If you are referring to blocking via observers – yes, there will be no other way with Web Extensions. The bug you are referring to can just as well be resolved, it no longer matters. This directly relates to your second question however.
    2. Ideally – no. But that depends on Mozilla to a large part, there are still issues with the Web Extension platform to be resolved. Note that e10s is irrelevant here, classic ABP works the same with e10s both on and off.

  5. Terryphi · 2017-04-13 11:40 · #

    Will existing add-on automatically update to the web extension version?

    Reply from Wladimir Palant:

    Yes, it will – assuming that you are using a compatible Firefox version. SeaMonkey and Thunderbird users shouldn’t get this update.

  6. Michael · 2017-04-13 19:29 · #

    Mozilla’s ignorance towards their users will result in the demise of Firefox. The old guard has gone! A new penny pinching group has moved into Mozilla Hq.

    ABP has given me 12 years of no ads, no malvertising. I’ll continue to use the original version until it stops updating. Or switch to another Geko browser. If Firefox 57 isn’t a cluster “F”, it’s nice to know ABP will be supporting it.

  7. disappointed · 2017-04-14 01:46 · #

    After testing the ABP dev build I’m so disappointed, now we will just use google chrome inside firefox :-(

    Note: The blockable Items in ABP the classic Firefox extension is much better than the BI integrated in the dev tools.

    PS: Sure this comment #c006939 is just a troll not by the ubo developer.

    Reply from Wladimir Palant:

    As I said, there is much work ahead – we are not planning to release it like that, the user interface will definitely improve.

  8. Raymond Hill · 2017-04-14 15:36 · #

    > was this merely self-promotion?

    I did not write the comment by “gorhill” above, someone else did.

  9. Mad_As_Hail! · 2017-04-17 20:30 · #

    First off, how will this affect SeaMonkey?

    Second, what happened to your forums? They’re loaded with Spam and nobody is replying to inquiries.

    Reply from Wladimir Palant:

    The post explains how this will affect SeaMonkey – SeaMonkey users will be stuck with the last version that’s not a Web Extension (most likely Adblock Plus 2.9).

    I’ll take a look at the forums, we have a moderator shortage right now.

  10. kebin · 2017-04-19 02:28 · #

    Update from last beta to latest beta of ABP does not update/migrating the storage & filterlists and restoring from backup doesn’t work too.
    Have to start from scratch(but the new folder has a storage file of 1kb)

    WebExt version has a problem like cannot display page when enabled(appears blank)
    Cannot import filters too(migrating)

    Reply from Wladimir Palant:

    Which Firefox version are you running, and on which operating system? It’s probably best if you create an issue on https://issues.adblockplus.org/ because there might be more follow-up questions – this isn’t an issue can can reproduce.

  11. James Edward Lewis II · 2017-04-20 16:53 · #

    The first and sixth replies are ignorant of the fact that Mozilla tried to make XUL-based extensions work with multi-process Firefox, and that, combined with listening to the users by not abandoning classic extensions sooner, is precisely what delayed Electrolysis for years.

  12. Kebin · 2017-04-20 19:16 · #

    Which Firefox version are you running, and on which operating system? It’s probably best if you create an issue on https://issues.adblockplus.org/ because there might be more follow-up questions – this isn’t an issue can can reproduce.

    Windows 10/Linux
    Latest Nightly 55, update from Version 2.8.2.4243-beta
    to Version 2.8.2.4244-beta
    auto update off(500mb/day so do it manually)

    Sorry it requires registration and not clear how to file

  13. Michael · 2017-04-22 04:51 · #

    James Edward Lewis II:

    Many Firefox users download the browsers for it’s ad on echo system. Deprication of that system, will drive Firefox users base into the ground.

    Ad ons! That’s what put Firefox on the map! Replacing them with inferior ad ons, is simply a cost saving exercise.

    Netscape curse, strikes again!

  14. vShare · 2017-04-27 21:57 · #

    AdBlock Plus as web extension will be pretty cool to me being a Firefox user.

  15. Jesus Hitler Christ · 2017-05-04 04:35 · #

    I usually don’t chime in about such things but honestly, if by the time 57 is released the webex version of abp works, it’ll be hard for me to give any fvks about it.

    Mozilla making bad decisions for their user base? I’ve been in this industry for half my life and this is now the norm for all companies. There’s a point where you just don’t care anymore.

  16. bopoh13 · 2017-05-04 19:32 · #

    WebExt version has a problem like cannot display page when enabled(appears blank)
    Kebin, my filters don’t work when I open the browser. You can take a trusted shortlink service and put it as a Homepage //clck.ru/f0 e.g.

  17. Adblock plus Bypass · 2017-05-08 19:45 · #

    What about websites that are using Adblock Plus bypass techniques? how and when can we handle them?

    Reply from Wladimir Palant:

    There is no “master plan” for that. These techniques are being dealt with individually, there is no other way. And filter list authors then have to look into each website individually.

  18. Michael · 2017-05-11 11:44 · #

    If Mozilla wants to drive the final nail into Firefox’s coffin. So be it! Mozilla fell from grace years ago, by trying to convince users ads were tiles. Adding unwanted apps for financial gains.

    The old caring Mozilla is dead! This new penny pinching, soulless, ignorant, hipsters will confine Mozilla to the internet history books.

    Adblock Plus ad on will continue to perform like it’s counterparts. Continue protecting users against malvertising. The real issue facing Firefox users, finding substitutes ad ons in web extension world.

  19. tutu helper VIP · 2017-05-15 05:03 · #

    Adblock is working very well on firefox. You can get the latest version of adblock on tutu helper. All the latest paid apps are available for free on this app store.

  20. Daniel · 2017-05-15 05:04 · #

    “Autumn?” In which hemisphere? So either March next year or September this year?

    Reply from Wladimir Palant:

    Feel free to read the full text if you have questions. It says “November 14” though it’s likely that we will publish the release prior to the deadline – maybe in October already.

  21. Michael · 2017-05-18 15:25 · #

    Will Adblock Plus for Firefox Android share the same fate as it’s Desktop counterpart (Webext)? Please ABP team, include a JavaScript disable function for ABP browser (IOS).

    Reply from Wladimir Palant:

    Eventually – yes, we will definitely use the Web Extensions platform there as well. However, as I mentioned in this blog post, it’s not yet clear whether it will be supported to a sufficient degree by Firefox 57. Luckily, we have the option to keep publishing the classic extension for Android for now.

    Reply from Wladimir Palant:

    As to ABP browser, I’m not involved in this project. It’s probably best to create an issue on https://issues.adblockplus.org/ for your request.

    Reply from Wladimir Palant:

    A few hours later my answer is already outdated. Mozilla published an announcement – Firefox 57 for Android will also allow Web Extensions only. This means that we won’t have the option to keep the classic extension there, we have to use the new extension on Firefox Mobile as well.

  22. Raymond Hill. · 2017-05-18 21:37 · #

    > was this merely self-promotion?

    >I did not write the comment by “gorhill” above, someone else did.

    Yeah, OK I’ll fess up. It was me, I just couldn’t help myself.

  23. Mail · 2017-05-22 09:50 · #

    i am using firefox mozzila from around past 2 years. adblock was not that good in Mozilla in comparison of google chrome.
    it should be more good and resourcefull in Mozilla also.

Commenting is closed for this article.