Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
So, does the content blocker tweaks the site loading by sending a feedback as if the ad was loaded so that rest of the page loads correctly?

No, that's impossible. The feedback I am talking about is from blocker users.

From my earlier reading: some sites fail to load or load incorrectly because the way ads are coded - unless the ad/tracking script is loaded, it doesn't proceed further giving a blank page.

True. Just like the example from that bug I linked above.
Lots of websites use visualwebsiteoptimizer.com which is often blocked as a tracker. But their javascript does not handle the situation when it's blocked by Safari content blocker and because of this the page becomes empty in Safari.
 
So how do you get around this and make the website load without the ad/tracking?


No, that's impossible. The feedback I am talking about is from blocker users.



True. Just like the example from that bug I linked above.
Lots of websites use visualwebsiteoptimizer.com which is often blocked as a tracker. But their javascript does not handle the situation when it's blocked by Safari content blocker and because of this the page becomes empty in Safari.
 
So how do you get around this and make the website load without the ad/tracking?

Depends on the situation, usually we find & unblock requests necessary for the website to function properly.

Here is an example, we've got a user complaint on macworld.com functionality:
https://github.com/AdguardTeam/ExperimentalFilter/issues/982

To fix this we had to unblock requests to b.scorecardresearch.com and omtrdc.net on macworld.
 
Thanks @avatar-adg for being active on the forum. Always good to know the details, helps to understand how it works and if it fails then why and possible solutions.



Depends on the situation, usually we find & unblock requests necessary for the website to function properly.

Here is an example, we've got a user complaint on macworld.com functionality:
https://github.com/AdguardTeam/ExperimentalFilter/issues/982

To fix this we had to unblock requests to b.scorecardresearch.com and omtrdc.net on macworld.
 
Depends on the situation, usually we find & unblock requests necessary for the website to function properly.

Here is an example, we've got a user complaint on macworld.com functionality:
https://github.com/AdguardTeam/ExperimentalFilter/issues/982

To fix this we had to unblock requests to b.scorecardresearch.com and omtrdc.net on macworld.
So the answer is to unblock some ads and tracking? I'm sorry, I cannot agree with that. It would be better to tell the user to whitelist the site or find a new favorite and never visit that site again.

When a website loads a blank page, I add it to my personal blacklist and never visit it again. Users really need to stop being so "hooked" on one specific website, no website is the only game in town and I'm sure we can find similar content elsewhere. Unblocking things just so a page can load is allowing the ads and tracking services to win.

Unblocking things just to get a webpage to load means that the app is no longer a reliable content blocker.

You really need to let your users know that your app no longer works as advertised, since you're letting trackers through.

I'll have to find a new content blocker.
 
Last edited:
So the answer is to unblock some ads and tracking? I'm sorry, I cannot agree with that. It would be better to tell the user to whitelist the site or find a new favorite and never visit that site again.

When a website loads a blank page, I add it to my personal blacklist and never visit it again. Users really need to stop being so "hooked" on one specific website, no website is the only game in town and I'm sure we can find similar content elsewhere. Unblocking things just so a page can load is allowing the ads and tracking services to win.

Unblocking things just to get a webpage to load means that the app is no longer a reliable content blocker.

You really need to let your users know that your app no longer works as advertised, since you're letting trackers through.

I'll have to find a new content blocker.

That is obviously too hardcore for a casual user:)

Unblocking a tracker request on one website won't hurt user's privacy (as tracker still can't collect anything about you on other websites).

Seeing lots of broken sites will freak him out for sure.
 
That is obviously too hardcore for a casual user:)

