dhowe / AdNauseam

AdNauseam: Fight back against advertising surveillance
GNU General Public License v3.0
4.58k stars 191 forks source link

the default/global strict mode option unable to keep enabled #2255

Open JaegerFox opened 1 year ago

JaegerFox commented 1 year ago

Describe the issue

the default strict mode option does not work, I click on it but it is disabled when reloading the dashboard page. I just want like an whitelist having that option enabled by default just for support certain websites

Steps for anyone to reproduce the issue

Just open the options page, scroll down to the default options and try enable Strict Blocking Mode, reload and you see the option disabled again

Your settings

Your filter lists

AdNauseam filters + Easylist + Easyprivacy

** For adult or potentially offensive sites/ads, please add a [Content-Warning] tag in the title to warn developers the ticket may contain such material.

mneunomne commented 1 year ago

Thank you @JaegerFox for the ticket.

Actually you are right, we actually had disabled the global strict block functionality because of the new "strict block list". And apparently I forgot to remove it from the UI.

But good to know that there is demand for this feature, so what I'll do for the next release is enable it back. Perhaps move the option check box to the Strict Block List tab? Not sure.

mneunomne commented 1 year ago

The main issue need to think is how the global strict block relates the strict-block-list and also the menu UI with the active/strict/disabled option. Some things to consider:

mneunomne commented 1 year ago

@dhowe what do you think?

mneunomne commented 1 year ago

Once we decide what to do, started the re-implentation here: https://github.com/mneunomne/AdNauseam/tree/%232255

JaegerFox commented 1 year ago

I think that the option should be enabled by default, since it is a behavior similar to uBlock, besides that the normal behavior of ADN still shows a good amount of ads on random pages and it is a bit annoying to add them in the strict block list when it shouldn't be necessary. The global strict blocking option fixes this problem and would work more like the reverse and only allow certain pages to use ADN blocking. I think this should be implemented as a "white list" block mode and a "black list" mode, 2 lists that are only used depending on which one we have enabled. I don't know if I can explain myself

dhowe commented 1 year ago

This seems very confusing to me -- we have per-domain "strict blocking," which means one thing, then global-strict-blocking then there is uBO-style strict blocking which means something different...

Question: does ADN block sites completely (as uBO does) when such a rule is encountered in a filter-list, or does this only happen for sites NOT in the enabledBlockLists ?

JaegerFox commented 1 year ago

I think that if that option is removed and the behavior would be similar to uBO, it would go against the philosophy of ADN (? I just want that option to be active and working again.. so that users who look for only certain ads on some trusted web pages can disable this strict blocking per site or domain

mneunomne commented 1 year ago

we have per-domain "strict blocking," which means one thing, then this option to allow full blocks of site

We are not talking here about full-blocks of website, but rather only strict-block.


Io clarify, strict-blocking means we disable adn-allow rules. But does NOT makes adnauseam the same as ublock, since we still collect some ads while even without adn-allow rules.

e.g.: in google.com we collect ads dispite the fact that strict-block is activated on this domain:

Screenshot 2023-01-25 at 10 23 12

So I think perhaps yes, we can actually have 'strict-block' be anabled by default, and then have adn-allow when the user needs to collect even more ads. This would solve the situation that ads will always make many ads appear. BUT we would have to make many UI changes since the whole messaging of our application goes in the other direction, where strict is seen as an exception.


And also a possible solution would be to simply add an option on firstrun.html where the user chooses between:


JaegerFox commented 1 year ago

Thanks for clarifying, now I can understand better.

Well yes, I really don't know how difficult it could be to integrate that but I wanted an option similar to the integrated adblocker of Brave where by default it blocks only intrusive ads and trackers and a global strict mode, but also allowing the user to choose if they want a softer blocking certain web pages/domains

dhowe commented 1 year ago

What I am pointing to above is the fact that strict-blocking means something very different in uBO and ADN (global and domain-specific), so we need to make this clear in the UI and FAQ

Regardless I think it is NOT a good idea for ADN's global-strict-block to be the default, as this would reduce the amount of ads collected and clicked, which is ADN's primary function

My understanding (this could be wrong) was that the survival of the global-strict-block option in settings was primarily for debugging, so that we could easily ask users to toggle it and then compare what they see on problematic sites, thereby telling us whether a problem originated in adn-allow rules...

Also, what is ADN's current behavior on sites that are fully blocked (uBO's strict blocking) ? Does this only happen for lists not included in enabledBlockLists ?

JaegerFox commented 1 year ago

I fully understand not to enable strict-block as default and I understand its function when enabling it and analyzing it through the logger tool that uBlock/ADN offers, that is already clear to me

The thing is that I want that option to be available since in many web pages (not the typical ones) ads appear and there is not much difference between having ADN enabled or not (without the stirct-mode option) My idea is to have the strict-mode enabled globally and choose which pages to use the "normal" mode of ADN to avoid add many websites to the strict-mode list

mneunomne commented 1 year ago

Regardless I think it is NOT a good idea for ADN's global-strict-block to be the default, as this would reduce the amount of ads collected and clicked, which is ADN's primary function

