HACKER Q&A
📣 wusspuss

Why does the modern web hate users?


Twitter takes 20 seconds to load on my phone made in 2020. It then takes about 5-10 more seconds for me to close all the popups and that's IF it doesn't fail along the way (which it does sometimes), IF I don't misclick anything (which the website makes painstakingly easy).

All of that to load a list of 280 chars text messages, occasionally with a picture or a video. How come even my pocket supercomputer with 8 cores and 8GB RAM takes that much time to display just some text and pictures?

It's yet worse with reddit.

I do understand that some companies may be motivated to break their own websites to force users to install spyware ("it's better in the app!"), but making a broken website doesn't take dozens of megabytes of JS. Same slowness could be achieved with a few setTimeout()s. What's more, websites are slow even when they aren't trying to push an app down your throat - e.g. the desktop versions of those same websites are hardly better, and even websites that don't have an app to "offer" are oftentimes just as overengeneered.

What I'm trying to understand is what is the motivation behind this? I wouldn't have any questions if webpages required manpower and optimizations to be fast - but on the contrary, anyone with most basic html skills can come up with a faster frontend than twitter's[1] AND cover that same functionality (text, a few images and a couple of forms - ALL of this is covered by HTML alone, doesn't even need a single line of JS!). This means that companies pay people to make their websites worse, and to do that in a laborious manner - again, not just some setTimeouts()s, but dozens of megabytes of code (and that's compressed!). And I can't help but wonder - what is the incentive for that? Why? A business should generally save money wherever possible and only spend it to make profits, shouldn't it? I just can't see how the crime against everything decent that is the twitter frontend could possibly benefit the company, or anyone for that matter. If anything it would harm it. And it costs it money.

[1] - see e.g. Nitter, Invidious, Teddit - all of those much more robust than the sites they grab data from. Also pretty sure that even if the people behind these did get paid, it was orders of magnitude less than what the people these companies have working on their frontends get paid.


  👤 archerx Accepted Answer ✓
Modern front end javascript frameworks are made to offload the compute from the server to the end user. This saves the company money while giving the end user a worse/slower experience and drained batteries. However when I point this out react zealots get angry but never hit back with good counter arguements.

Blame Facebook and Google for starting this awful trend.


👤 sylvain_kerkour
The answer lies in entropy.

A mix of misaligned incentives (users are not the customers), tyranny of metrics and the fact that developers use overpowered machines (compared to the rest of the world) [0].

Add on top of that the inevitable bureaucracy and conflicts of interest of any large organization, and you end up with these bloated apps. Developing good software and fighting entropy (apps bloat) require a lot of efforts, and you can't achieve this when nobody is accountable (high churn), or even have that goal.

[0] https://www.reddit.com/r/RedditEng/comments/qzoxp0/mobile_de...


👤 throwaway22032
Note that most of the open source / hobbyist web actually works properly.

I don't think the answer is primarily that it's a matter of money - I think most large companies end up with "web design by committee".

If Zuckerberg redesigned the entire Facebook homepage from top to bottom it'd probably be a hell of a lot faster than it is now. But instead it's the product of an enormous corporate structure and there is no-one to step in and say "guys, this is shit, start again and let's do it properly, no you can't have your 1 meg tracker in there, not even one of them, write a barebones one".

One man or small team software projects in general are better for this reason as well, with a massive team over time cruft accumulates.


👤 pjc50
The desperate search for monetization. Twitter is free, so it will get worse until you stop using it or they somehow manage to get you to click on an ad. Same with Reddit.

Sometimes this is the desperate attempt to neutralize a competitor by cloning it. That's why Twitter copied "spaces" from Clubhouse, and Youtube and Instagram have copies of Tiktok in them (mostly hosting content with tiktok watermarks on, hilariously)


👤 yen223
A more interesting question would be why haven't users punished "slow" websites by not using them?

👤 WolfOliver
Because todays web development is all about developer experience not user experience.

It is insane when you think about how much memory has been used to fly to the moon and how much it requires to run todays favorite chat app.


👤 Tenoke
I just checked and on my 2020 phone Twitter opens and loads in about 1-2s on Chrome Android. Functionality of some mobile sites like reddit and Facebook is limited but the js bloat argument seems exaggerated and if it's that much slower for OP I'm guessing it's due to their connection or some other issue.

👤 tyingq
I think a fair amount of it is just organizational dynamics, game theory, human nature, etc.

When you build an organization around one of these sites/apps, as the product ages, each work group ends up trying to justify their existence. It's very rare that anyone periodically tries to see if the current headcount and budget for any group still makes sense, and reduces or eliminates groups as that happens. This spread and growth also means the groups all end up with different ideas of what the overall goals, measures, etc, are.

So they all grow based not on whether they need to, but because it's human nature to empire build. And to do that, you need to be "busy". That busy work eventually pushes out to prod, and ends up as more bloat. Multiply that by each group, and you get what you're seeing.


👤 throwawaynay
Have you checked your phone for malware? I have a very crappy phone, a 120$ samsung, and I don't struggle that much.

Have you tried using an adblocker?


👤 canyonero
I think this question embeds two assumptions that aren’t constructive.

First of all, it associates the “modern web” with Twitter and Reddit. There is more to modern websites and apps than those two companies. There are a lot of beautiful and useful websites that are built with modern tools.

Second, the question assumes users are hated. Quite the opposite is often true. We should assume most app and website builders want users to return and want to appeal to users interests. Designing with users needs is central to the practice of UX design and research.

I think this question could be rephrased to. Why do twitter and Reddit use perceived anti-patterns instead of good UX? The answers being they can be effective tools to drive ad revenue, increase time spent with the service and increase user base to name a few.


👤 rank0
Ad monitization and development abstractions.

Platforms gotta monetize by gathering/selling user data. Developers want abstractions to make programming more pleasant.

It’s kind of hilarious that our advances in HW just means that our software resource usage expands to fill the gap.


👤 jqpabc123
In a word --- greed.

Despite what Gordon Gekko told us, it isn't always good. Working to wring every last dime out of any system leads to self destructive behavior. In the end, Gordon Gekko himself served as an example.


👤 marginalia_nu
I think it's largely Parkinson's law.

Computers are faster so it becomes viable to build slower, more complex and less efficient systems.

By large, computer systems have similar capacities as they did 20 years ago, and similar performance too; only difference is that back then we accomplished the same thing on a potato processor, and today we use a world brain.


👤 Graffur
Facebook has always been poorly made. Remember when notifications and chat was just _broken_ all the time? I think Twitter used to be better and Reddit certainly did.

I blame poor engineers (just because they're paid a lot doesn't mean they are good)


👤 tzs
> Twitter takes 20 seconds to load on my phone made in 2020.

I think they expect you to be so enthralled with it that you will keep it open, only having to actually go through loading it when you reboot the phone for OS updates.


👤 galoisgirl
You're talking about the functionalities shown to the user.

I'm pretty sure Facebook tracks what you look at and what you scroll past, wouldn't be surprised if Twitter did too, for example.