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"
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.
Don't forget the admins here, they've modded your comment down and a few others.
Not being able to edit is a joke.
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'.
Elegance is dead everywhere, even in the embedded world. To be elegant, you need to actually understand programming, and how to organize code. In the modern world, we use rule-based programming, like Java enforces in structure or Python enforces in syntax, and Golang enforces through convention. If you see a way to make things more elegant, your coworkers will tell you it's not the proper way to do things. We've lost taste in exchange for propriety. The result is that bad programmers are able to write acceptable code, but we're a bunch of prudes.
"First they came for the slanderers and i said nothing."
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.
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.
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.
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.
Elegance is irrelevant. Your website can be the most elegant hand crafted artisan display of html, CSS and four brutally optimised lines of javascript that implement an AI capable of delivering peace in the middle east, and it's still going to be shit:
The marketing and sales team are going to overload it with third party shit anyway, that upsets your users, tracks them, molests their children and ruins any attempt you've made to provide a clean usable experience.
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.