Hacker News new | ask | show | jobs
by marten-de-vries 3109 days ago
Interesting approach. I hope more browser vendors will adopt it. It comes with an additional advantage: if a website still needs to function when tracking domains are delayed a second or so, they likely will function too with said domain completely disabled (e.g. using extensions). Sounds like a win from a user perspective.
5 comments

Do you mean that browsers implementing this will force website owners to make their sites work with tracking domains delayed? This does seem like a nice side benefit.
Yes, that's my hope. For the income of website owners it is better if they all collectively block their site until the trackers are fully loaded. But if only a few do so, users might avoid their site, so individuals are still encouraged to support delayed loading.

I imagine Mozilla is in a similar situation: if too many websites block, they will have to disable the delay or start whitelisting trackers if they do not want to loose users. That is, unless other browsers follow their lead here.

Prisoner's dilemmas all around. It's going to be fun to see what we'll end up with, although I'm optimistic as I haven't heard complaints about this yet, but then again I wouldn't notice any difference myself as I'm already using NoScript.

I think it's not quite a normal prisoner's dilemma, because it's not boolean. The browser can be less aggressive initially, pushing against only the worst cases, then become more aggressive over time to make site behave better.
With tracking domains disabled!? Website operators will be annoyed by the delays, so they have an incentive to make the display of their website independent from tracking, which then also should make the website work just fine if tracking is blocked completely.
He meant that no browser with a significant market share will implement thi, the sites will remain broken which will only be evident in firefox. The side effect will be people visiting those sites will switch a different browser.
Given the OP's reply, I don't think that's what he meant so I would be careful about making statements on behalf of others.

Apparently Firefox is sitting at 6.1% market share right now[0]. Far behind Chrome and Safari but still quite significant.

[0] https://amosbbatto.wordpress.com/2017/11/21/mozilla-market-s...

Trouble is the amount of popular websites that simply don't care how long the page takes to load, 30 seconds would be acceptable to many as long as they get their advertising dollars.

Users won't know who to blame. They might blame the site but they're just as likely to blame Firefox, Microsoft, their ISP or a virus. There needs to be a display saying "hey, this site is slow because it's tracking you in 15 different ways, would you like to disable this permanently?".

You're not thinking about this from a game theory perspective.

Slow down pages -> more users bounce -> fewer ad impressions -> less ad revenue.

> You're not thinking about this from a game theory perspective.

> Slow down pages -> more users bounce -> fewer ad impressions -> less ad revenue.

Game theory is the theory of how agents deal with each other. You left out the most crucial part of agents affecting each other!

Yet, many big, profitable websites take 10-30 seconds to load on even the fastest connections. We can reconcile the theory later, but the fact is, much of today’s internet doesn’t optimize for load time.
Also possible scenario is

Slow down pages -> more users frustrated with Firefox -> fewer user share -> Mozilla closes and donates all code to Apache Foundation.

That would be great ! Where do I sign for this ? I cannot wait for this to happen.
Or eclipse which gets unloved projects
how is this game theory?
and lower rankings organically and for ppc get a low quality score on your add and it can really hurt your AdWords account
> Trouble is the amount of popular websites that simply don't care how long the page takes to load...

They absolutely do care, though. The longer a page takes to load, the less time users will spend on the site, and the more likely users will give up and close the window.

I think "load" here is subjective as well eg a spectrum from time to first paint and a page being visible and/or interactive, up until completely loading all async and deferred content, some of which might only happen after the user crosses the fold.

I think there's a lot of interest in optimizing that initial time but less so for the full load.

I block ads, analytics and 3rd party fonts. Almost every site works just fine.
I do the same (uBlock Origin) and almost every site works, but there are a still a few I need to whitelist because they do weird stuff, like triggering their own scripts to run from analytics callbacks. Airline and banking websites are a couple of common categories of sites I usually need to whitelist to work properly - that's not really an issue though as they don't usually have 3rd party ads.
Yeah I have a clean backup browser for the few sites that don't work and I still want to use. I'm always reminded how CRAP the internet has become.
I block everything too and sites break so rarely that it takes me a while to link the breakage with blocking of trackers.
I do the same thing too, blocking all 3rd-party junk using uBlock Origin. As one specific example, I've had to let motortrendondemand.com fire off Omniture, because apparently their video player (through Kaltura) depends on it.

It's just lazy design, or possibly malicious, I'm not sure.

As I'm sure you're aware, many content creators that you are reading the work of fund their efforts via ads. I think this is a happy medium to attempt to improve performance of these pages without denying them compensation.
I used to feel bad about it, but it has become evident that any content creator still primarily funding themselves through third-party ads in 2017 is the digital equivalent of a streetwalker.

It's a low-class business model that is rife with disease. There's no barrier to entry-- literally anybody can do it, there is no filtering of who they'll do business with, and it's a race to the bottom to earn pennies at the expense of their integrity. Despite having actual content of value, they share a business model with a blog farm full of Markov-generated malware-laden shitposts.

Given the now-well-known threats to health and safety that third-party ads present, one does not have the right to get upset when clients insist on using protection when dealing with them.

Set up a Patreon for donations, set up affiliate links or offer subscriber perks if adblocking is cutting into revenue. Either option is far more lucrative, ethical and honest than whoring oneself out for the benefit of some shady ad firm that leaves the user with a nasty case of Bonzi.

Fine. Except figuring out a business model is the content creator responsibility not the user's. Business models that involve hostile 3rd party adds/tracking are bad and if your users are trying to evade those, you need to figure out something better. Blaming the user reaction won't help.
> As I'm sure you're aware, many content creators that you are reading the work of fund their efforts via ads.

