Front-End Developer Decries 'Garbage' Design Choices on 'The Bullshit Web' (pxlnv.com)
"Ever wondered why pages seem to load slower and slower? Or why it is that browsing seems to take just as long to load a page, even though your broadband connection doubled in speed a couple of months ago?" gb7djk, a long-time Slashdot reader, blames "the bullshit web" -- as described in this essay by Calgary-based front-end developer Nick Heer (who does his testing on a 50 Mbps connection).
A story at the Hill took over nine seconds to load; at Politico, seventeen seconds; at CNN, over thirty seconds. This is the bullshit web... When I use the word "bullshit" in this article, it isn't in a profane sense. It is much closer to Harry Frankfurt's definition in On Bullshit: "It is just this lack of connection to a concern with truth -- this indifference to how things really are -- that I regard as of the essence of bullshit...." The average internet connection in the United States is about six times as fast as it was just ten years ago, but instead of making it faster to browse the same types of websites, we're simply occupying that extra bandwidth with more stuff. Some of this stuff is amazing.... But a lot of the stuff we're seeing is a pile-up of garbage on seemingly every major website that does nothing to make visitors happier -- if anything, much of this stuff is deeply irritating and morally indefensible.
Take that CNN article, for example. Here's what it contained when I loaded it:
- Eleven web fonts, totalling 414 KB
- Four stylesheets, totalling 315 KB
- Twenty frames
- Twenty-nine XML HTTP requests, totalling about 500 KB
- Approximately one hundred scripts, totalling several megabytes -- though it's hard to pin down the number and actual size because some of the scripts are "beacons" that load after the page is technically finished downloading.
The vast majority of these resources are not directly related to the information on the page, and I'm including advertising... In addition, pretty much any CNN article page includes an autoplaying video... Also, have you noticed just how many websites desperately want you to sign up for their newsletter?
The essay also deals harshly with AMP, "a collection of standard HTML elements and AMP-specific elements on a special ostensibly-lightweight page that needs an 80 kilobyte JavaScript file to load correctly....required by the AMP spec to be hotlinked from cdn.amp-project.org, which is a Google-owned domain. That makes an AMP website dependent on Google to display its basic markup, which is super weird for a platform as open as the web."
It argues AMP is only speedier "because AMP restricts the kinds of elements that can be used on a page and severely limits the scripts that can be used," calling it a pseudo-solution. "Better choices should be made by web developers to not ship this bullshit in the first place.... An honest web is one in which the overwhelming majority of the code and assets downloaded to a user's computer are used in a page's visual presentation, with nearly all the remainder used to define the semantic structure and associated metadata on the page."
Take that CNN article, for example. Here's what it contained when I loaded it:
- Eleven web fonts, totalling 414 KB
- Four stylesheets, totalling 315 KB
- Twenty frames
- Twenty-nine XML HTTP requests, totalling about 500 KB
- Approximately one hundred scripts, totalling several megabytes -- though it's hard to pin down the number and actual size because some of the scripts are "beacons" that load after the page is technically finished downloading.
The vast majority of these resources are not directly related to the information on the page, and I'm including advertising... In addition, pretty much any CNN article page includes an autoplaying video... Also, have you noticed just how many websites desperately want you to sign up for their newsletter?
The essay also deals harshly with AMP, "a collection of standard HTML elements and AMP-specific elements on a special ostensibly-lightweight page that needs an 80 kilobyte JavaScript file to load correctly....required by the AMP spec to be hotlinked from cdn.amp-project.org, which is a Google-owned domain. That makes an AMP website dependent on Google to display its basic markup, which is super weird for a platform as open as the web."
It argues AMP is only speedier "because AMP restricts the kinds of elements that can be used on a page and severely limits the scripts that can be used," calling it a pseudo-solution. "Better choices should be made by web developers to not ship this bullshit in the first place.... An honest web is one in which the overwhelming majority of the code and assets downloaded to a user's computer are used in a page's visual presentation, with nearly all the remainder used to define the semantic structure and associated metadata on the page."
The standards are not really that bad (well, maybe CSS isn't great). But the problem is when graphics and art people get done with a site. For example, I built a simple, in house web tool for a customer. It had a bit of JavaScript (which I minified) because it was doing lots of processing. But it was maybe ~120K to load everything. I didn't even bother with stuff like jQuery since the set of browsers I'm running on is well controlled.
But it didn't look good. I'm color blind and have no interest in making things aesthetic; I made it functional. The powers that be wanted it to be made pretty. It's now ~2MB because it loads fonts, jQuery, bootstrap and all sorts of stuff from all sorts of external servers. Which defeats a requirement that this work even when the Internet connection is down. The server for this content is an embedded device, which the web interface controls so there is no need for external Internet whatsoever.
But that's no longer the case once the 'web fartists' got through with it. Perhaps people should worry far less about visual appearance and far more about functionality. Not that you can't even make a visually appealing site without piles and piles of third party libraries.
So once the development culture of tossing all sorts of third party stuff anywhere it can be hammered in is dissolved then the web will come back to its original vision.
Everything is filler around the ads.
Servers now have the bandwidth, CPU power, RAM, OS, expert staff to be really great.
All that they are used for is pushing better ads.
Domestic spying is now "Benign Information Gathering"
I actually can't stand browsing the web without at least these two items running. The ads, scripts, and general fluff running on pages now is staggering. Not to mention the RAM and processor usage which could bring an obsolete computer to its knees.
The clients are. They want more and more stuff. If they see a feature another site has, then they bring it up in a meeting and decide they need that too. And then when it gets too slow they want to know why it's so slow.
This isn't something that large content publishers or hosting sites are going to address or change themselves. They don't really care how much data their page downloads, and the big ones like CNN don't even care how long the page takes to load. As long as they get their ad impressions, user profiling, and 27 different kinds of analytics then they're happy.
Individuals will need to take back control themselves. An adblocker and NoScript change CNN from a 30 second load to about 5 seconds. NoScript is the real champion, and yet it is so often maligned as "hard to use". The truth is that making sure the usual sites you visit work right takes just a few minutes, most sites work pretty well without scripts, and the vast majority work just fine if you enable first-party scripts only. And since it's the second and third (and fourth and fifth, ad infinitum) which load most of the garbage this is usually a good tradeoff.
What we really need (assuming it doesn't exist already?) is a curated whitelist for NoSciprt, like the subscription lists for AdBlock Plus. This would make the extension more user-friendly and allow a maximum level of functionality while still completely blocking a significant amount of unwanted and dangerous garbage.
Oh, and don't waste your time with a hosts file. It's completely useless in the age of dynamic DNS entries which appear and disappear on a daily or hourly basis.
"What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
/)
You must be referring to the "off shore resources" developing websites for pennies on the dollar. They don't care about UX or performance of a website, their only concern is will this pass pipeline testing and get released.
When I visit "xyz.com", why should my browser need to connect to 1000 other websites just to get the homepage to load, any of which can contain potential browser exploits in order to inject malware.
First party sites can still host their own malware-free ads, and everything would be much faster, safer, and privacy preserving.
If advertisers require traffic evidence, they could still still opt to share their web logs, regularly timestamped by a trusted timestamp authority. It is still a better option that the current obstructive tracking we have now.
All it takes is for all of the non-Chrome browsers to make this a standard default.
Especially since Google would not allow this for Chrome, since it would impact their bottom line too much.
On a personally level, I am constantly complaining to my IT, that they are still using Google Analytics and other 3rd party trackers in our internal employee-only corporate website in our intranet.
Sure, you keep thinking that, and I will keep no adblocker, noscript, ghostery, etc tuned up to block this BS.
Going to complain endlessly that I am 'breaking your site'? fine, remove 90% of the cruft that is not needed to deliver what you need to, and I will have no reason to make this extra effort.
FWIW, yes, it makes a HUGE difference. I was pointing out to a client who wanted a pile of such cruft that while they were seeing 0.5 second load times from their office, that was most likely due to their 100mbit connection and 35ms latency to their servers. I could see 5mbit and 150ms, due to someone between myself and their servers having a borked network config (the endless funz of the internet), so the load time was more like 15 seconds..
Or perhaps you dont consider that 'a difference'.
It's gotten so bad that one of our local news sites here produces near 100% CPU utilization of the (admittedly older) dual-core (4 logical cores) 2.4GHz processor running under Linux in my web-browsing PC. It pegs the CPU for nearly 30 seconds per page and I can't do much else during that time because of the high CPU usage.
Seriously... you need *that* much resource just to show us some text and a few pictures????
Ah, how fondly I remember the days of 1200/75 modems when good designers spent hours trying to make BBS screens load just a few seconds faster. These days, optimization and elegant simplicity are cuss-words within the online development community I guess.
5 seconds is how long I'll wait for a page to load before I close the tab.
I use no script,. privacy badger and uBlock Origin.
I've also been known to use links.
OK. So I'm not the only one noticing this! Accessing the web now is HORRIBLE. Especially on a phone. It's like the web is back to dial up speeds. And when the page is finally loaded, what you have is a screen full of irrelevant garbage, like a flashy picture, and you have to haplessly scroll. No clear idea of what you are supposed to click on. No clear idea of if the page is loaded or if right before you click on something the image shifts and you click on something else.
Then theres the damned newsletter screen! Why did people all of a sudden start signing up for newsletters?? Didn't they stop doing that over a decade ago, maybe two? WHO THE HELL IS DOING THIS? The worst thing is you kinda know it's coming, but it's still just as annoying every time. Like a fullscreen popup add but worse. You could literally be on a website trying to buy something FROM THE WEBSITE and a freaking newsletter screen will pop up preventing you from doing it.
Then there is the whole navigation thing. In all these years of the internet you would think they'd figure out a way so that back returns you to where you were. Only to realize back really just reloads the page again which will take forever AGAIN and MAY but likely will not return you back to where you were. And what sucks is that these are the biggest, richest companies. It supposed to be the state of the art, and it already sucks.
To me the "content" is the useful bit I'm coming to see. For a news site, typically the actual write-up conveying some tidbit of news. Even that is debatable, as some news outlets (*cough* bbc *cough*) have a habit of writing a longish text that says the same thing three times over and wastes your time never actually adding much extra information, certainly not worth the while reading the text beyond the first few paragraphs. The trick is to scan for this repetition and stop reading in a timely fashion. Sometimes there's a picture but more and more often it's a stock photo that has no direct connection to the incident. The more the site has a habit of showing big-ish pictures ("optimised for tablets"), the more likely it is the pictures are stock.
For, say, twitter the actual useful payload is "up to 160 characters". Okay, it's 240 now, and it took them years to get there when all it should have taken was adjusting a single value. Shows how well that thing is designed, but I digress. Just wget a tweet. It's on the order of 30 kB, for the unadorned (and quite useless) bare HTML. Now load that same tweet with the network waterfall. It's easily a couple megabytes. That's a very large cruft multiplier.
I don't count that cruft as content. So the people who put that in there are not "content authors". I tend to simply call'em web monkeys.
The problem, as you rightly point out and it's been endemic since september, is exactly the wish to create an often literally picture perfect website "experience". As in the webmonkey gets a picture and orders to make the website "experience" provide an identical look and feel across all borders.
And then it gets worse, reinventing interfaces in ways that aren't useful to me, but just happen to be popular. The dreaded "automatically load more as you scoll down" for one, turning the scrollbar into a nuisance instead of a useful tool, causing me to curse webmonkeys yet again for a bunch of PHP-grade tools taking my useful and expected tools away. And so on, and so forth.
HTML was never designed to do that "experience" thing. So the webmonkey "just has to" muck around with all sorts of bullshit to somewhat make that limp along. I don't agree that the problem isn't in the standards, it's where the problems got set in stone. But the root cause is that HTML is (a rather inept attempt at providing) a vehicle to convey content that might end up rendered differently across devices, not "experience". That was supposed to be a feature, but the webmonkeys oversold "experience" and providing it has become a rather large industry full of crap, crud, and idiot webmonkeys.
An entire industry providing only homeopathic concentrations of what I think of as "content".
.
I'm looking for a company's phone number and I have to wade through slow loading times and tons of scrolling in order to get to the phone number. When I finally do get there, the phone number is in some super low contrast grey-on-grey text.
When it comes to bad web design, Fox News is just as bad. I need to use an ad blocker to get that site to render in a decent timeframe, and even then I get hit with autoplaying video content. The content itself seems to be a mix over simplified headline news articles, shamelessly biased opinion pieces, and a bunch of clickbait blog spam forwards the bottom of the page.
(Oh, and everything that I said there applies to CNN as well. Political opinions aside, it's like they both graduated summa cum laude from the school of partisan hackery.)
I will keep no adblocker, noscript, ghostery, etc tuned up to block this BS.
The Ghostery plugin actually stalks you. Switch to Privacy Badger.
Not being able to edit is a joke.
This is actually for your own safety. Imagine if you had no prior experience with learning to live with the consequences of your mistakes?
Calling this bullshit is an affront to bull's shit, which is actually useful for numerous agricultural purposes. Indeed, the more bull's shit you have, the more productive your farm can be. The analogy doesn't fit to jQuery at all.
Yes, I'm aware I also called it "bullshit" 2 pages down. ;)
A story at the Hill took over nine seconds to load; at Politico, seventeen seconds; at CNN, over thirty seconds. This is the bullshit web...
Heh...does anyone on Slashdot seriously run without at least at least script blocking in place?
I know some folks complain the web doesn't work right and it takes some effort at times. To each his own. The rest of us have a much different web experience.
Note - If noone loaded those elements, they would fade away from use.
--- Mercutio was right.
That's what it is, bloated shit. This desire to make the web the platform for programs and applications has turned it into a totally-fucked hodge-podge of resource-sucking shit using bloated code and non-standard solutions.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
I've read slashdot since 1999 or so. Mod system is broken. I wish slashdot could evolve to be a protocol more than "a site" and also, that they'd draw some ideas to evolve the Slashdot ideals, which is about curation of nerdy discussions and so much needed in today's world where 99% of the content is a complete waste of time. It's also been ages since I was offered meta moderation. I am sure the Slashdot owners think they have lost to better tools. But it's not. They are just failing to know how to evolve something that is needed much more today, than it ever was yesterday.
unfinished: (adj.)
Especially on a product website.
You scroll through their products, click on one, then when you go back, you've lost your place.
I shouldn't have to open every link in a new tab just to keep my place in a list of things.
Webdev here.
I'm so on board with this guy and I so totally get his frustration. This is my personal daily plight. The problem is, ever since "Web Design" we've had to deal with the vast majority of people in our field claiming to be "Web Designers" but not knowing squat about how the web works, what it does and what it can't do and how it is done correctly. This shows at every corner ever since. We need some serious steps into professionalising our field. It has come quite a way, but we are not there yet.
People think that because it's nice and shiny and they can click on it that they can understand it. The problem is they don't. With web design and typography it is so easy for people to mistake the picture of a house with a house. After all, it looks the same, doesn't it? It frustrates the hell out of me talking to professional awarded web designers that after 20 years still blabbel utter non-sense about the 72dpi myth. I could hardly believe what I was hearing as I had this discussion last winter. That's because even the people handing out the awards don't know how the web works.
I listened to a tech talk from a blind buy the other week who demonstrated with a screen reader and a braile terminal how he navigates the web. He also explained how to build a semantically correct web. It was such an eye-opener and a brilliant demonstration of where the wheat seperates from countless metric tons of chaff. Div soup, semantic hell and broken websites left, right and center. If I were Kind I'd pass a law that everyone who builds websites has to demonstrate the viablity of them by navigating them blind, with a screen reader. The quality of the web would instantly improve by orders of magnitude.
We suffer more in our imagination than in reality. - Seneca
Remember back when everyone was still using standard hard drives and you finally acquired your first SSD and booted up in a few seconds, and your computer felt more responsive than you ever remembered? Life was good. That game that used to take 2 minutes to load now loads up in seconds!
But what happens is soon everyone is using SSDs, including those of us doing development. Now when I write that code that accesses that hard drive way more than it really needs to I won't care, because SSDs are so fast! But oops, now everyone who's been writing code that access the hard drive hasn't cared so much about optimizing their calls either, and now our experience is slowly getting back to what it used to be.
Oh fuck, now I'm stuck using this computer that doesn't have an SSD. It's only got a shitty old platter hard drive. Sweet baby cheeses...why is everything so slow now??
This happens time and time again in IT. It's why Windows10 boots up in about the same time DOS used to boot up off a floppy. Well, you get the idea anyway.
May God have mercy on your soul if you're stuck on dial-up.
Perhaps people should worry far less about visual appearance and far more about functionality.
Wrong.
Professionals should care about and be able to handle both. Aesthetics isn't that difficult and if someone doesn't care how a website looks they still have some work to before they can call themselves a professional webdev. Not caring about aesthetics is just as bad as not caring about wether your stuff is processed client- or serverside. That doesn't mean they have to do screens all day, but it does mean they should know how it's done, to a certain degree. Just as any screendesigner should know what state, focus and context is and the difference between a value and a variable.
If someone can build a lean website that just can't help looking like shite they're part of the problem. The way smaller part, but still a part. The others are people who build neat screendesigns but wouldn't know a client from a server and think because they are OK in print they're good in web. Then there is that massive blob inbetween who are bad at both and still claim to be professionals.
Bottom line: Learn some basics about design, it's really not that difficult and knowing some general stuff about modern bauhaus minimalism shouldn't be to much of work for any decent developer.
We suffer more in our imagination than in reality. - Seneca
Eternal September.
You do realize that, at this point, MOST people using the internet have essentially no idea how ANY of this actually works, and couldn't figure out how to do script blocking even if you made them watch 4 hours of youtube videos explaining and demonstrating how to accomplish it?
The man has a point, which is, for the average user, none of the shit that has been shoehorned into, glued onto, and kludged under damn near every website on the net is actually useful, and generally actually detracts from the usability of the site.
I've decided to Diversify my Holdings. I've divided my cash between my left and right pockets, instead of all in one.
Ghostery is owned by publishing house Burda. Ghostery includes functionality for tracking which ads have been blocked (off by default) and injects ads into some pages (on by default) (in German).
Visit https://eu.usatoday.com/ and try not to blink, or you will miss page loading and rendering. They decided that getting rid of JS trackers is a better business decision than implementing all the consent gathering, required by EU law. Now USA Today page loads fast.
:wq
Thanks to GDPR, every damn site out there throws up an overlay demanding that I explicitly accept their cookie bullshit. Do I need to start adblocking these as well?!
Oh bull. Any jump from 100Ks to 1Ms in volume impacts load even at higher speeds. It's a factor of ten, minimum. And you seem to forget that not everyone has the higher bandwidth you apparently do. You're exhibiting bias against 'flyover country'.
Indeed. Not being able to edit or delete posts is a big plus that has helped Slashdot survive for as long as it has.
You can always reference and quote a post knowing that what you referenced and quoted won't change under your feet.
Instead, some people here want to introduce redactionism? Either they really haven't thought this through, are incapable of doing so, or don't care. In either case, they are the problem, not the commenting system.
That said, it would be nice to get a WARNING after the submit, if there are unmatched tags (especially quote and blockquote), requiring a second confirmation in those particular cases.
But editing? No, that is what makes Slashdot special enough to warrant its life. Make it like other sites catering to the lying and the stupid, and it will perish.
Our website won't work without JavaScript. Why? Not because it's needed for advertisements, tracking, or any of that bullshit. It because we can create a very clean interface for searching our stock without having refresh the whole page (or even an iframe). The page queries a web service that return JSON which is far smaller that a frame of markup will ever be.
For example, if you want to search by a make and model of a product, without JavaScript you'd have to select the make, click submit, wait for the page to redraw. Select the model, click submit and wait for the page to redraw. Want to apply another filter? Select and submit, etc. With JavaScript you can select the make and the models are reloaded, allowed with any related filters.
I hate slow websites, and making ours fast has been a priority, but telling people to disable JavaScript will never work because the vast majority of interaction websites require it. You might as well tell people to use lynx...
That has been the case for 7 years now. The only thing that has changed is the text of the warning and the requirement that the site actually offers some meaningful choice rather than accept all and middle finger.
Heh...does anyone on Slashdot seriously run without at least at least script blocking in place?
Define script blocking. Running ublock Origin which also blocks a set of tracking scripts? Definitely. Running the equivalent of Noscript and having to finely whitelist every script on every website? Fuck no, my time is more valuable than that.
You javascript guys remind me of the loyal Americans that firmly believed in the 1970s and 1980s that America was building the finest cars in the world. The cars themselves had barely changed since 1949. Huge, gas guzzling monstrosities, with the handling characteristics of a buckboard and a typical showroom to scrapyard lifetime of six years. On top of which, the build quality was, if anything, worse than it was two or three decades earlier. When consumers finally realized that the product was awful, they fled en masse to products from overseas. It took government intervention and the 1984 Ford Taurus/Sable sedan to sort of save the US automotive industry for a couple of decades..
The issue is not my understanding of javascript mate. It's the crummy products you folks are producing.
Even if javascript wasn't beyond the capabilities of its practicioners, I think it's likely doomed in the long run because it seems impossible to prevent malicious any_sort_of_script from compromising users computers and there seems to be no way to keep nasty scripts out of the web ecosystem other than to refuse to run scripts.
You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
This is a hosts file I use to avoid some bad stuff: https://someonewhocares.org/ho...
Much thanks to Dan Pollock and others for creating and maintaining it!
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
I agree on the value of uMatrix. Right now, for example, it is blocking 14 items from Slashdot. I can't imagine browsing the web without it or something similar.
When I sometimes see people browse the web without it I am a bit shocked at what most web pages look like. Also, once I posted a link to a reasonable site without knowing that there was advertising-supplied "your computer has been infected" junk there -- because I usually just don't see junk like that.
For personal web surfing, I mostly use a not-too-fast Chromebook (running GalliumOS) with only 4GB RAM -- but I can have dozens or sometimes even hundreds of tabs open without much slow down (usually) -- because most of the JavaScript is selectively blocked. Contrast that with comments by people who say their Chromebook (or other machine) slows down when only a few tabs are open.
The risk though is that uMatrix can in theory mess with any site or with your computer. This is the sort of thing that should be baked into every browser -- and continually undergo stringent review. But it is not built-in because -- even with Firefox -- there are conflicts of interests with how browser vendors make their money via either advertising or deals with advertisers.
A plus for me is that -- as a JavaScript/TypeScript UI developer mostly right now -- looking at what JavaScript sites load can be educational. But I can see how for the average web user that is mostly going to be more of a potentially confusing chore -- although a chore still worth it for everyone IMHO.
I don't use uBlock origin -- maybe I should? But I have found a hosts file that blocks questionable sites helps a lot (see my previous post here e.g. https://someonewhocares.org/ho... ).
Tangentially, here is a shout out for using Mithril.js/HyperScript plus Tachyons.css for web UI developers who want to make low-footprint quick-to-load-and-run sites that are also easy to refactor.
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.