i absolutely hate how the modern web just fails to load if one has javascript turned off. i, as a user, should be able to switch off javascript and have the site work exactly as it does with javascript turned on. it's not a hard concept, people.

but you ask candidates to explain "graceful degradation" and they'll sit and look at you with a blank stare.

top 100 comments

sorted by: hot top controversial new old
[–] 42 points 1 year ago (8 children)

Most don't even know @media (prefers-color-scheme: dark/light), rather cobble something with JS that works half of the time and needs buttons to toggle.

  • source
  • hideshow 8 child comments
  • [–] 4 points 1 year ago

    Took me ages to find a snippet that has a manual dark mode toggle but in a way that works with prefer-color-scheme so by default it inherits your settings but you can overwrite it... It's just not a priority for a lot of people or they're ok with the site flashing or something.

  • source
  • parent
  • [–] -1 points 1 year ago (2 children)

    I hate "dark mode" so much

    Don't default to it as it makes the page hard to read and ugly. If you want make it optional that is fine but don't force it.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 12 points 1 year ago (1 child)

    I hate "light mode" so much

    Don't default to it as it makes the page as blinding as the mid-day sun. If you want make it optional that is fine but don't force it.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    I hate default text size

    Don’t default to it as it’s too small for a lot of people to read. Optional is fine, but don’t force that small text on me by default, making me go into your small text settings to find the large text setting

  • source
  • parent
  • [–] 0 points 1 year ago*

    The thing with this is that many people want to switch their setting to be non default, and it's impossible to have both user configurable and nice css at the same time. One has to go.

    Edit: Oops, just realized I replied to a 2 month old comment. My bad

  • source
  • parent
  • [–] 61 points 1 year ago (3 children)

    Blame the ui frameworks like react for this. It’s normalized a large cross-section of devs not learning anything about how a server works. They’ve essentially grown up with a calculator without ever having to learn long division.

  • source
  • hideshow 3 child comments
  • [–] 8 points 1 year ago (1 child)

    Not all frameworks are bad

    The problem is the devs/owners not understanding basic fundamentals. They could see a major financial benefit if they make the page snappy and light but apparently no one at these companies realizes that.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    PE from server rendering only to a full interactive SPA in the browser is really not trivial both for frameworks and app devs

    there are a handful of frameworks that support it fairly ergonomically now but it's a discipline that takes time and effort

    also disabling javascript is a tiny minority use case

  • source
  • parent
  • [–] 28 points 1 year ago* (11 children)

    I wrote my CV site in React and Next.js configured for SSG (Static Site Generation) which means that the whole site loads perfectly without JavaScript, but if you do have JS enabled you'll get a theme switching and print button.

    That said, requiring JS makes sense on some sites, namely those that act more like web apps that let you do stuff (like WhatsApp or Photopea). Not for articles, blogs etc. though.

  • source
  • hideshow 11 child comments
  • [–] -2 points 1 year ago* (9 children)

    requiring JS makes sense on some sites, namely those that act more like web apps that let you do stuff (like WhatsApp

    I mean yes, but Whatsapp is a bad example. It could easily use no JavaScript. In the end it's the same as Lemmy or any other forum. You could post a message, get a new page with the message. Switching chats is loading a new page. Of course JavaScript enhances the experience, makes it more fluid, etc, but messengers could work perfectly fine without JavaScript.

  • source
  • parent
  • hideshow 9 child comments
  • [–] 12 points 1 year ago (2 children)

    Maybe I'm out of the loop because I do mostly backend, but how do you update the chat window when new chats come in, without JavaScript?

  • source
  • parent
  • hideshow 2 child comments
  • [–] -2 points 1 year ago (1 child)

    You don't, I'm saying it would still mostly work. Getting messages as they arrive is nice but not necessary. For example, I personally have all notifications off, and I only see messages when I specifically look for them, no one can reach me instantly. Everyone seems to be missing that we're talking about degradation here, it degrades, it gets worse with JS disabled. But it shouldn't straight up not work.

    A good example for something that does not work without JS would have been a drawing application like they said, or games, there are plenty of things that literally do not work without JS, but messaging is not one of them. Instant messaging would be of course.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 1 year ago

    I also feel like everyone seems to be missing that we're taking about degradation, which isn't usually "no js at all", it's some subset that isn't supported. People use feature detection to find out of some feature is supported in the browser and if it's not the they don't enable the feature the depends on it.

    For the chat example, you could argue that a chat can degrade into a bulletin board, but I'd argue that people use chat for realtime messaging so js is needed for the base use case.

    If your webpage primarily just displays static information, then I agree that it should work without js or css. Like Wikipedia, or a blog, or news, or a product marketing page, or a forum/BBS.
    But there is a huge part of the web that this simply doesn't apply to, and it's not realistic to have them put in huge effort to support what can only be a broken experience for a fraction of a percent of users.

  • source
  • parent
  • [–] 5 points 1 year ago (4 children)

    How would a page fetch new messages for you without JS?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 1 year ago* (3 children)

    You don't. That's the gracefull degradation part. You can still read your chat history and send new messages, but receiving messages as they come requires page reload or enabling js.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 1 year ago* (last edited 1 year ago) (2 children)

    my only issue with this ideology(the require page load) is, this setup would essentially require a whole new processing system to handle, as instead of it being sent via events, it would need to be rendered and sent server side. This also forces the server to load everything at once instead of dynamically like how it currently does, which will increase strain/load on the server node that is displaying the web page, while also removing the potential of service isolation between the parts of the web page meaning if one component goes down(such as chat history), the entire page handler goes down, while also decreasing page response and load times. That's the downside of those old legacy style pages. They are a pain in the ass to maintain, run slower and don't have much fallover ability.

    It's basically asking the provider to spend more to: make the service slower, remove features from the site (both information and functionality wise) and have a more complex setup when scaling, to increase compatibility for a minor portion of the current machines and users out there.

    this is of course also ignoring the increase request load as you are now having to resend entire webpages to get data instead of just messages/updates too.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 year ago (1 child)

    The web interface can already be reloaded at any time and has to do all of this. You seem to be missing we're talking about degradation here, remember the definition of the word, it means it isn't as good as when JS is enabled. The point is it should still work somehow.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 1 year ago* (last edited 1 year ago)

    Just to make sure we are on the same page then, cause I don't see the issue with my post.

    I am using the term "Graceful Degradation" which is meant as a fault tolerance for tech stacks to allow for a critical component to be removed.

    This critical component people are talking about is Javascript which is used for all dynamically loaded content, and used for fallover protection so one service going down doesn't make it so the entire page goes down (also an example of fault tolerance).

    The proposed solution given would remove that fault tolerance for the reasons I provided in the original reply, while degrading the users experience due to increased page load time (users reloading the page inconsistently vs consistently to get new information) and increasing maintenance costs and overhead on the provider.

    Additionally, the new processing system that you mentioned already exists generally doesn't, because they(websites) mostly use a dynamic load style nowadays, not a static(as in the client doesn't change it) page, which is what this type of system would require.

    note: edits were for phrasing, and a typo

  • source
  • parent
  • [–] 24 points 1 year ago (3 children)

    It's worse than this even. I have an old Raspberry Pi 3B+ (1G) that I got in 2018. I hooked it up the other day to mess around with it, it's been maybe 2 years since I did anything with it, ever since I got a Pi 4 (4G). 1 gigabyte of RAM is now insufficient to browse the web. The machine freezes when loading any type of interactive site. Web dev is now frameworks piled on frameworks with zero consideration for overhead and it's pure shit. Outrageous.

  • source
  • hideshow 3 child comments
  • [–] 0 points 1 year ago

    It's encouraged to use things with a supply chain easily poisoned.

    There's the issue of a Heisenberg effect here - when a spectator is present, like a huge audit of something, nothing happens, and when a spectator isn't present, there's nobody to look every day in piles of constantly changed crap to detect if something happens.

    Also not even easily poisoned, but easily denied. It's about control. The militaries and producers of complex industrial equipment were the first to start doing this, however nuts that may seem. It's useful to sell your allies a system they can use, but only when allowed. Or sell industrial equipment that can't be smuggled to a third country without your permission.

    These things - they are legal even morally, but at some point in discussion of them common good might arise as a thing in itself, separate from morality. For the common good such systems of control are clear poison.

  • source
  • parent
  • [–] 48 points 1 year ago* (10 children)

    You’re correct, and I’m going to explain how this happens. I’m not justifying that it happens, just explaining it.

    It isn’t that no one knows what graceful degradation is anymore. It’s that they don’t try to serve every browser that’s existed since the beginning of time.

    When you develop software, you have to make some choices about what clients you’re going to support, because you then need to test for all those clients to ensure you haven’t broken their experience.

    With ever-increasing demands for more and more software delivery to drive ever greater business results, developers want to serve as few clients as possible. And they know exactly what clients their audience use - this is easy to see and log.

    This leads to conversations like: can we drop browser version X? It represents 0.4% of our audience but takes the same 10% of our testing effort as the top browser.”

    And of course the business heads making the demands on their time say yes, because they don’t want to slow down new projects by 10% over 0.4% of TAM. The developers are happy because it’s less work for them and fewer bizarre bugs to deal with from antiquated software.

    Not one person in this picture will fight for your right to turn off JavaScript just because you have some philosophy against it. It’s really no longer the “scripting language for animations and interactivity” on top of HTML like it used to be. It’s the entire application now. 🤷‍♂️

    If it helps you to blame the greedy corporate masters who want to squeeze more productivity out of their engineering group, then think that. It’s true. But it’s also true that engineers don’t want to work with yesteryear’s tech or obscure client cases, because that experience isn’t valuable for their career.

  • source
  • hideshow 10 child comments
  • [–] -1 points 1 year ago (9 children)

    This has to be fixed though. I don't know, how, but it's an economic situation bringing enormous damage every moment.

    And most of people it affects are, like me, in countries where real political activism is impossible.

    This is the next thing that should be somehow resolved like child labor, 8-hour workdays, women's voting rights and lead paint. Interoperability and non-adversarial standards of the global network.

  • source
  • parent
  • hideshow 9 child comments
  • [–] 3 points 1 year ago* (1 child)

    enormous

    It isn’t though. Thats the exact point. It’s a moderate effort that would prevent infinitesimal damage. That’s just not good math. People have to prioritize their time. If you have a numbers case to make about why the damage is so enormous, make it. That’s what it will take to be convincing: numbers.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 1 year ago

    It is. It's like the medieval Sound Toll, you can't measure it well enough because there are no trade routes between the Baltic and the North Sea other than the Sound, the Kiel channel is not yet a thing.

  • source
  • parent
  • [–] 0 points 1 year ago (6 children)

    What should be fixed is people. The above described logic is true, it does really happen, and behind it is the idiot desire: to get more money. Not to make a better thing, not to make someone's life better, not to build something worthwhile - in other words, nothing that could get me out of bed in the morning. When that's the kind of desires fueling most companies and societies, all things will be going in all kinds of wrong ways

  • source
  • parent
  • hideshow 6 child comments
  • [–] 2 points 1 year ago (3 children)

    the idiot desire to get more money

    Yes, but we don’t have to make a total caricature out if it. We all need to prioritize our time. That isn’t evil, or broken, or wrong. That’s just life.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (2 children)

    Expand this, please. I am sure I did not get you

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 year ago (1 child)

    Developers having a narrower list of browsers to support is not ONLY about greed. You say it is NOT about making something that works to improve people’s lives. And I disagree with that.

    You can’t build a good piece of software and try To support every client under the sun since the beginning of time. There is a reasonable point to draw some lines and prioritize.

    So while greed is ONE factor, you seem to be saying it’s the only factor, and that people are stupid and broken for doing this. That’s going too far.

    It’s unrealistic to expect perfection. Today people want comprehensive client support. Tomorrow they will be outraged at some bug. But few realize: you may have to pick between the two. Because having zero bugs is a lot more achievable if you can focus on a small list of current browser clients. That’s just a fact. The next day they will be upset that there are ads in the site, but it may be ad revenue that pays for developers to fix all the bugs for all browser clients under the sun.

    People love to rant online about how NO you should give me EVERYTHING and do it for FREE but this is childish tantruming and has no relationship to reality. Devs are not an endless resource that just gives and gives forever. They are regular people who need to go home at night like anyone else.

  • source
  • parent
  • hideshow 1 child comment
  • [–] -1 points 1 year ago

    I am saying it is about greed because it actually is, since I am yet to see a situation where the ultimate filter for supporting/dropping a client is NOT revenue from people using that client, and here I am talking specifically about companies making money on their product, so no open source, subsidised, hobby projects etc.

    Peole love to rant online

    They do, now try to catch precisely me doing this

  • source
  • parent
  • [–] 0 points 1 year ago (1 child)

    That can't be fixed. We can't wait for a different kind of human (what if it'll be an artificial psychopath anyway) to fix our current thing.

    So hard to disrupt means of organizing (for associations, unions and such, unofficial) and building electoral systems (for Internet communities even, why not) are needed ; social media gave people a taste of that to lure them before subverting it all, but the idea is good.

    Some sort of a global system. When it's in place, improvement around will follow.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 13 points 1 year ago (4 children)

    Graceful degradation - pfft.

    Progressive enhancement - yeah!

  • source
  • hideshow 4 child comments
  • [–] 0 points 1 year ago (2 children)

    Graceful degradation is for people that are angry about the future. Progressive enhancement is for people that respect the past. And it’s stupid to not hire someone only because they don’t know a term that you know.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 12 points 1 year ago (2 children)

    Love it when a page loads, and it's just a white blank. Like, you didn't even try. Do I want to turn JS on or close the tab? Usually, I just close the tab and move on. Nothing I need to see here.

  • source
  • hideshow 2 child comments
  • [–] 3 points 1 year ago (1 child)

    React tutorial are like that. You create a simple HTML page with a script and the script generates everything.

    I had to do a simple webpage for an embedded webserver and the provider of the library recommended preact, the lightweight version of react. Having no webdev experience, I used preact as recommended and it is a nightmare to use and debug.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 32 points 1 year ago (8 children)

    I don't know anything about web development but, is it really fair to say it should work exactly the same with JavaScript turned off? If that were achievable why would it be there in the first place? I assume the graceful degradation concept is supposed to be that as you strip away more and more layers of additional functionality, the core functions remain or at least some kind of explanation is given to the user why things don't work.

  • source
  • hideshow 8 child comments
  • [–] 8 points 1 year ago (2 children)

    People do stuff in JavaScript that you really don't need JavaScript for. You don't need JS to display a store listing, for instance. Or a news page, or documentation, or even a search engine

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago (1 child)

    Ok, I'm seeing this a lot and I get it, and despite my lack of expertise in the field I can sympathize with the sentiment. Perhaps those replies are answering more in the spirit of the post than the letter.

    It's just that the title asked if no one knew what this 'graceful degradation' concept was anymore and the text used the example specifically that the page should be exactly the same with or without JavaScript switched on which, without trying to be facetious, sounded kind of logically impossible.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    I get you. I think you're right - if you have a page which does make heavy use of JS, it can be difficult if not.impossible to replicate the same behaviour without it. HOWEVER: you can often get something close enough!

    To go back to my shop example: yes, you can use JS to show a richer shopping experience, with pop-up windows, filtering, and the ability to add to cart without leaving the page. Graceful degradation would be to show the same listings, but without the more convenient features that use JS - so without popups, with filtering that refreshes the page, and a completely separate cart.

    Some apps really can't function without JS, because they are... well, apps.

  • source
  • parent
  • [–] 6 points 1 year ago (3 children)

    As a web dev, I'll say that yes, it is achievable. The problem isn't what's possible, but that we've trained new frontend devs in certain ways and given them certain tools. Those tools are being used in places they shouldn't, and those same new frontend devs are failing to learn the fundamentals of HTTP and HTML.

    React, for example, is a JavaScript framework that's become incredibly popular in recent years. It's meant for "single page applications". I once made a control panel for a vacuum former with it, where you could turn on zones of heating and get the temperature updated in real time. You're not expected to navigate away from that page while you're using it. I think this is a good place to use React, though you could make the argument that it should be a native GUI app. (I'll say that it isn't that important; this thing runs fine on a Raspberry Pi 3, which is the target platform).

    React is not a good option for an ecommerce site. You want to click on a product to check out its details. That means you're going between very different views (pages) a lot. React increases complexity with no clear gain. An argument can be made for the address/payment/finalization steps. The money people like that because there's a strong correlation between streamlining checkout and how often cash ends up in their hands.

    A lot of those sites use React, anyway, for everything. Why? Because we've trained a bunch of new frontend devs so much on it that they have no idea how to make a site without React. This overspecialization has been detrimental.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (2 children)

    I’m a full time React and React Native developer. Imo, the frustrations with react are when you server side render. React without SSR is much simpler. But you are 100% right about picking the technology that meets your project’s requirements.

    However, let me play devils advocate. Why do you need to SSR your e-commerce site? To optimize your SEO? Seems to me that SEO lately is a lie we’re being sold to make it easier for LLMs to chew through the entire internet, including your SEO e-commerce site. Imo, search engines have stopped serving the consumer. If we forget the SEO component for a second, you could build a killer e-commerce site that uses React and deliver a great user experience. If this is all about SEO, then I’m sure there is lots of garbage we could inject into our projects that would boost SEO. We could add LLM written top 10 articles to a fake blog on our site that nobody actually wants to read, and boost our Google ranking.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 1 year ago (1 child)

    It has nothing to do with SEO. We do server side rendering because it's the simplest thing that works.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    It’s simple when it’s all SSR or it’s all client side rendered (CSR). In my experience, mixing is when the headache sets in. There are benefits to SSR and CSR. You want a webpage that works without JavaScript, use SSR. You want a persistent video player that continues the current video as you navigate pages on your site, use CSR.

  • source
  • parent
  • [–] 11 points 1 year ago

    Developers are still familiar with the concept, there are even ideas like server side rendering in react to make sites more SEO friendly.

    I think the biggest issue is that there is very little business reason to support these users. Sites can be sued over a lack of accessibility and they can lose business from bad ux, so they are going to focus in those two areas ten times out of ten before focusing on noscript and lynx users. SEO might be a compelling reason to support it, but only companies that really have their house in order focus in those concerns.

  • source
  • [–] 11 points 1 year ago* (2 children)

    I thought graceful degradation in terms of web design was mostly just to promote using the latest current browser features but to allow it to fall back to the feature set of, say, 1 or 2 previous browser versions. Not to support a user completely turning off a feature that has been around for literal decades? I think what you're promoting is the "opposite" side, progressive enhancement, where the website should mostly work through the most basic, initial features and then have advanced features added later for supported browsers.

  • source
  • hideshow 2 child comments
  • [–] 11 points 1 year ago (1 child)

    Not OP, But welcome to my TED talk.

    Supporting disabled JavaScript is a pretty significant need for accessibility features. None of the text browsers supported JavaScript until 2017, and there's still a lot of old tech out there that doesn't deal well with it.

    It wasn't until the rise of react and angular that this became a big deal. But, It's extremely common now to send most of the website as code. And even scrapers now support JavaScript.

    There's no "minor point" clause on the term graceful degredation. At the same time, there's no minimum requirement. Would it be good to be thorough and provide a static page? I'd say yes but it's not like anyone is going to do that anymore.

    The tables have turned, You can no longer live without JavaScript and now you need browsers that lie about your screen resolution, agent and your plugins because mega corps can sniff who you are by the slightest whiff of your configs.

    And that's NOT pretty cool

  • source
  • parent
  • hideshow 1 child comment
  • [–] 21 points 1 year ago (2 children)

    Funny, from my standpoint, more functional JavaScript almost always feels like service degradation - as in, the more I block, the better and the faster the website runs.

  • source
  • hideshow 2 child comments
  • [–] 3 points 1 year ago* (1 child)

    personally I think this is mostly due to for some reason people tend to give up on visiting a website if it takes more than a second or two to load(guilty as charged though), so instead they load a mostly blank page (which gives the sign that its loading) and then use javascript to load the rest of the content in.

    that and fucking ads galore

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 1 year ago*

    that and fucking ads galore

    And trackers.

    And Javascript that give you the time in the page, as if you didn't have a clock on your desktop.
    And Javascript that give you a fake chat window to talk to a shitty AI nobody wants in the bottom-right corner.
    And Javascript to annoy you with GDPR shit everybody absent-mindedly clicks away anyway.
    And Javascript to inform you that the site uses cookies, as if it mattered since it won't work without cookies.
    And Javascript that nags you for a subscription or stops you scrolling to force you to create an account.
    ...

    And of course, all that is done by loading megabytes and megabytes of shit recursively from a kajillion nested addresses because web "developers" couldn't code tight code if their lives depended on it. All they do is import pre-chewed shit that acts as trojans for big data players to plant more trackers and more ads in your browser, just to serve up barf people by and large don't give a shit about.

  • source
  • parent
  • [–] 9 points 1 year ago (2 children)

    Not even possible to reply to this post using the Lemmy Web UI without having Javascript enabled; the reply button doesn't function without Javascript.

  • source
  • hideshow 2 child comments
  • [–] 9 points 1 year ago (2 children)

    it’s not a hard concept, people.

    Depends. Webapps are a thing, and without JavaScript, there isn't much to show at all.

    Websites that mostly serve static content though? Yeah. Some of them can't even implement a basic one-line message that asks to turn on JavaScript; just a completely white page, even though the data is there. I blame the multiple "new framework every week" approach. Doubly so for sites that starts loading, actually shows the content, and then it loads some final element that just cover everything up.

  • source
  • hideshow 2 child comments
  • [–] 2 points 1 year ago (1 child)

    It depends. Inertia.js can pre-render pages server side, so you don't need JavaScript to see the content.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 17 points 1 year ago* (5 children)

    I’ve spent the last year building a Lemmy and PieFed client that requires JavaScript. This dependency on JavaScript allows me to ship you 100% static files, which after being fully downloaded, have 0 dependency on a web server. Without JavaScript, my cost of running web servers would be higher, and if I stopped paying for those servers, the client would stop working immediately. Instead, I chose to depend heavily on JavaScript which allows me to ship a client that you can fully download, if you choose, and run on your own computer.

    As far as privacy, when you download my Threadiverse client* and inspect network requests, you will see that most of the network requests it makes are to the Lemmy/PieFed server you select. The 2 exceptions being any images that aren’t proxied via Lemmy/PieFed, and when you login, I download a list of the latest Lemmy servers. If I relied on a web server for rendering instead of JavaScript, many more requests would be made with more opportunities to expose your IP address.

    I truly don’t understand where all this hate for JavaScript comes from. Late stage capitalism, AI, and SAS are ruining the internet, not JavaScript. Channel your hate at big tech.

    *I deliver both web and downloadable versions of my client. The benefits I mentioned require the downloaded version. But JavaScript allows me to share almost 100% code between the web and downloaded versions. In the future, better PWA support will allow me to leverage some of these benefits on web.

  • source
  • hideshow 5 child comments
  • [–] 7 points 1 year ago (3 children)

    Problem is so many websites are slow for no good reason.

    And JS is being used to steal our info and push aggressive advertisment.

    Which part is unknown to you?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago

    Problem is so many websites are slow for no good reason.

    Bad coding is a part of it. "It works on my system, where the server is local and I'm opening the page on my overclocked gamer system". Bad framework is also a part of it. React, for example, decided that running code is free, and bloated their otherwise very nice system to hell. It's mildly infuriating moving from a fast, working solution to something that decided to implements basic language features as a subset of the language itself.

    Trackers, ads, dozen (if not hundreds) of external resources, are also a big part of it. Running decent request blocking extensions (stuff like ublock origin) adds a lot of work to loading a page, and still makes them seems more reactive because of the sheer amount of blocked resources. It's night and day.

  • source
  • parent
  • [–] 6 points 1 year ago

    I don’t understand why we are blaming the stealing info part on JavaScript and not the tech industry. Here is an article on how you can be tracked (fingerprinted) even with JavaScript disabled. As for slow websites, also blame the tech industry for prioritizing their bottom line over UX and not investing in good engineering.

  • source
  • parent
  • [–] 4 points 1 year ago

    The matter is not javascript per se but the use companies and new developers do, if everyone used like you there would probably be no problem. A gazillion dependencies and zero optimization, eating up cpu, spying on us, advertisements...

    And if you try and use an alternative browser you know many websites won't work.

  • source
  • parent
  • [–] 7 points 1 year ago

    Yeah, it should also work without browser exactly as it does with a browser

  • source
  • [–] 7 points 1 year ago (8 children)

    i, as a user, should be able to switch off javascript and have the site work exactly as it does with javascript turned on

    Not agreeing or disagreeing, but why?

  • source
  • hideshow 8 child comments
  • [–] 13 points 1 year ago (4 children)

    JavaScript is directly related to almost everything that makes browser tabs take up more RAM than a typical PC in 1998. There are ways to use it in targeted ways that improve responsiveness (objectively or subjectively). The web as it stands is so far beyond that justification that it's almost laughable to even bring it up.

    I run a personal blog with zero JavaScript; just HTML, CSS, and some pictures. Firefox's memory snapshot says it uses <3MB on the homepage. Amazon's homepage is currently giving me 38MB, and this comment section with the Alexandrite frontend is giving me 30MB. Those two may even be at the low end of what's out there.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 8 points 1 year ago (1 child)

    Oh yeah. There’s no doubt that modern web tech stacks are inefficient slop - patchwork built upon patchwork.

    However, JS has been included in every major browser for well over a decade. It’s industry standard at this point, so I found the position of expecting commercial services to be backwards compatible with a 1998 browser setup a little odd.

    What do you think about WebGL apps?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 1 year ago*

    I don't have a fundamental problem with web apps having access to GPU resources. There's obviously games that can benefit from that. Engines like Godot and Unreal can directly use a web stack as a build target. It makes sense there.

    In general, I don't have a fundamental problem with any of this being there provided the attack surface area can be managed. Which it isn't, but that's another discussion.

    I have a problem with the tools being applied indiscriminately. I'd almost say that every site should start vanilla, and you'd have to specifically justify any use of JavaScript.

  • source
  • parent
  • [–] [S] 3 points 1 year ago

    I run a personal blog with zero JavaScript; just HTML, CSS, and some pictures. Firefox's memory snapshot says it uses <3MB on the homepage. Amazon's homepage is currently giving me 38MB, and this comment section with the Alexandrite frontend is giving me 30MB. Those two may even be at the low end of what's out there.

    then you have outlook and google docs, which use a half a gigabyte of memory each.

  • source
  • parent
  • [–] 1 point 1 year ago

    Because big tech has ruined the internet and uses JavaScript among other things, to track you. Some people blame the plastic pollution on improper recycling when we know that’s exactly what the evil plastic industry wants us to do: blame the consumer. Similarly, people think it’s their responsibility to turn off JavaScript when they should be blaming big tech. Even if you get rid of JavaScript, they will just find other creating ways to track you (source). We have to fix the structures running the tech industry.

  • source
  • parent
  • [–] 6 points 1 year ago (8 children)

    Nonono, the JS does the money thing before you get your content fix. It's by design.

  • source
  • hideshow 8 child comments
  • [–] 5 points 1 year ago* (7 children)

    This is correct. Web dev is told to make sure ads load before content. They don't want users that don't generate profits.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 1 point 1 year ago* (6 children)

    So in this example, what’s the underling issue, shitty business requirements or JavaScript?

  • source
  • parent
  • hideshow 6 child comments
  • [–] 2 points 1 year ago (5 children)
  • [–] 0 points 1 year ago (4 children)

    You understand if most people stopped using JavaScript they would just find other ways to serve you ads, right? You can already be tracked without JavaScript.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 1 year ago (3 children)

    Just because there are other ways to serve you ads does not at all mean we should not be able to not only stop at least one, but also the one which is most dangerous since it literally allows for RCE on all clients. by design.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago* (last edited 1 year ago) (2 children)

    The browser is supposed to be a sandbox environment for RCE. That’s why the sandbox part is important. Maybe instead of removing the RCE, we can lock down the sandbox better and reduce the amount of information advertisers can collect.

    If you remove code execution in the browser, then many websites will need to ship desktop apps instead. So now you’ve bypassed the browser sandbox altogether and that application can do much more damage.

    I’m not arguing that all websites need to execute in the browser, but without code execution in the browser, you remove a whole class of apps and the web becomes much less useful.

    Edit: calling it RCE is also kinda obnoxious because at that point you might as well call everything RCE. By that definition, if I push a docker image update, do I have RCE inside any container pulling that image? If there’s a way to break out of docker or web browser sandboxing, by all means call it RCE, but this is not that.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago (1 child)

    Maybe instead of removing the RCE, we can lock down the sandbox better and reduce the amount of information advertisers can collect.

    By all means but then someone do it, because it's 2025 and even Firefox sends all this information that is absolutely not needed to show a webpage. It's at least 25 years late by this point.

    If you remove code execution in the browser, then many websites will need to ship desktop apps instead.

    Which in quite more than just some cases would be good, precisely because some things should be native programs instead of requiring that the web browser basically provides all the tasks of the OS.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago*

    I still think it’s silly to feel safer running the code outside of the browser sandbox, but I also understand. Ad companies have abused browser tracking and fingerprinting so much, and I hate them for it. What I’m trying to say is don’t throw the baby out with the bath water.

    As a developer, it’s way easier to build a cross platform websites than maintain a native app for each platform. A lot of “native” apps are actually just web apps in a wrapper or halfway between native and web solution like React Native. Web lowers the barrier of entry to get your app out the door.

  • source
  • parent
  • [–] 6 points 1 year ago

    It is substantially harder to make a modern website work without JavaScript. Not impossible, but substantially harder. HTML forms are not good at doing most things. Plus, a full page refresh on nearly any button click would be a bad experience.

  • source
  • [–] 10 points 1 year ago (1 child)

    I don't know how you're gonna get everything to work without JavaScript. You can't do a lot of interactivity stuff without it.

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 5 points 1 year ago

    They also continually forget that you can't do frontend only validation for things.

  • source
  • [–] 4 points 1 year ago*

    i run with scripts disabled by default. it gets annoying at times, but most sites and pages i go to work fine. a few are true 'apps' and are whitelisted. random sites that don't work i just search for an alternative source if i really want to read it. i have separate browser installs with fewer restrictions that i use specifically for certain things (like webmail or the little online shopping i do).

    the few web sites that i am responsible for... all work without scripts. many of the visitors i care about have shitty internet, so i don't want massive js or css bundles in there or tons of unoptimized graphics or media.

  • source
  • [–] 4 points 1 year ago

    Fucking Reddit and their shite navigation controller that shits the bed when you zoom in.

  • source
  • load more comments
    view more: next ›