1. 19
  1. 24

    No JavaScript means no in-browser simulations or interactive examples, which makes the teacher in me sad :(

    EDIT from the linked rant, emphasis mine:

    I know, I know - this website itself uses a little, teeny-tiny amount of CSS. I am indeed a hypocrite - but did I ever claim that I practice what I preach? At least this personal website is JavaScript-free… (apart from a handful of CodePen examples embedded in some of the tutorials).


    1. 11

      Nah, you’d just use Java applets or Flash movies, like in the “good old days” when JS wasn’t as powerful as it is today.

      1. 9

        This is a really good point. Some of the most incredible blogs have lots of JavaScript-based demo’s and examples. For example: https://ciechanow.ski/

        1. 3

          Yeah, people who advocate getting rid of JavaScript don’t seem to be serious about education, because anyone who is knows that interactivity is far better than (pure) static content for teaching almost anything to almost anyone.

          1. 2

            It’d be a good first step to only allow Javascript from the same domain, ban third party scripts.

        2. 18

          This “the browser’s default styles suck therefore every webpage has an imperitive for CSS” meme is depressing. Like, yes, I sort of agree that since browser defaults are garbage it is responsible to include a couple lines of CSS to fix them. But that isn’t a reason we need CSS! We could fix the browsers!

          I think some CSS is super useful for other reasons, but it should always be possible to disable it and get a usable, readable webpage.

          1. 4

            Yes, while I support Gemini and related minimalist projects, I think there is also room for a simple web browser that basically just implements reader mode, no CSS or JS at all. It would only be useful for reading articles, not web apps or more complicated interactive websites, but for many use cases that would be more than adequate. Such a browser would be much simpler to implement, and might be possible for an individual to build from scratch, although parsing modern HTML5 is no joke (certainly much more complicated than gemtext).

            1. 3

              Yeah, I do agree with you. But I don’t think the browsers will ever fix that at source. Plus, design is so subjective that one person may find the browser defaults to be just fine, whereas other may loath them.

              1. 5

                But I don’t think the browsers will ever fix that at source.

                Yes, because that would break websites that use CSS. But if you come from a standpoint where websites wouldn’t use CSS, then browsers would immediately change default styles to be more readable. See the reader mode example used in the article: it doesn’t just make the page unstyled, it also makes it readable, like browsers would do by default if CSS didn’t exist.

                1. 3

                  It would be very easy to detect unstyled websites and always put those in reader-mode. There’s a small gotcha if we’d want to allow JS in that reader-mode (to provide a default style for interactive elements) cause JS can set CSS, but that’s trivial to work around.

                  Maybe we just need a head Element to instruct the browser to use reader-mode.

                  1. 2

                    Yes, because that would break websites that use CSS.

                    It shouldn’t. The browsers don’t all use the same defaults, and their defaults can be changed to some extend already without breaking pages. Webpages with a lot of CSS use a reset so that browser defaults don’t matter. Webpages with only a little responsibly written CSS are already written to consider browser defaults a feature.

                    We’re not talking about a heavy theme from the browser here, just changing obviously bad defaults. Some browsers already use sans-serif by default, all should use a sensible sans-serif font from the system. Most already have some padding around the body, just need to make it reasonably sized (I find 5% left and right pretty good, but more than 1 or 2 em for sure). And so on. Maybe creme or slate background color based on if the browser is in dark mode or not. This kind of thing.

                    1. 4

                      We’re not talking about a heavy theme from the browser here, just changing obviously bad defaults.

                      Changing the default margin to center text is a big change. It would break a lot of websites.

                    2. 1

                      I don’t think it would break anything. The cascade ensures this wouldn’t happen.

                      A i understand it, it goes browser style > website style > user style with each in turn taking precedence over the last.

                      1. 3

                        I don’t think it would break anything. The cascade ensures this wouldn’t happen.

                        If every websites expects no margin to be set, and you set a default margin, a lot of websites will break. It should be obvious.

                    3. 4

                      We’ve all seemed to forget that we used to call web browsers “user agents”. They are an agent of the user and should be something the user controls!

                      You wrote:

                      As you can see from the screenshot above, the text spans the entire width of the screen. I also think that the text is too small. Even on my little 13” MacBook Air screen, constantly scanning my eyes from the far left to far right of the screen really strains my eyes.

                      This is why I think CSS should continue to exist.

                      In Netscape Navigator 4, I used to be able to set my preferred link color, background/foreground, fonts, etc. I was able to configure my user agent in such a way that it was comfortable for me to use. I’d expect in a world where the browser exists as a true engine of hypertext instead of as some quasi-hypertext/quasi-remote terminal engine, we’d see even deeper customization options than that.

                      1. 6

                        You still have a “user agent” and it still is customizable to a pretty high degree.

                        It just also happens to let web page authors suggest how to display the page, as a default in case you don’t choose to override it. And some people are good at coming up with helpful, useful styling. Some people are less good at it. But the world is richer for the variety they produce, just as the world is richer for the fact that we didn’t all standardize on exactly one font and list of rules for typesetting at the advent of movable type, but instead got a wide variety of books which experimented with different ways of doing things.

                        And the real logical conclusion of your argument is to require everyone to become as skilled at putting together their own user-specific styles are you are, which would ironically be a terribly disempowering thing for most users, who don’t want to put in that kind of time and effort.

                        1. 1

                          I think all modern browsers support user CSS. This takes precedence over any other CSS, so any element that is styled in your user CSS will see that style, even if it is also styled by the site’s CSS. CSS is very powerful and includes things like regex matches, so I can add a little superscript [pdf] next to any links that link to .pdf files and add a health warning next to any links that go to Facebook in my user CSS.

                          1. 1

                            Does my browser support user CSS? Certainly! Is that particularly useful in a world where a hyperlink to another site may be represented as an <a> tag, a button, a span/div with an onclick() handler, … … …? Not particularly: I either spend time building my user CSS to fit every site I interact with (hah!), or I use some type of best-effort tooling. And that’s often a huge pain. If you’ve never looked at the hoops Firefox jumps through to generate a ‘reader mode’ page, you should.

                            A counterfactual history where we didn’t get the ability to drive pixel-perfect design and instead picked up <article> and <menu> and other semantic friends early would look very different: my user agent could allow me to describe how I want to see my data presented, but more importantly, that control would exist over every site I visit.

                            1. 1

                              A counterfactual history where we didn’t get the ability to drive pixel-perfect design and instead picked up and and other semantic friends early would look very different: my user agent could allow me to describe how I want to see my data presented, but more importantly, that control would exist over every site I visit.

                              There was a problem with this history (which is what the W3C was pushing with XHTML): semantic markup makes it very easy to separate adverts and content and a UA will then always make the decision not to show adverts. When web standards are driven by a company that gets the vast majority of its revenue from adverts, this model could never exist. It’s far better from their perspective if the browser just renders pixels and the difference between ad pixels and content pixels is completely opaque.

                      2. 2

                        One of the original intents is that users would provide their own stylesheets. I don’t think that’d be as practical even in the 90s though; sites presume a default stylesheet that may not match your custom reality, nor would sites likely to use the same selectors or semantics elements for exactly the right purpose.

                        1. 2

                          Why wouldn’t that work? I understand not every single person is going to implement their own stylesheet, but os and browser vendors would likely have a nice default style and some themes one could choose from.

                          For people who want more, there would probably be a subreddit with fancy stylesheets to download for free. Browsers could make this easy by adding a button that makes it easy to switch between them.

                      3. 6

                        This reminds me of https://motherfuckingwebsite.com/ and http://bettermotherfuckingwebsite.com/. I tend to use something similar to the 2nd website when mocking out websites in projects. A similar option is classless CSS where there’s styling, but it’s limited to more standard html elements rather than creating new elements out of divs and classes. There’s value to both, but sometimes it’s nice to go back to a more minimal approach.

                        I really wish there were more popular brutalist websites.

                        1. 7

                          brutalist websites

                          I don’t think I’ve ever seen a website try to load so many images simultaneously.

                          1. 4

                            100%. Perfect use-case for some lazy-load scripting.

                            1. 1

                              Most of the sites seem pretty complex to me.

                              This is a site where people can submit their work, and it’s pretty clear that “brutalist” means different things to different people (just like the architectural style).

                              1. 1

                                Hah, I forgot about that - good callout - I’ve had that page bookmarked for a while and just opened it for a second to make sure it was what I was thinking of.

                                Brutalism does seem to mean different things for different people, but at least for me, I like when sites don’t overuse css/js but are still completely functional (See GoatCounter for an idea of what I’m thinking of). The brutalist websites page is definitely a good example where an aggressive focus on minimalism hurts the usability of the site. Everything good still needs to be in moderation.

                                1. 1

                                  931 MB. Impressive.

                                  1. 1

                                    Thank you so much for measuring this. I really wanted to but also really didn’t want to.

                              2. 5

                                This article quotes the main thrust of the article it’s responding to, but it doesn’t address it. I’ll quote it again because it’s so damned important.

                                Then, they return to real life.

                                The point that the original author was making is so critical that it’s likely to go entirely unnoticed by any subsequent conversation. Because it’s not about whether the web is better (nicer or less nice, more boring or more interesting, more powerful or less powerful) with all the advanced doohickeys at our disposal. It’s not even, primarily, about accessibility. The vision it’s proposing is of a web that is less nice, and more boring, so that we don’t live there. We live here, instead, where our bodies and our people are. And even if our people are only accessible via the web, the web itself is as thin a layer as possible over their words (or their video, or audio…). The less designed it is, the less of it there is to get stuck into. And ultimately, we want it not to exist at all. We want it to be so thin and transparent that it melts away.

                                1. 7

                                  The vision it’s proposing is of a web that is less nice, and more boring, so that we don’t live there.

                                  That’s not a vision that I like, personally. When I was young and all I had was books, I used to devour my local library. While I certainly would dumpster dive and try to play around with discarded computers since my family didn’t have money for much, I spent the vast majority of my intellectual time in the world of books. I wasn’t really an exception either, I knew many other kids my age, and honestly many adults at the time, who also spent their free time with their noses glued to books. Some of these books were high-brow, but many of them were just pulp mystery, science fiction, romance, or thrillers. Generations of my family have loved reading books and reading newspapers. The internet then was just the next step to this consumption and sharing of information, not all of it intellectual or even useful. I may have spent a little more time in the books than was good for me at that age, but almost nobody proposed having books be some place where we “don’t live there” or that books should be “as thin a layer as possible over their content” or “the less designed it is, the less of it there is to get stuck into”.

                                  I’m of the opinion that individuals should be able to make their lives revolve around whatever it is they want it to revolve around. Whether that’s code, prose, art, or whatever, it doesn’t matter. Usual caveats about harming others and such apply. I also largely agree with @fouric here. You’re trying to propose a technical solution to what is essentially a social problem.

                                  1. 6

                                    The vision it’s proposing is of a web that is less nice, and more boring, so that we don’t live there.

                                    This is exactly the wrong way to solve this problem.

                                    The problem is both content that is designed to be addicting (which can certainly survive even in a world without stylesheets) and users that have been habituated towards addicting habits and lost the discipline to decide what to do with their own time.

                                    These are both social problems, not technical ones, and need social(-adjacent) solutions, not technical ones.

                                    Crippling the web, which is an incredibly useful and valuable tool, to try (and fail) to fix a social problem (which is independent of the technology) is an incredibly bad idea, somewhat analogous to getting rid of GPUs because of the number of people addicted to video games.

                                    Not to mention that it’s far easier (and more probable) to change the content and consumers than it is to get Google and Mozilla and Apple to all remove rich media features that virtually every one of their users will be extremely unhappy about.

                                  2. 3

                                    I mean, if we didn’t have CSS & JS we’d either all still be running Windows apps for everything and stuck in walled gardens like AOL and other national equivalents, or every web page would just host a Flash movie or Java applet.

                                    CSS & JS have evolved to support the needs of a rich Internet. Like any technology they can be used well or poorly. Like any creative work, for a given use, some people will like it and some people will like it.

                                    I’m glad that I live in a reality where I can use and create rich content and applications that aren’t tied to any particular vendor. I can choose to run whatever operating system I want on whatever hardware I want to create and consume.

                                    This wasn’t the reality I experienced for the start of my time with computers and I’m very very happy that we are where we are - even if sometimes people choose ugly fonts.

                                    1. 1

                                      In terms of how the world evolved, maybe. But that’s not absolutely necessary. A alternative, focused on applications, but as open and standard based as the web + browsers, could have eventually emerged.

                                      1. 1

                                        We did have that - Java. It wasn’t as good.

                                        1. 1

                                          Java was only ever at most one part of what I described. Notably, it never had a DNS, a default, first class, remote protocol, nor sandboxing by default.

                                          1. 1

                                            I hadn’t actually read your suggestion.

                                            Java used the same DNS as FTP and telnet and email and everything else. For a default, first-class remote protocol it had RMI and then Jini. Java’s sandboxing was first-class and a key value proposition - it was key to the applet ecosystem but I also played with it in non-applet contexts.

                                            1. 1

                                              Fair enough. That said, just because it didn’t work once doesn’t mean it’s a bad idea, just a bad implementation. For better or worse, we are kinda literally trying it again with stuff like wasm.

                                    2. 3

                                      Pages without markup or scripts are easier to access, and accessibility is a genuine concern on the Web.

                                      As a brutalist, I try to employ a minimum of markup and scripting simply because it gets in the way of the content.

                                      1. 3

                                        I think it would have happened no matter what really; consider DSSSL and Viola’s scripting framework

                                        1. 2

                                          I don’t believe in technological exceptionalism. Especially when it comes to programming ecosystems, there’s so much overlap and competition that no single tech matters. If CSS & Javascript didn’t exist, something similar would have taken their place easily.

                                          1. 1

                                            Disclaimer: writing this on mobile, after sedation. Formating and structure might suck, and I’ll blame propofol.

                                            Here’s the problem: a web of content-focused documents and a web of applications are two completely (or almost completely) different things, that we tried to shoehorn into a single thing.

                                            Imagine this:

                                            In one side, a web of hiperlinked documents. No presentation, no dynamic anything on client side. Only thing that can be served is HTML+content. Default styles suck? Configure style per website, maybe even with something like CSS, but fully in your control, maybe even with a UI on top. Also maybe the document browser just ship better default styles. Have you tried reading a Google doc with default styles? It’s fine. There could even be scripting in the client, but not served by sites, written and managed by users. In a web of pure documents, that could be a cool, local, power user, feature.

                                            On the other side, a web of applications. Maybe even a completely separated DNS. A low level bytecode VM that any language can target. Sandboxing, as with today browsers, and maybe even better, with much stronger application isolation. A UI description language that doesn’t suck, something akin to Android UI definition, or QT, or QML. A rendering engine thought to render dynamic applications, not documents. No DOM. Possible a better, more application focused protocol than HTTP. You could even develop a client for the web of documents on top of it.

                                            I believe that that’s what we would end up with if we would design a web today, without ANY concerns for backwards compatibility of anything. And maybe there’s a reality out there where, when people asked for more of HTML+HTTP, someone dug in, and told them to go build their own web, and they did.