Comment by Sophira
9 days ago
> Eventually, this arms race ends with a computer vision model that looks at the screen, classifies visual elements as ads, and draws a rectangle over anything that looks like an ad.
That isn't enough for me. I don't just want to not see the ads, I want to stop them being fetched entirely.
There are two big problems with ads.
* The ad network can build up a very complete profile of what you like, dislike, and generally what you're looking at on the web. Yes, that profile is "anonymised" so far as it goes, but in reality, that doesn't really matter. If you know what you're looking for, there would be enough tells in the data that can de-anonymise you. Covering up the ads doesn't stop this data being collected; it merely stops you wanting to click on the ad.
* Ads are a very common malware delivery system, and although nowadays it's probably less common to have an ad that will auto-download malware without you clicking it, there are instances of it happening in the past. Stopping ads from being fetched entirely would obviously prevent this.
> less common to have an ad that will auto-download malware without you clicking it
Less common but we just saw a week ago that malware-via-ads is definitely still happening today: https://news.ycombinator.com/item?id=49170001
This one replaced users clipboard contents with a particular bitcoin wallet address. So a few people who happened to be on their way to send some crypto pasted the malicious wallet address instead of the one they actually copied to their clipboard. This has stolen at least $100k so far.
Web browsers let web programmers do what they want. Some things should be native to the browser and not allow any tinkering, like selecting text, copying, etc.
Wow that’s super smart. Obviously I don’t have any sympathy for crypto bros losing money, but it’s easy to see how something like this could be applied to typing account numbers into something else. More safeguards on the latter, but essentially the crypto one is a proof of concept of something that could affect real people.
Furthermore, ads are a resource drain that should not be taking over our personal systems.
The web started as this proposition: you send a request to remote computer. Request says "Hey... can I read a document named this?" and the computer shows you the document. Now this may have included images and external links and sound, and whatnot.
But today, the web is more of an application delivery system too. So many requests go "Hey... can I have a resource by this name?" and the remote computer may send you a lot of source code that basically demands to run on your machine in order to get that resource.
And advertisements are piggybacking on those resources. They are a "package deal" where they are saying "you wanna read this text? you gotta take all this extra stuff with it."
And is it any surprise that coinminers are unleashed and other unpleasant things come down the pipe? Big fat videos and huge images are hogging resources.
So here's the bottom line: I don't need to use the web for free. I don't intend to freeload anyone's site or resources. But I also don't want them freeloading on me. I'm not going to download their crap; I'm not going to run their programs; I'm not going to occupy my own system's resources to display their ads when I don't want them.
So it seems fair to block "ads" that are asking to use my resources without paying for them. So I would prefer not to transact--at all--with any remote system that wanted to freeload on my resources in exchange for worthless information, like news, or forums.
But today, the web is more of an application delivery system … I would prefer not to transact--at all--with any remote system that wanted to freeload on my resources
What I really want is a non-executable web. I first started using the web in the mid-90s and most websites were like that. HTML, images, colours, fonts (but only from a pre-defined short list), and the occasional sound. If a site used JavaScript at all, it was for trivial stuff such as rollovers (which can now be done using CSS only).
I’d like to go back to that situation, maybe not exclusively but as a separate option. Give me a non-executable web of text, hyperlinks, images, videos and sounds (but no auto-play), CSS, forms, and web components (that can be targeted by links and fetched without refreshing the entire page) so we can do really nice discussion forums, web mail, multimedia encyclopedias (think Encarta) and other server-rendered resources, all without client-side scripting.
It doesn’t even need to be a different protocol or anything like that. It would be enough to have an otherwise modern browser but with no JS engine and a search engine that only indexes pages that lack JavaScript so that they render and function correctly on that JS-free browser.
Naturally, the search engine would miss a lot of the spam sites out there because they all rely on JavaScript. It would also miss many legitimate sites that rely on JavaScript but that’s okay.
It would create a space for JavaScript-free sites to get attention and develop a community. It would of course allow commercial sites, but they’d have to rely on display advertising and traditional marketing (targeted audiences based on subject matter) rather than behavioural tracking. This was the kind of advertising used in magazines and newspapers. It was far less obnoxious but still quite effective when the audience was large enough. It also demanded a lot more creativity from the ad industry, as documented in the show Mad Men.
Unfortunately, there are already techniques that track you through static elements on a page (think tracking pixels, but any resource load is sufficient).
Considering the money in advertising on the internet, if web moved to more of a content delivery platform, we'd have both 1. content start including ads inline (you see that on Youtube already), and 2. static/server-side tracking techniques improve even further.
Even if we disallow cross-site resources, site owners will implement tracking server-side, though that obviously introduces a trust question between trackers and hosters.
With those two, an ad network with sufficient tracking support from web sites would still be able to cross-link the traffic on a single user and achieve similar results.
This does not mean we should not fight it. But this would just be a step in the cat-and-mouse game, but a very expensive and hardly achievable one too :)
1 reply →
But why? Why wouldn't I want to enjoy stuff like this: https://ciechanow.ski/mechanical-watch/
Or watch a video. Or do some basic editing of some kind of medium that I will only do once and would make no sense to download a whole application for?
Why throw out the baby as well? Besides, ads can be part of text content as well.
This is typically something that should be regulated by laws, not through tech.
1 reply →
> Request says "Hey... can I read a document named this?" and the computer shows you the document.
Did you not skip over a lot of steps in between?
User: Hey can I read a document named this?
Server: Sure, let me spend resources and spin harddisk and lookup the thing you wanted. Oh hey, I found it .. here ya go
User: Great.
----
You've conviently ignored the resources the "old" web had to spend to serve you. Nothing has really changed it. Also the thing you wanted, that was "source code". We just called it html. It is no different than javascript+css+html5.
This argument makes no sense, because the CPU and disk resources required to serve up a modern ad (and the megabytes of JavaScript that come with it) are 100-1000x more expensive than just serving up the content.
1 reply →
I did not intend to omit that, but the origin of the web was in a peer-to-peer, collaborative Internet that no longer exists.
Yes, the server resources that were necessary to serve web pages are the origin of advertising, because the admins somehow had to keep the lights on and their bills paid. I don't fault them for this. I don't begrudge them for being, basically, forced into carrying advertising because the freeloading users wouldn't settle for any other way. Advertising allowed a "free web" to continue unabated for a long time.
But advertisements don't need to be resource-intensive on the client side. They don't need to eat gobs of bandwidth, CPU, memory, or our eyeballs. But the fact that they do chew up these resources is partly for why they need to die now.
Server admins can pay for their resources however, and offset their costs however they please. I'm fine with subscription or pay-per-use models or whatever. I honestly have very little use for ad-supported models, and my daily web habits are such that I really don't visit ad-supported websites at all, except for YouTube, where I normally pay for a Premium subscription to completely eliminate all formal ads, anyway. And that's the way it should be.
If a computer vision model can identify ads and draw a rectangle over them, it can identify the DOM elements rendered inside that rectangle. Thus, the HTML, JS, and network calls of those ads can be detected. This data can then be used to train an ad detector model based on the DOM and network examples. The computer vision model essentially trains the DOM/network blocker, acting as a fallback mechanism when the blocker fails and continuously retraining the ad detector model.
Technically speaking, it’s possible to have the same kind of requests for legit content and ads. It’s also possible to randomize the response type (ad or content). In that case the only way to solve this before sending a request is to break their random number generator. That’s definitely not on the level of ad blockers.
However, I have no clue whether the content delivery system is already like that, and if not, then why. My domain knowledge is slim.
Not sure that's correct. You're replacing a simple visual recognition problem with something similar to the halting problem (but maybe less fatalistic, depending on the formalism you're working against ie DOM vs js).
Facebook is the ad network for Facebook. Will not fetching ads from Facebook really stop Facebook from knowing your age and location?
You have a small understanding as to how ads work and what they know.
Blocking ads is intended to prevent the ad network from tracking you. But:
1. Facebook already knows everything you see and do on facebook
2. Facebook is the ad network and serves its own ads.
Therefore blocking ads on facebook won't prevent facebook from knowing everything you do.
GP seems to have a fair understanding of the situation, care to explain why you think it's wrong?
6 replies →
Could you enlighten us that do not know how they work and what they know?
Use a comprehensive set of cookie blocking rules to avoid personalized ads. This sometimes means that facebook ad cookies and user profile cookies are indistinguishable. Use clear on exit in such cases. Or block third party cookies.
I dont mind ads that are native to the page. I mind adnets.
Layers of defense, whats needed is the vision model detection, then those elements need to be uploaded to a crowd sourced blocklist so they can be prevented from loading to begin with.
The mechanism would have to be peer-to-peer somehow. Blacklist hosters are always destroyed by lawfare and bots.
counterpoint: The "adblocker" AdNauseam. not only does it fetch every ad, it clicks them. every single ad is clicked. It keeps a running tally of how much money it's cost advertisers.
So, it is war, then.