A “small” rant about the state of modern web

Modern web fucking sucks – and it sucks for so many reasons that I run out of anger at this point and only sadness remains. And yet I still manage to feel the need to air my greviances – even though I know it ain't gonna change shit in practice. It will be just a somewhat structured inconsequential rant – but I just need to put it out.

So... where do I start?

Godawful hardware requirements

Well, starting with the low hanging fruit is probably the easiest.

To browse the internet, you need to use a device with a somewhat excessive power, and a somewhat excessive amount of RAM. And sure, I get that a bit higher requirements to handle stuff like proper Unicode rendering make some sense, having a browser eat up more RAM than some of the professional tools and having typical websites be impossible to properly view on lower end devices does not.

There is absolutely no legitimate reason why devices with 4 GB of RAM shouldn't be able to handle checking a news site and having something running in the background – yet alas, here we fucking are. And if you are going to say that these devices are not a thing anymore and everyone has an ample amount of RAM to (ab)use, I am going to shove those 16 GB RAM sticks you likely have down your throat.

Huh. Guess I do still have some anger left.

But yeah, I have recently talked with someone who has an old-ass laptop that has 4 GB of RAM, and I remember the times where I, as a young whippersnapper, could run many various flash games and view pretty much any website on a Windows XP PC with 256 MB of RAM. And despite all the performance and bandwith gains over time, the web feels more sluggish at times compared to these times where 10 MB flash game was considered huge.

Utterly insane complexity

Part of why the system requirements of browsing web are so high comes down to the fact that web browsers are extraordinarily complex applications – and they have to be, because the web standards are extraordinarily complex. You have the easy part, which is HTML, and two absolutely fucked up monstrosities – CSS and JS.

CSS is used for styling the HTML. And god, it has so many fucking functionalities that one has to wonder how the fuck anyone can even implement it all correctly. You not only have simple shit like changing font or background of an element, you not only have the more advanced yet still very useful things like flexbox layouting, no, you also have animations. And not just 2d animations, no, you also have 3d ones. And then you realize that there are constantly more new things added to the CSS specification that brings it closer and closer to a general purpose language for some ungodly reason, while most websites would be just fine with like, idk, a few kB of CSS tops. Hell, even this blog would be more than fine having less CSS but I am too lazy to build my own solution, and it is still better than a typical Wordpress install, so well.

And as for JS... god, JS is so fucking ass, both as a language spec and as the entire goddamn ecosystem. It is just a fucking mess, with so many goddamn features and APIs constantly being added on top that if you are out of the loop for a year or so getting back up to speed might be a bit of a struggle, because the best practices may have changed heavily during that time. And when you add the ecosystem on top, with npm dependency fuckfest of unauditability, zillion different build systems (for an interpreted language no less), zillion different frameworks (with like 10 in more or less popular use), fuckton of the flavor of the month libraries, and at this point I wouldn't be surprised to see someone that makes webdev their entire fucking personality, way beyond a typical autistic or ADHD hyperfixation, cause that's what it sometimes feels is expected from you to keep up.

And all that complexity also causes one more thing – making your own browser is a nigh impossible task now. Hell, even Microsoft has tried doing so with Edge, and ultimately ended up making a yet another fork of motherfucking Chromium. Like, it is a miracle that we still have Firefox and its forks, despite Mozilla's best efforts to fucking throw it all right into the fucking garbage can.

And sure, there is a new rendering engine actually being made – Servo – but it is like one part of the browser, and it currently is very much work in progress, which only confirms how incredibly fucking hard it is to make even a barely working browser.

And yes, I know, there is a legitimate need for some of these complexities – but what we currently have now is way fucking beyond what we need. But hey, that unyielding increase in complexity serves to cement the dominance of Chromium on the browser market, so we ain't gonna see a change unless some kind of a revolution happens. Yay.

Lack of care, plenty of malice

Of course, the specs are just one part of the puzzle, and you can still make performant and lean websites. Hell, it is arguably easier than using all these big ass frameworks and shit. The issue? You need to want to not force the client to download 10 MB of JS code to display like 10 KB of meaningful data, you need to want to care about the bandwidth and shit – but hey, let's add all those trackers and ads so that the website will be unusable on anything lower-end than a fullblown gaming computer.

And then you have all these goddamn frameworks, which sure, make it a bit easier to create interactive frontends – but they are so fucking heavy. And hell, some people use it for relatively tiny stuff instead of fullblown apps in the browser, which pumps up the js bundle size so fucking hard that I don't fucking know what can even be said at this point.

Corporate social media

You could make an entire series of articles on the effect that corporate social media had on the society. You could write an entire book on this.

Sites such as Facebook and Twitter effectively killed the good old forums via sheer convienence, and became alghorithmic hellholes promoting aggravating shit for the purposes of engagement metrics. More clicks, more addiction, more ads shown, who cares if you incite genocide by doing so. And this of course impacts people pushing out stuff to attempt to game the algorithm – while in practice they are the ones played by it. Posting various clickbaits, engagement baits, catchy misinformation, dropping hate bombs, and so on.

Furthermore, the algorithms used want to use as much data as possible to make the use of such websites more addicting, and the ads being more targetted – and as such, the corporate social media attempt to learn everything they can about you without even asking you for even a semblance of consent. Even if you don't have an account and don't visit the social media service, you are being fingerprinted and tracked at every single goddamn opportunity whenever you find something with a “share to facebook” button or similar. Almost every ad displayed on a site also comes with zillion of trackers to spy on your movements. It is honestly absolutely terrifying.

The centralization of the speech under these social media corpos also means that these corpos dictate what is even allowed to be said, providing the immense censorship abilities. Political party they don't like? Just cut their reach. Talking about women reproductive health? Call it porn and ban it. Someone talking a decentralized alternative to their service? You know they will aggresively ban such thing. It fucking sucks.

Malicious code

So, JavaScript is actually a curse of the web. Sure, it is useful, but if you look at this with even a bit of scrutiny, you realize that it is running arbitrary, unauditable code taken from random places. Sure, the sandboxing is implemented solidly enough in the two browsers that still matter, but it's not like you can't do fucked up shit within that sandbox.

The aforementioned trackers mentioned above, the utterly asinine spyware that is for some ungodly reason accepted by populace mentioned above – it is just one category of stupid bullshit that browsers are all too happy to allow. Nah, you also have some more direct and explicit attacks – for example tricking the target into letting the website's push notifications in. These push notifications in turn show various forms of “your computer is infected” messages, which in turn leads the poor user into scamware shit.

You also have secret cryptominers, which burn through your computational resources like there is no tomorrow just so the owner of the miner can get a few cents or something.

You also have XSS attacks where the attacker injects their own JS code into a legitimate website. Sure, it requires the website to be vulnerable to such attacks... but you ain't gonna know until it is too late most of the time, unless you have a habit of attempting to hack every website you see. And hell, you probably won't know even after the XSS vuln fucks you – the user of the website.

Browser monopoly

So, there are two or three web browsers that matter: Chrome, Firefox, and if you count it, Safari. You may ask, what about stuff like Edge, Opera, Brave or Vivaldi? Sorry, they are just Chromium forks. Like, at this point if you see a new web browser, it is more likely than not a chrome reskin.

Still, we have choices, right? Two or three competing browsers ain't bad, right? Well, it wouldn't be bad if Chrome/Chromium wasn't like 80-90% of browsers used. Ergo, Google dictates the web standards, and I can guarantee you that they do not care at all about the needs of people, they only care about forcing their adtech down your throat.

Conclusion

*crying kobold noises*