And a big reason for this is that we can ship sites without a dedicated backend—which we would need to render your sites for you when you disable JS. A requirement for a backends just to render templates would be a very high obstacle for many applications and developers, in complexity, time, cost, and electricity. It simply wouldn’t make sense.
You’re also right that many devs will host their client-side-only sites on free static providers like GitHub Pages which are built on top of CDNs and cloud storage providers that are storing and mining visitor logs. There’s some room for shenanigans. There’s also a lot of room for privacy: I can guarantee visitors to my static site that nobody will see the data they enter into it because no packet ever leaves. And static sites offer the ultimate immunity to vendor lock-in: literally anything can serve dead bytes on disk.
@bookandswordblog @jer_ thanks for bearing with my incomplete walls of text! Read-only databases are topologically equivalent to static files (see the fantastic https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/).
@22 @bookandswordblog all of this that you're describing, though, is foisting off the developer's inexperience on the user. That's a bad web app. If there are elements of basic usability that don't have to be client-side that are exclusively client-side, that's bad implementation.
I'm not talking about elements that require client-side work, but websites who just show broken images without js (or nothing at all) are bad.
@jer_ hmmm. Again many thanks for spending time reading my scattered thoughts and thinking about and writing a reply—I am supremely grateful for your thoughtfulness.
I don’t want to try and change your mind—I personally do respect the no-JS folks and as a courtesy to them I will spell out why they should turn on JS to appreciate a site I made in the <noscript> tag. I also love exporting websites with LaTeX equations and diagrams and source code snippets fully baked to HTML and SVG, no JS needed, to enjoy that sweet static files hosting. And finally a no-JS browser is of course in my toolkit for surviving the web (along with ad blockers and DNS blockers and proxies and VPNs and virtual machines).
But I personally can totally see why something that *could* have been a static site like Imgur or Twitter or Medium still decided to do rendering and interaction to JS. To me it’s a reasonable choice and I disagree with calling them “broken”.
@22 @jer_ @nolan I brought it up before, but what does "web app" mean to you? To me it makes no sense to call most types of websites an app, in the way a browser mail client or GIS based map maker is an app. As I and Jer said, our main objection is not to "programs in a browser" requiring active scripts but simple displays of information requiring them.
If its all one page which loads and reloads, that suggests a site is more a web app than a web page.
@bookandswordblog (dropping others) right I can see how that can be confusing. Notionally I think of a web _app_ as something that needs interactive programming (mail client, GIS, game), but that’s too innocent because it might lead you to think think bus timetables 🚌 or prose essays don’t need interactivity. However that’s only true from the _consumer_ point of view. In in our capitalistic world, the _publisher_ of such content might be very interested in knowing exactly which parts of the page you look at for how long (IntersectionObserver does this https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API), what you selected or clicked or copied, and of course when to insert an ad. Thus even these “informational displays” wind up becoming web apps 🙄.
(Despite my eye roll I don’t think it’s useful to have an automatic revulsion for such “tracking”. I’ve worked with authors of complex technical training, like that MDN link above, and these content creators are extremely interested in knowing what pages/sections were useful, how long readers dwelled on each section further broken down into how frequent a visitor they were, etc.)
@bookandswordblog I mean same here, I love making static sites for myself and for my projects, I host them on GitHub Pages so I don’t even see page counts from server lots, I just don’t care. But then again every app I’ve built as a professional developer (mostly tooling for internal users) has had deep instrumentation so the owners know as much as possible about their users and their interactions with the app.
How people make money I frankly dgaf about? So long as I get paid?
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!