logoalt Hacker News

akoboldfryingtoday at 4:57 AM1 replyview on HN

Is buying milk at your local supermarket a Soviet-style take-it-or-leave-it scenario?

If not, at what point during your milk purchase does the negotiation step that you hold to be important for capitalism take place?

I put it to you that take-it-or-leave-it-ness is orthogonal to the capitalism-socialism axis, and that the take-it-or-leave-it nature of viewing an ad-supported website is no more socialist (and no more alarming) than buying milk.

Regarding "negotiation":

> * The site has the option of deciding not to serve me any more content, typically by showing me an anti-ad-blocker popup.

Are you indeed claiming that today's ad blockers operate by explicitly rejecting a request sent from the main site as part of some standard ad negotiation protocol? Because if so, I would agree that this amounts to a negotiation with the website as you say.

But this would certainly be news to me. It must be a recent change, since for most of my life, ads have simply been hyperlinked images/objects/videos/IFrames, or sometimes inline text generated server-side or on the client using JS, and the only mechanisms available to implement ad blocking were implicit, and based on subterfuge: By preventing fetching of that content in the first place (in a variety of ways), or by fetching it but then hiding/obscuring the result in some way. None of which amount to "negotiation", obviously.


Replies

kstrausertoday at 5:16 AM

> Is buying milk at your local supermarket a Soviet-style take-it-or-leave-it scenario?

No. You can ask. They'll say no, almost surely, unless you're talking to the manager about something that's about to expire and then anything goes. But you can ask. Your idealized scenario is where the initial, and only, offer is "see this with ads or don't see it" with no room for negotiation.

> Are you indeed claiming that today's ad blockers operate by explicitly rejecting a request sent from the main site as part of some standard ad negotiation protocol?

As far as it's possible to express this arrangement in HTML, yes, of course. The page gives your client a document describing which resources it may wish to fetch, among other things. It's not expected that you'll fetch all of them. You may already have the cached data. A resource may be of a type your client doesn't know how to render. It may be in a tag your client doesn't know how to process. It may include executable code that your client might be configured to execute or not to execute. It may have several media types for scenarios that don't apply to you, such as for printing or working with a screen reader for people with visual impairments, and those media types may refer to resources that your client won't fetch because they're not relevant to you. 100% of those decisions can be made by your client. It's not obligated to execute your JavaScript, even if it has Bitcoin mining code and you lose out on the would-be cryptocurrency that my browser chooses not to mine for you. It's not obligated to use your fonts, or figure out how to display your odd graphics format, or render your PDF, or load your Java applet, etc.

And thus with ads. Your web page says "here's an image tag for you to display an ad", or more likely, "here's a ball of malware for you to execute that also displays an ad". There's no legal or moral or technical scenario where my client is obligated to choose to display or execute it, simply because your site told me how to do it if I chose to participate.