Unblocking a tracker request on one website won't hurt user's privacy (as tracker still can't collect anything about you on other websites).

Seeing lots of broken sites will freak him out for sure.
It's the principle of the thing, honesty in advertising, you need to let users know that you're unblocking ads and trackers just to get websites to load. To me this is also known as false advertising.

But that might cost you some customers so it will never happen :(
 
It's the principle of the thing, honesty in advertising, you need to let users know that you're unblocking ads and trackers just to get websites to load. To me this is also known as false advertising.

So how many adverts have you seen while using Adguard? It's important to understand that unblocking something is a last resort and these exception rules are always restricted to the website which functionality is broken.

Content blocker's purpose is not in blocking every third party request, but in improving user's browsing experience. I don't see how seeing broken or empty pages could be good for that.

Despite the high number of filters Adguard allows to use (only "adguard filters" group is maintained by us), I can't suggest anything. For instance, EasyList authors do the same. I mean really, there is no filter author out there who values blocking over user experience.

If you want to simply block everything third-party, you can simply disable all our filters and add one filter rule to your user filter:
Code:
|http$third-party,script,xmlhttprequest
 
I'm sorry, folks, it's just that advertising that the app "blocks trackers", and then the dev allows trackers to go unblocked, results in an app that doesn't work as advertised. Regardless of the reason, the app cannot honestly use the title of "content blocker" any longer. This is similar, in my opinion, to the "acceptable ads" debacle. Developers need to know that this is not acceptable.

If a webpage doesn't load, then it doesn't load. Find a new favorite and move on, that's the best way to send the message about ads and tracking. If we allow this "unblocking" to continue, then all websites will eventually use this as a means to bypass content blockers. Do we really want to set this kind of precedent?

I'm sorry if I stepped on any toes, but my years of service in the US Navy taught me to stand up for my beliefs.
 
Last edited:
The difference here is the developer is not letting ads through for monetary reasons, but for better user experience allowing the page to load instead of just a blank page. Is this good, can you call it a content blocker is debatable.
If for years, you have been using some web sites, forums - Macrumors for e.g., it's not quite useful to just switch to other webs sites or forums because they many not have all the information accumulated over the years. And soon that other newbie web site could also start using ads, and then switch again?
For news sites there are plenty alternatives to switch, but for tech blogs, forums not so many.
I am in no way supporting this practice of unblocking but as avatar-adg noted, it's better to at least load the site by unblocking than hitting a blank page. Yes, that defies the purpose of content blocker and as you pointed out other web sites can do the same to force ads - Yahoo is already doing that.
This could lead to a cat-and-mouse game between users/content blockers vs publishers/ad networks. Better solution has to be invented for a compromise between the two.


I'm sorry, folks, it's just that advertising that the app "blocks trackers", and then the dev allows trackers to go unblocked, results in an app that doesn't work as advertised. Regardless of the reason, the app cannot honestly use the title of "content blocker" any longer. This is similar, in my opinion, to the "acceptable ads" debacle. Developers need to know that this is not acceptable.

If a webpage doesn't load, then it doesn't load. Find a new favorite and move on, that's the best way to send the message about ads and tracking. If we allow this "unblocking" to continue, then all websites will eventually use this as a means to bypass content blockers. Do we really want to set this kind of precedent?

I'm sorry if I stepped on any toes, but my years of service in the US Navy taught me to stand up for my beliefs.
 
I'm sorry, folks, it's just that advertising that the app "blocks trackers", and then the dev allows trackers to go unblocked, results in an app that doesn't work as advertised. Regardless of the reason, the app cannot honestly use the title of "content blocker" any longer. This is similar, in my opinion, to the "acceptable ads" debacle. Developers need to know that this is not acceptable.

If a webpage doesn't load, then it doesn't load. Find a new favorite and move on, that's the best way to send the message about ads and tracking. If we allow this "unblocking" to continue, then all websites will eventually use this as a means to bypass content blockers. Do we really want to set this kind of precedent?

I'm sorry if I stepped on any toes, but my years of service in the US Navy taught me to stand up for my beliefs.

I'm the one who complained about Macworld.com to avatar-avg. :) to me, the whole purpose of content blocker is to improve user experience. This is done by ensuring that the users are not distracted by ads or have their privacy compromised by sneaky trackers. Adguard, for example, does not claim that it's blocking ads and trackers 100% so there is no issue of dishonesty here. I believe that it's hitting the right balance by prioritising the usability of websites (i.e. not breaking them), while minimising the presence of ads and trackers the best it could. This is different from whitelisting the website where you'll get a tsunami of advertisements right in your face. The best part about Adguard is that the granularity of the filter sets, so the users are free to choose whichever filters that are acceptable to their ideal/belief. Moreover, the rules for the filters are totally transparent.
 
So how many adverts have you seen while using Adguard? It's important to understand that unblocking something is a last resort and these exception rules are always restricted to the website which functionality is broken.

Content blocker's purpose is not in blocking every third party request, but in improving user's browsing experience. I don't see how seeing broken or empty pages could be good for that.

Despite the high number of filters Adguard allows to use (only "adguard filters" group is maintained by us), I can't suggest anything. For instance, EasyList authors do the same. I mean really, there is no filter author out there who values blocking over user experience.

If you want to simply block everything third-party, you can simply disable all our filters and add one filter rule to your user filter:
Code:
|http$third-party,script,xmlhttprequest

To ease the mind of some users, is it possible to create a different filter category in future versions such that the exception rules will go there (just like the 'filter for useful ads')? Then the users will have a clear choice between broken websites OR to have the best possible compromise (which should be turned on by default with disclaimers).
 
  • Like
Reactions: ardchoille50
To ease the mind of some users, is it possible to create a different filter category in future versions such that the exception rules will go there (just like the 'filter for useful ads')? Then the users will have a clear choice between broken websites OR to have the best possible compromise (which should be turned on by default with disclaimers).
I like this idea, I feel this is the best compromise and can best serve everyone. You can't please everyone all of the time, but this is likely as close as we will come to doing so. This gives users more control and that is always a good thing.
 
If for years, you have been using some web sites, forums - Macrumors for e.g., it's not quite useful to just switch to other webs sites or forums because they many not have all the information accumulated over the years. And soon that other newbie web site could also start using ads, and then switch again?
My psychology professor of once said, "Every man has a weakness, find that weakness and you control the man". When we are attached to something, we are effectively controlled by it, though denial often prevents us from seeing the truth.

Change is inevitable and is rarely upsetting to those who are willing to step outside their comfort zone.
 
It is possible to introduce some kind of a "paranoid mode" setting that disables all exception rules.

But before doing this I'd like @ardchoille50 to try how it works and then tell if he really needs this.

This will be possible when we implement user filter import feature:
https://github.com/AdguardTeam/AdguardForiOS/issues/29

I'll compose a paranoid filter list, you'll be able to try it and see how it goes.

@ardchoille50 will you give it a try?
 
It is possible to introduce some kind of a "paranoid mode" setting that disables all exception rules.

But before doing this I'd like @ardchoille50 to try how it works and then tell if he really needs this.

This will be possible when we implement user filter import feature:
https://github.com/AdguardTeam/AdguardForiOS/issues/29

I'll compose a paranoid filter list, you'll be able to try it and see how it goes.

@ardchoille50 will you give it a try?
Yes, I'd be willing to try. If it actually disables all exception rules then I'm sure I'll be happy with it. I normally don't bother with pages that fail to load, I simply ignore them and go on to something else. I would rather have to find new favorite websites than allow unblocking even a single ad/tracker.

If I were a webmaster, I would be scouring as much info as possible to find out why content blocker devs allow whitelisting.. and then I would do exactly that in order to have my website whitelisted too.

One cannot win a battle until one begins thinking like their opponent.
 
It is possible to introduce some kind of a "paranoid mode" setting that disables all exception rules.

But before doing this I'd like @ardchoille50 to try how it works and then tell if he really needs this.

This will be possible when we implement user filter import feature:
https://github.com/AdguardTeam/AdguardForiOS/issues/29

I'll compose a paranoid filter list, you'll be able to try it and see how it goes.

@ardchoille50 will you give it a try?

I'd like to give it a try too.
 
If I were a webmaster, I would be scouring as much info as possible to find out why content blocker devs allow whitelisting.. and then I would do exactly that in order to have my website whitelisted too.

We may have a misunderstanding here. You normally do not see or feel that anything is unblocked so there's no profit for a webmaster. I am talking about granular web requests unblocking to fix website javascript, not like Ads&Trackers Gone Wild.
 
You normally do not see or feel that anything is unblocked so there's no profit for a webmaster.
This is how I see it. Consider the following:

Website A results in a blank page, so folks like me ignore them and move on. Due to the sheer numbers of web surfers, logic would dictate that I'm not the only one who does this.

Website B has learned from your own words:
"Depends on the situation, usually we find & unblock requests necessary for the website to function properly." So, Website B intentionally implements things that prompt you to unblock certain requests so their site functions properly.

Website B is going to benefit from linking and "spread-the-word" advertising. Popularity will increase - with or without ad impressions.

Website A is going to see a reduction in viewers - those who gave up because the website didn't load. Popularity will wane.

Content blockers aren't used by 100% of the population. Website B is going to see an influx of visitors - some of which come from Website A - and this will eventually translate to more ad impressions.

Viewership numbers and popularity play a large part when advertising companies are deciding where to invest their resources.
 
What's the difference if Website B just does nothing and works properly without any conspiracy?

From my experience the situation is different.

Website A does not work --> we are swamped with users complaints blaming us for breaking the website --> we fix it.
Website B works good (and without ads) --> users are happy.
 
Website A does not work --> we are swamped with users complaints blaming us for breaking the website --> we fix it.
And how many users simply ignored the problem and moved on without reporting? 1? 1,000? We may never know.

Website B works good (and without ads) --> users are happy.
Would all of those users be just as happy if they knew that you were unblocking things to get the website to load properly? I think being honest about allowing certain things to be unblocked would show honesty as well as to keep users from blaming you for broken websites. I think the majority are blaming you because they don't know what is actually causing the failed loads.

I feel the "paranoid mode" is a beneficial feature, I would rather a website fail to load than have something slip through when I thought it was being blocked.

I realize I'm not in the majority here, but the odds that I'm alone in this are very slim.

However, you're the developer and its your app.. you're free to do with it as you like. Options are good things, for both the developer and the end user :)
 
@avatar-adg: What elements are unblocked, trackers, ads or something else to load the website?

Just a suggestion: Is it possible to notify the user that ads/tracking elements are unblocked similar to accessing https: sites on unsecured connection? This way, it will be transparent to the user when ads/tracking are active and the user can decide whether to continue on that website or move on.

If more websites start implementing these sneaky ads/trackers then it could render content blocking to be pointless if you have to unblock most of the websites.


We may have a misunderstanding here. You normally do not see or feel that anything is unblocked so there's no profit for a webmaster. I am talking about granular web requests unblocking to fix website javascript, not like Ads&Trackers Gone Wild.
 
@avatar-adg: What elements are unblocked, trackers, ads or something else to load the website?

There is no simple answer, these things are always different and site-specific.

It's important, that what I am talking about is how we maintain our filters ("Adguard Filters" group). Adguard allows you to use other filters maintained by other authors if you don't like our filters policy.

Just a suggestion: Is it possible to notify the user that ads/tracking elements are unblocked similar to accessing https: sites on unsecured connection?

Not possible, at least in the current content blocker API implementation.

I've made a feature request related to this a couple of weeks ago, but no answer yet:
https://lists.webkit.org/pipermail/webkit-help/2015-November/003994.html
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.