But on the other hand, I think the appearance of ads its one of the major reasons why people switch to uBlock Origin eventually. So let's say we enable global strict blocking, and more people stay using ad block. We still collect ads (still many) with strict-blocking, although less, BUT since there are more users, we will be clicking more ads overall.

Also it's not that strict-blocking needs to be enabled by default. But maybe since first-run the user should be aware that there is an option for them to NOT see any ads, and click less of them, OR to see some ads but collect lots of them.

I think this might help with our user retention and have a more clear communication what people can expect from the extension.


As @JaegerFox has stated, and I have noticed this myself, it is not so convenient to manually strict-block websites for everytime one notices ads are appearing. For my own personal experience it would be better to simply have a way to on-and-off enable a global strict-block, depending on my current navigation pattern.

dhowe commented 1 year ago

The thing is that I want that option to be available since in many web pages (not the typical ones) ads appear and there is not much difference between having ADN enabled or not (without the stirct-mode option) My idea is to have the strict-mode enabled globally and choose which pages to use the "normal" mode of ADN to avoid add many websites to the strict-mode list

To be clear then, the feature request here is the ability to enable global-strict-block, then selectively/manually add sites where a user wants this to be disabled (rather than the opposite approach as in the current implementation). Is this correct @JaegerFox

dhowe commented 1 year ago

it is not so convenient to manually strict-block websites for every time one notices ads are appearing. For my own personal experience it would be better to simply have a way to on-and-off enable a global strict-block, depending on my current navigation pattern.

Sorry, isn't this what the current global-strict-block switch in settings does ?

dhowe commented 1 year ago

But on the other hand, I think the appearance of ads its one of the major reasons why people switch to uBlock Origin eventually. So let's say we enable global strict blocking, and more people stay using ad block. We still collect ads (still many) with strict-blocking, although less, BUT since there are more users, we will be clicking more ads overall.

Also it's not that strict-blocking needs to be enabled by default. But maybe since first-run the user should be aware that there is an option for them to NOT see any ads, and click less of them, OR to see some ads but collect lots of them.

I think this might help with our user retention and have a more clear communication what people can expect from the extension.

I think that a lot more quantitative data is needed here before we should even consider such a change, including:

  1. do we actually have a retention "problem" (and how can/should this be measured) ?
  2. are people actually seeing ads regularly (I, for example, see an ad perhaps once a month),
  3. we need to quantify the relative number of ads collected/clicked in normal vs global strict mode

I would also question adoption/retention as primary goals for ADN. They are important of course but they are not, imho, the core of what we are trying to achieve. @hfn1 any thoughts here?

JaegerFox commented 1 year ago

The thing is that I want that option to be available since in many web pages (not the typical ones) ads appear and there is not much difference between having ADN enabled or not (without the stirct-mode option) My idea is to have the strict-mode enabled globally and choose which pages to use the "normal" mode of ADN to avoid add many websites to the strict-mode list

To be clear then, the feature request here is the ability to enable global-strict-block, then selectively/manually add sites where a user wants this to be disabled (rather than the opposite approach as in the current implementation). Is this correct @JaegerFox

Yes, i think its better this

mneunomne commented 1 year ago

As much as I think this makes sense, it would make things a bit complicated in terms of messaging, because we would need to have 3 types of list of domain/page-specific behaviour:

Which perhaps is a bit unnecessary.

I'm trying to figure out a way that we can go around this, using more advanced features such as net filtering rules.

I'll get back to this post once I figure something out.

mneunomne commented 1 year ago

do we actually have a retention "problem" (and how can/should this be measured) ?

Not sure how this can be measured, but if you check, most of the reason of us getting low rating in firefox extension store are ads appearing:

firefox reviews with low scores

are people actually seeing ads regularly (I, for example, see an ad perhaps once a month),

Yes. I can say for myself, that when using sites such as f)movies.to, or other such "pirate" websites, usually ads appear and it is really hard for us at Adnauseam to keep up removing adn-allows for such cases.

It works for me that I activate strict-blocks on such websites, but the problem is that often they change their hostnames, AND strict-block only takes into affect once you reload the page (perhaps this can be implemented? activate strict-block on the menu generated [or suggests] a page reload. created a ticket https://github.com/dhowe/AdNauseam/issues/2263)

we need to quantify the relative number of ads collected/clicked in normal vs global strict mode

For sure, I can try to do that. Created a ticket https://github.com/dhowe/AdNauseam/issues/2262

I would also question adoption/retention as primary goals for ADN.

When I mean retention is directly related to the question 1 and 3.

A-Charvin commented 1 year ago

This is still an issue. The Strict mode is not getting enabled and quite a few ads slips past the blocker and shows up. I would like to enable strict mode to get rid of the ads rather than trying to do it one site at a time for a random site which I might encounter once in a blue moon and is riddled with ads.

mneunomne commented 1 year ago

Hello @A-Charvin , So you would like to enable strict mode globaly?

A-Charvin commented 1 year ago

Hello @A-Charvin , So you would like to enable strict mode globaly?

Yes, Indeed. That would help a lot, since it is not always the sites we regularly visit which are the issue, It's those random temporary redirects.