4 ms·
That’s the wrong attitude. Unless the function of your site completely depends on google maps it shouldn’t break other logic. We’ve been building websites that
by whalesalad 3y ago
That’s the wrong attitude. Unless the function of your site completely depends on google maps it shouldn’t break other logic. We’ve been building websites that survive these kinds of things for decades. Some people just don’t engineer their stuff correctly and this is the result. It’s not hard to do it right.
- gruez 3y agoWhy should I, the developer go out of my way to accommodate people going out of their way (by installing an adblocker/script blocker) to break my app? If you're going out of your way to create a non-standard execution environment, any breakages is on you.
- ben_w 3y agoAd blockers should not be considered "non standard". Even if blockers do count as non-standard, random scripts not loading should not be capable of bringing down your site, and this should've been clear even before the npm left-pad debacle.
- gruez 3y ago> Ad blockers should not be considered "non standard". In this specific case the behavior is caused by more than a run of the mill adblocker with standard blocking lists. The OP seems to be using a very aggressive blocking list (eg. blocking all google services), or blocking all third party scripts altogether. >Even if blockers do count as non-standard, random scripts not loading should not be capable of bringing down your site, and this should've been clear even before the npm left-pad debacle. "shouldn't" is debatable here, especially when the cost to mitigate those issues are non-trivial (engineering effort) and the chance of it occurring (eg. google maps randomly failing) is low. A failed hard drive shouldn't bring down a computer either, but how many of us are using laptops with RAID1 drives?
- Clent 3y agoThere are websites that look for ad-blockers and demand you turn them off. The website has every right to server you the content as they seem fit. You are not entitled to an experience other than the one they are willing to provide.
- hollerith 3y agoYeah, well, we tried the vision you describe, in which the site has almost complete control over the user experience, and it hasn't turned out well IMHO. The only reason the site has so much control is that the browser makers gave it away. The browser makers should have retained much more control over the user experience. The site of course should have complete control over the words that appear on the site (and the ordering of the words of course) and some other things. That was the fundamental mistake of the web. If people wanted to create a new internet protocol for serving user experiences over the net such that the user need not explicitly install any app, that would've been OK with me. The mistake was achieving that goal by extending the internet protocol that was quickly become society's most important way of distributing words (writings). I've completely gotten off the subject of ad blockers.
- ben_w 3y ago> You are not entitled to an experience other than the one they are willing to provide. And they aren't entitled to have me as a user or customer. As ad blocking is a matter of basic digital sanitation, this is roughly analogous to me refusing to do business with a doctor whose office has a sign outside saying "no facemasks may be worn" — they might be allowed by law to make a bad demand, but it's still bad and they still shouldn't even if they don't care about losing my custom.
- Clent 3y agoUsing an ad block analogy, you aren't refusing to do business with the doctor. A better analogy is you go into a doctors office, there have pamphlets for other services offered that you are no interested in, so rip the pamphlet displays off the wall and complain you're the victim for not being allowed to see the doctor.
- whalesalad 3y agoWhy would you put auxiliary resources on your critical path if they’re not required? What if google maps has an outage and suddenly your entire website breaks when the only part requiring google maps is the store locator? What if you’re on an airplane or some other network with limited connectivity? If you engineer your application correctly with non-critical things outside the critical path you can have the best of both worlds. Imagine going into the CTO’s office to explain why some vital tool or feature hasn’t been working for 35% of users because of some silly issue with Google Maps. “Why did Google Maps issues break our site?” … “well ackshually our entire app waits for maps.init()…” this is like the worst response imaginable.