Not our problem if they bet on a brittle business model and don't want to adapt. Even more: the web ecosystem was fun and a with a lot more freedom before the invasion of ad based companies. I don't see any problem with some culling of the politically correct parasites.

> As I'm sure you're aware, many content creators that you are reading the work of fund their efforts via ads.

I cannot make myself care about that, at all.

I am not the person responsible for finding a viable revenue model, that is the responsibility of the content creator. I refuse all ads and tracking, because I value my own attention span, my time, my bandwidth and my privacy.

I am not obligated to watch ads online, just as I am not obligated to stay on a TV channel and stay in the room while ads are running, just as I am not obligated to pay any attention at all to ad billboards.

As an aside, I support several high-quality content creators through Patreon, and several open source projects through donations.

Their failed business model is not our problem.

I think you are aware that ads are the emerged part of the iceberg, the big part is the profiling, tracking and data collection going hand in hand with ads.

If ads were unintrusive and not gobbling privacy, then I would not block them as I would not mind them.

Excuse me but I have to go now, local girls want to give me a free ipad that I won by clicking the fart button after subscribing to the newsletter that was blocking the content of the page I finally chose not to read because fk it.

If the ads didn't feel abusive then I might feel bad. But they do.
I have an even better approach:

uBlock origin + noscript

uMatrix is also great. It does a lot of the same things NoScript does, but at a greater granularity. I still use NoScript for its XSS protection features but have the main JS-blocking feature disabled because it's redundant.
It is. It does. uMatrix is probably not for the average user out there, but personally, I won't go anywhere on the web without it these days.

Keep the blacklists up to date, and have scripting completely off by default. You get granular control on a wholly different levet than offered by NoScript (which I really no longer see a need for).

>have scripting completely off by default

Does this mean you have the "scripts" column red and turn them on for individual sites?

That is what it means, yes. And click them on as needed, first local scripts, and then various external ones if that's not enough. Can be a bit of a hassle for a while, but once you get permanent rulesets established for sites you frequent and more or less trust, it works like a dream. I hardly ever see an ad, and various sniffer-services (or "analytics") must somehow learn to live without a lot my traffic data.
Not parent but probably yes. That's how I roll as well.
Interesting. I never got around to playing with uMatrix. Is it worth it considering i have a boatload of configs for sites i use with NoScript?
You can convert NoScript configs to uMatrix with [1]uMatrix-Converter.

[1]: https://pro-domo.ddns.net/umatrix-converter

An even better approach is to block all ad-serving domains at the DNS layer. If you associate with my home access point and use my DNS cache, you don't get ads period, and you don't have to install an ad blocker or lift a finger.
Can you explain how you do that?
> Can you explain how you do that?

Probably Pi-Hole running on. Raspberry Pi. https://pi-hole.net

Yea, not exactly Pi-Hole, but the same concept. dnsmasq running on router, with a big list of ad-serving domains and hosts resolving to 0.0.0.0
Wow, nice and simple. Is that list available in some repository? would like to implement that since I run a dnsmasq bearing router at my home border as well.
I loathe ads and tracking. I run ublock origin/https everywhere/privacy badger (the latter of those 2 are from the EFF).

I run a dedicated pfsense machine (old optiplex 755 with an old ssd) I added a nic to it. All network traffic must physically flow through it (1 nic goes to lan 1 goes directly to the cable modem). It's running pfblockerng and DNSBL with a bunch of sources. It's amazing. I can watch youtube videos on my smart tv in the living room streaming with 0 ads.

Most recently: November Workshop: Running the Pi-hole Network-wide Ad-blocker, and more | https://news.ycombinator.com/item?id=15608052

Related discussions (click the 'comments' links): https://hn.algolia.com/?query=netguard&sort=byDate&type=comm...

Is there much different between uBlock origin vs Ad Block Plus?
Yes, Adblock Plus lets website operators pay them money to be whitelisted, if the ads comply with the "Acceptable Ads" policy.
adblock plus is commercial operated and is paid by advertisers to get whitelisted, akin to an extorsion mafia business. It's an ad blocker coming with tainted default settings. It used to significantly impact performances (not sure if this is still the case).

ublock origin is a one man personal project to improve his online browsing experience that he shared with the public and has become the goto reference. It has no whitelist or acceptable ads policy, is a general purpose blocker (blocks trackers, remote fonts, etc.) coming with sane default settings. It does not have the same performance issues adblock plus has.

In short: ditch adblock plus and switch to ublock origins.

You'll find more details here: https://github.com/gorhill/uBlock

"Unexpected results: Adblock plus does not help with system resource utilisation"

https://twitter.com/adildean/status/936183316134416384

This shouldn't be up to the browser. He even notes edge cases where this performs unexpectedly -- unacceptable.

If this is such an issue and can actually be a performance increase, then someone should release a script with the same functionality. Or optionally make it an opt-in option in settings.

They do not violate the relevant specification. They just implement it in a way that has not been done before with the user's convenience in mind.

That aside, your position is unrealistic: browsers regularly break non-spec conforming websites. They actually monitor such cases (telemetry) and try to work with popular websites to fix the issue before they ship the breaking update, but it's a tradeoff that is regularly made nonetheless.

While the actions were beneficial in this case, that argument would be more convincing if the spec itself weren't a constantly moving "Living standard" maintained by the exact same organisations that also develop the browsers. And even that spec is sometimes consciously broken in an "intervention".
It shouldn't be up to the browser to implement web standards? What should browsers be doing then?
What is the web standard about delaying scripts deliberately encoded into the page?

Why downvote and no explanation? I want to know if I missed something.

Per the standards, scheduling and prioritization of downloads is up to browsers.

The standard also defines that scripts that are not async have to be executed before later content can be parsed (because they can document.write()). They can still be loaded with any priority the browser wants; they just need to block observable DOM construction.

Thank you.