How JavaScript Overuse Ruined the Web
-
[email protected]replied to [email protected] last edited by
That's not necessarily special to JS. It's special to client-side code. A mobile app writing in swift could do this. A cli tool written in any language could do this.
This isn't an argument against JS, it's an argument against misuse of client resources.
-
[email protected]replied to [email protected] last edited by
edited my comment to include the excruciatingly obvious assumption.
-
[email protected]replied to [email protected] last edited by
And desktop “apps”
Half of them are just fancy electron javascript websites
-
[email protected]replied to [email protected] last edited by
Thanks! You're right, I should have given some examples like reddit.com is too slow on low end hardware, and how amazon.com loads faster than aliexpress.com for not relying too much on JavaScript. But I thought anyone could 'sense' which website has more javascript, but I was wrong after seeing some comments.
-
[email protected]replied to [email protected] last edited by
Thanks for your comment. I agree with some of your points, but I really don't understand why we should use JS frameworks for everything and render pages on the client’s device. I'm not against JavaScript, but no website should be made entirely of it.
A few years ago, I came across a Chinese e-commerce site where the product page falsely displayed an "out of stock" message until the website fully loaded. Imagine how many people left the page, thinking the product wasn’t available. This issue wouldn't exist with server-side rendering.
Regarding companies that prioritize users with newer devices, this approach may not be economically beneficial and feels deceptive to users. If they don’t want users with older devices, they should clearly state it on their website by checking the user agent. For example, Amazon.com works even without JavaScript and runs smoothly on all devices. Any company serious about its profits should prioritize user experience, and making a webpage lightweight is one of the best ways to achieve that. It seems like these JS frameworks and their modules aren't really about improving user experience. What's even more concerning is that many newcomers to programming rely on these frameworks without understanding basic HTML or JavaScript.
There are many older people who still use their old laptops, and buying newer models makes it harder for them to adapt. Additionally, discarding older devices increases e-waste. This makes the behavior of big tech companies seem hypocritical—like Apple, which stopped including chargers with new iPhones while claiming to be environmentally friendly.
Back in 2011, we could use YouTube on our laptops without any issues. So why not make older versions available for older devices? I understand that companies want to block bots, but if that’s the goal, why allow old device user agents to access the site in the first place? If they assume all older devices are potential bots but still want users from those devices, why not provide an older frontend for signed-in users?
I'm sorry for the rant, but this is how I feel about modern web development.
-
[email protected]replied to [email protected] last edited by
So websites are all made with these frameworks for three reasons. The first one is, it's suppose to save an server cost. If a server can send parts of code and data at a time, it should be faster. Unfortunately bad web architects do not benchmarks these things. More server calls means more headers for the same amount of data. Web developers, for several reasons sometimes out of their control, do not handle errors properly like in the Chinese e-commerce site you mentioned. So yes, you are correct, it does suck and some pages would be better off as a flat page.
The second reason is culture. AJAX first started in the 90s when users were still on 56k modems. We needed pages to load faster or else the user thought it was dead or just too annoying to stay. So this became the culture. We are no longer mimicking paper, we are creating web apps, or programs. This stays with the culture now. I've seen single page websites do it where I actually think it's detrimental.
The third reason user experience. This is in two parts which can be consider the same. The first is it's not a familiar site, users want the app experience on a website or else they leave. The second which is the nearly same is if the page does not refresh, you keep the attention of the user for a lot longer. It's like reading a really good book but there are no page turns or chapters. In social media, this is support important. eCommerce, adding items without a refresh is really important or else they might change their mind.
As for profits for users of a website, the algorithm should be something like this:
if( profitsFromOldDevices > (developmentTime+resources) ) startDevelopment();
Most of the time, this is false. Designers and developers and project managers take up a lot of money. People on really old devices are less likely to buy things. eCommerce sites know this, and advertisers know this.
When I say older devices, I meant over 2 decades old. The latest Firefox can still be installed in Android 5, which came out over a decade ago.
As for e-waste, I am not an expert on that but seeing how much electricity a Pentium 3 desktop can take, a $200 dollar smart phone can save the person money very quickly.
As for Apple, they are greenwashers but they probably have the best recycling program out of all the top hardware manufacturers. I'm sure companies like the Fairphone are leagues better though.
As for YouTube, I'm going to guess it's going run decently if you have a fairly recent browser. If you have Javascript turned off, Google can't get much info off the user. So this is their way of forcing updating.
You don't need to apologize about ranting. Have you seen how long my post? This is your post. Do as you wish. Have fun.
-
[email protected]replied to [email protected] last edited by
conservatives think someone who talks a lot with convictions is right
-
[email protected]replied to [email protected] last edited by
I constantly have to switch back and forth between turning javascript on and off to read articles. Those endless popups begging for my email address and google amp are also ruining the experience.
-
[email protected]replied to [email protected] last edited by
Nothing like having a check box suddenly move because an ad finally resolved and I end up clicking on the damn ad instead
-
[email protected]replied to [email protected] last edited by
A page could load thousands of images and thousands of tiny CSS files.
None of that is JS, all of that is loads of extra requests.Never mind WASM. It's a portable compiled binary that runs on the browser. Code that in c#, rust, python, whatever.
So no, JS is not the only way to poorly implement API requests.Besides, http/2 has connection reuse. If the IP and the TLS cert authority is the same, additional API/file etc requests will happen over the established TLS connection, reducing the overhead of establishing a secure connection.
Your dislike is of badly made websites and the prevalence of the browser being a common execution framework, and is wrongly directed at JS.
-
[email protected]replied to [email protected] last edited by
And it's always the sites that you want to have apps that don't. For example I use twitch daily, there are days where I don't even open up a web browser aside from just to watch twitch.
My current work around is I have an electron app that I've coded which is essentially for now just a wrapper of the twitch websites follow page and built in user script functionality to have frankenzface. But the fact that twitch discontinued their native app is obnoxious to me.
Every other video website under the moon has an app, but for some reason twitch can't manage to do this
-
[email protected]replied to [email protected] last edited by
Apparently, it isn’t too hard to craft an electron out of third party JS