Modern web bloat means some pages load 21MB of data - entry-level phones can't run some simple web pages, and some sites are harder to render than PUBG
At work we have this timecard management system that's an enormous pain to use. All the bottom rung employees hate it because it's anything but intuitive. For example, it has stupid things like weekdays sorted alphabetically and a scroll bar to select the day of the month in a form. It's like the interfaces were tested exactly one time and never visited again, so long as it works minimally.
What's this crappy app have to do with big web pages? That application is awful for us worker bees, but management loves it because it produces nice reports. Management is the real customer for which the product is optimized. Similarly, many web pages are awful because they're mainly rated on how it looks. Nobody is including how fast it loads in the contract, and at the product demo you bet those resources are cached in the browser.
Ask yourself: who with the money in hand is actually looking at how fast the page loads on a slow connection or low-end devices?
I have been just bewildered at the proliferation of excessive scripts and garbage on seemingly every webpage over the last decade. I'm no web-dev, but I'm pretty positive that the vast majority of websites could remove 99-some percent of their javascript bs and their websites would function just fine. So many are pretty much unusable these days. It's atrocious.
My simple home page is 10 KB now. And you might not think that's such a big deal, but it has more content than Google's search page and that rings in at a couple MB IIRC. 😁
You see, stuff like this is why I never understood the wave of "Android Go" and "Lite/Go" apps a couple of years ago.
On my old low end phone, the native Twitter app ran infinitely better than the Web based "Twitter Lite". This applied to almost every "Lite" app compared to their regular versions.
I feel like whoever started that "Webapps are great for low end" concept never actually tried to run a modern Webapp on a slow phone.
Edit: My comment is focused mostly on the push of Webapps on low end phones. I'm sure there are great, proper "Lite Apps", and I quite like the idea of Android Go, I just think the implementation missed the mark and that a lot of companies pushed out a crappy, poorly thought out webview just to cash in the "Lite" trend without caring about the end user.
Here’s an article on GigaOm from 2012 titled "The Growing Epidemic of Page Bloat". It warns that the average web page is over a megabyte in size.
The article itself is 1.8 megabytes long.
The problem with picking any particular size as a threshold is that it encourages us to define deviancy down. Today’s egregiously bloated site becomes tomorrow’s typical page, and next year’s elegantly slim design.
The author links their tweet saying "your website should not exceed in file size the major works of Russian literature." At the time, that page on Twitter was 900 KB. Today it is 11 MB.
My old project I got to architect the frontend ran lean at around 300KB - part of our target audience had older phones so it was designed with that in mind.
At my new job 22MB is child's play. To be fair they might do it better with the next version.
I ended up using a static site generator for my personal site because I fucking hate JS and frameworks and WebComponents. The front page is 646 KB and it loads in 4 seconds. I'd love for it to be 1 second or less, but the fonts are a factor.
And I shrunk the shit out of that background too with pngcrush so miss me with that.
When ever I used to have issues with my internet I used to use news.com.au as a test to see if the issue was fixed, if that site loaded than anything would.
Thats mostly because of the overload quantity of ads, trackers, plugins, integrations, etc all websites have now. Using an adblocker halves your bandwidth usage. If you have a data cap, an adblocker is a must.
And then, optimization. As an Angular developer, knowing many websites nowadays are Angular or similar, the lack of optimization is a big problem. Most don't even use lazy loading, not to mention managing the module imports into different components. They import everything into the main component and don't do lazy loading leading you to websites that have 20-40MB (!!!) of initial load (when you open the website). This is so common that I think junior angular devs will slowly just kill angular popularity and give it a bad look. Takes work to optimize Angular, and many devs don't care enough and just rush it. And then there are companies that don't understand that web frameworks need optimization and just underpay devs or rush the dev time.
Please don't use Angular (or similar complex web frameworks like Vue or React) if you don't know how to correctly optimize it, or don't have time or care for it. And don't overload your pages with ads and integrations. You are ruining the web.
I'd hazard a guess and say it all stems from advancements in tech. There was a need to get the most out of something because of limited resources. Now that everyone's got some fairly serious hardware (yes, even the cheap shit), there's rarely that urge to optimize.
Rather than optimize each new technology as it comes along and gets adopted, it seems as though the mantra is "fuck it, add it to the pile". And it snowballs. As developers feel the need to optimize less, the lessons get passed down to the next generation, and so on.
So we're left with apps/end-user stuff that appear to have been on the opposite of a diet.
I always think it's unfair to compare things to video games. Video games are so inefficient they had to invent a separate processor with hundreds of cores just to run them. Of course they end up running well.
If cheap phones had a 128-core JavaScript Processing Unit, websites would probably run fast too.
if you watch steve jobs' 2007 iphone keynote it's incredibly depressing now. he brags about how the iphone can load full, rich webpages instead of awful mobile versions; he loads the NYT website and gets the whole lush landscape desktop version, and taps to zoom in on certain elements. i used to be such a dork and so into tech in high school, it seemed so promising and wondrous.
i bet jobs could've yelled at spez about the API changes and gotten him to relent