Fenix: Install uBlock Origin

Created on 27 Sep 2019  ·  25Comments  ·  Source: mozilla-mobile/fenix

User Story

As a user, I want to be able to install a popular Android WebExtension, such as uBlock Origin in Fenix, and be protected from unwanted ads and distractions.

Dependencies

A-C project board

Acceptance Criteria

  • I can choose to install uBlock Origin in Fenix
  • I can choose to un-install uBlock Origin in Fenix
  • I can see the # of blocked trackers and resources that have been blocked by uBlock origin

Design tasks

  • [ ] Add uBlock Origin as an install target under the Add-ons Manager page
WebExtensions engverified m

Most helpful comment

Progress report:

  • I’ve designed uBlock Origin as an installable target under Add-ons Settings

    • Add-ons like uBlock Origin has a “Disable” control, but other add-ons don’t have one (e.g. Video DownloadHelper)

    • Therefore, it seems like we want three different add-on states: not installed, installed (enabled) and installed (disabled) – so users can manually disable when the add-on doesn’t provide that control

All 25 comments

Added design tasks.

Updated design tasks to suit uBlock Origin.

Progress report:

  • I’ve designed uBlock Origin as an installable target under Add-ons Settings

    • Add-ons like uBlock Origin has a “Disable” control, but other add-ons don’t have one (e.g. Video DownloadHelper)

    • Therefore, it seems like we want three different add-on states: not installed, installed (enabled) and installed (disabled) – so users can manually disable when the add-on doesn’t provide that control

How will it be possible to import rules into uBlock Origin if local file opening is inexplicably going to be removed from Fenix?

https://github.com/mozilla-mobile/fenix/issues/4049

@Kakitoru sync or copy/paste

Hi @Kakitoru, importing rules into uBlock Origin isn’t something I’ve thought of in the design, so thanks heaps for bringing it up.

Do you know if there are other features I’ve overlooked?

Progress report:

  • Through iterating on the design, we now know that adding uBlock Origin (or any other add-on) should be done using a button (can either be a “+” icon, or “+ Add to Firefox)
  • After installing, we provide a toggle to enable/disable this add-on
  • This may help migration

    • For example, if you have uBlock Origin installed on Desktop or Fennec, Fenix can add uBlock Origin automatically, after you sign into your Firefox Accounts. All you need to do is enable it.

    • For maximum convenience, Fenix may even choose to enable uBlock Origin for you. In this case, we definitely want to let you know that Fenix did this in the background.

how can I test? config flags? special build? @brampitoyo

Hi @andreicristianpetcu. As a UX designer in the team, my update talks about add-ons in terms of its experience and interface: user flow, mockups and design variations.

To my knowledge, our Engineering team is currently doing the groundwork to build it, and the actual support will only land in Fenix later this year.

We will definitely let you know when it’s available to test in the app!

Please add it , we need ublock origin

Having copied and pasted as well as synced uBO's settings into FFox for Android, sync doesn't work on Android Fennec. Even if it did work, the way uBlock Origin uses sync, it's per-device. I cannot sync one device to another. It also requires an initial upload before download works so the first step is to wipe out what is already in the sync storage. The only time it serves a purpose is if you uninstall uBlock and reinstall it in the same Firefox profile, in the same Firefox instance, on the same machine. Otherwise it just wipes itself out.

As for copy/paste, their built-in configuration editor is not too friendly. Sometimes it copies line numbers, adds extra line endings, won't let you delete lines easily when using touchscreen controls. The only thing that works reliably is exporting and importing from a file.

You'd also need the same for NoScript's export/import settings feature.

I'm not a Fenix dev but I would say uBO sync is a different story @jawz101

On November 3rd you suggested using sync or copy/paste in lieu of importing & exporting a backup of the config file. I was giving reasons why that is not too possible on mobile

@gabrielluong how can I test this? is there a special build or it should land in Nightly?

It will be in the next nightly, or you can probably download a build from the checks panel in #8064 (not sure which one).

But that's a debug build, right?

But that's a debug build, right?

Sure. Nightly hasn't been built after that. It might be scheduled a few hours later. You can have a look at the debug build if you don't want to wait.

Tested, it works.

Same here. Thanks a lot for the work !

I found a few issues:

  • a minor one, when clicking on the uBlock panel, then the button to open the dashboard; it does open, but I need to go back first, it does not go on top.
  • I can reliably crash the browser by clicking on a list in uBo settings -> Lists. I've sent the crash reports, but since this isn't even a nightly build, I don't know if you'll see them. They don't appear in about:crashes, but it might be expected on Android.

Should I open new issues for those ?

Can the extension be installed from an external site such as Github ?

example -- https://github.com/gorhill/uBlock/releases/tag/1.24.5b1

Hi everybody, we are working hard in collaboration with @gorhill to bring official uBlock Origin support to Fenix.

One more thing: to make the experience of using uBlock Origin even better (and other add-ons – in case we plan to support them in the future), it’s not enough to simply support an add-on. We also want to improve how add-ons are shown:

  • In Fennec, add-ons open in new tabs. Not only do they bring you out of the webpage you’re currently in, but if you change anything in the add-on, you must switch tabs to see it. We want to improve this.
  • Most add-ons are built for the desktop. They may open in doorhangers that have the width of a mobile device, but many elements aren’t big enough to be tappable. Ultimately, add-on developers will need to do the layout work; but we want to help them ‘responsify’ or optimise their design.

good job. i will keep watch. and now fenix was my primary daily phone browser.

Verified on the latest Nightly build from 2/5 with:

  • Samsung Galaxy Tab A6 (Android 5.1.1),
  • Nexus 5 (Android 6.0.1),
  • Huawei P9 Lite (Android 7),
  • Samsung Galaxy Tab S3 (Android 8),
  • OnePlus 5T (Android 9),
  • Google Pixel (Android 10).
Was this page helpful?
0 / 5 - 0 ratings