1. 38
    1. 19

      OK, I want most of the things that you say you want too, but maybe for different reasons. Anyway, I think your branding is counterproductive. We should be promoting web design and engineering practices that are healthy, simple, less wasteful, more respectful, etc.; not for our own exclusive enjoyment because we are a small culture of highly disciplined warriors who have all survived an extreme training regimen and practice rigorous self-denial, but because everybody deserves a usable web. Those without expensive new hardware, fast network connections everywhere we go, or the elite skills needed to operate fancy adblockers, NoScript, text-mode browsers, or gopher need it most of all.

      Maciej says it better.

      1. 10

        Yeah I like what this page says and upvoted it, but I agree with your criticism about branding. I think my site [1] falls under the definition of “spartan”, but I wouldn’t use that word to describe it.

        I would prefer the adjectives you used, and perhaps user-centered, content-centered, low latency, etc. Basically the opposite of what Reddit has done lately. It got popular because it was content-centered, and now they not only added a lot of weight to their pages, but also dark patterns.

        In English, “user-centered” isn’t a connotation you get from “Spartan”. There are different ways of being minimal, and Spartan is often seen as user-hostile, i.e lacking in comforts.

        I just looked in the dictionary and it 100% agrees with my first thought about “Spartan”. The problem is that such web pages are MUCH more comfortable for me and others (old Reddit, HN, craigslist, old Joel on Software forum if anyone remembers that), so “Spartan” is really the wrong word to describe them.


        2a. marked by strict self-discipline or self-denial

        2b. marked by simplicity, frugality, or avoidance of luxury and comfort

        Spartan isn’t as bad as “brutalist”, but it’s close. There needs to be another word / brand for “design that gets out of the way of content”.

        Basically what Tufte advocated, i.e. the “chart junk” anti-pattern. That is, I agree there should be a word for the opposite of “web junk” or “web sludge”, but Spartan isn’t it.

        [1] http://www.oilshell.org/

        1. 5

          I upvoted this one as well, and I think this stuff is really important. But I don’t think it needs to be a movement with a name and flag to rally around. “Brutalism” is immediately off-putting to those not in on the jargon. The “Indie Web” is sort of self-marginalizing. There are probably many other attempt to give humane treatment of users some kind of catchphrase, but I think it’s a bad idea. Those catchphrases grow stale and get easily dismissed. It’s just good practices vs bad practices as far as I’m concerned, and there will never be an end to the struggle.

          I don’t care if you’re a hobbyist, a multi-billion-dollar company, or a government. As a human being with limited technical resources and patience, I will judge your character by the way your website treats me. There need be no more to it than that. It’s very basic.

          1. 4

            If we trim the Merriam Webster definition a little it fits quite well:

            2a. marked by strict self-discipline

            2b. marked by simplicity, frugality, or avoidance of luxury

            You need self discipline to not use NPM. Requiring huge downloads is luxury. The resulting website is simpler.

            The association to the movie 300 and Leonidas also fits for me, because those big websites make me angry.

            I also believe that we need a good word. Even my definition is mostly in terms of what we not want.

          2. 1

            Alternatives: Minimalist. Sleek. Slim.

            1. 2

              Sleek is a good word with only positive connotations.

      2. 5

        We should be promoting web design and engineering practices that are healthy, simple, less wasteful, more respectful, etc.;…

        That’s exactly what the post is suggesting. Spartan is used as a stand-in for minimal and accessible and not in the militaristic sense you’re interpreting.

        1. 4

          Maybe your charitable interpretation is somehow more valid, or maybe just closer to the author’s intent, although I don’t see any evidence for that. But even if so, my misinterpretation is inevitable, and that’s the point I’m trying to make about branding. Connotations matter; look up “Spartan” in any dictionary you like. Also, take a closer look at the first criterion “amateurs, hobbyists, and nerds”. While you’re there, check out the page’s single image.

          1. 2

            I’m not denying the dictionary might say something else but as you said the charitable interpretation is about minimalism and simplicity. I’ve never used Spartan in the militaristic sense so that’s probably why I assumed that interpretation but I also don’t know of many people that use Spartan in the sense you described.

    2. 8

      Maybe one reason some programmers like to imagine their craft as similar to woodworking is that in woodworking the crafter is both an engineer and a designer, a technical artist. There is no subtly insulting discourse about the woodworker as an autistic dork who just can’t understand colors and “what normal people like.” (Everyone likes the color of wood. You don’t need pastels everywhere.) There is a serious understanding that a good product should be simple, sturdy, and in tune with the inherent properties of the material and the tools’ capabilities.

      Of course that is also because the craft of woodworking has been carried forward by amazing crafters and millenia of tradition and cultural selection for beauty and economy. The history of IT is not so glorious.

      As so often I think about Christopher Alexander’s suggestion that “programs should make people feel helped on the same level that they are helped by horses, and roses, and a crackling fire.” You can also imagine that a program (or a web site) should be as stable and convenient as a good wooden chair with skilled joinery.

      It’s also like that Steve Jobs quote about design: “Most people make the mistake of thinking design is what it looks like. People think it’s this veneer – that the designers are handed this box and told, ‘Make it look good!’ That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.” (Not to denigrate its contributions, but Apple is far from attaining good design in most of their products.)

      I think makers of web sites ought – morally, aesthetically, spiritually – to be seriously concerned with resource economy, speed, and accessibility. They should look over their HTML DOM like a woodworker inspects a mortise & tenon. If it could be 50% smaller, why isn’t it? Why isn’t it fully responsive and delightful at every zoom level? Why is there extraneous gunk when browsing in a text-only browser? These are crucial questions!

      Well, that’s my little manifesto this morning…

    3. 7

      I propose we call it the “dogma web”, setup 10 simple rules in a manifest and certify websites that comply to be “dogma 19 compliant”.

    4. 4

      All of cloudbootup.com runs with a single sinatra file that is 50 or so lines of code on a $5/month digital ocean VM. Updating things is a matter of writing some HTML and invoking rsync to sync up the new static assets.

      Only reason sinatra is involved is because I needed to handle form submissions and that was the simplest way I could think of. All the CSS is inlined and all images in the posts and articles are inlined with base64 encoding if they’re small enough. Surprisingly my threshold for what would be inlined or not was also about how big I was willing to make the posts and I settled for something that is between 100-500kb.

      I look forward to more spartan web developments.

      1. 7

        If you want to ditch Sinatra, I use CGI to handle webhooks so that I don’t need Ruby running 24/7. It’s a little arcane but NoOps is pretty sweet.

        https://www.mikeperham.com/2015/01/05/cgi-rubys-bare-metal/ https://www.mikeperham.com/2018/10/12/testing-rubys-cgi/

        1. 0


    5. 4

      If your website is readable in a text browser without Javascript then not only blind people will be thankful.

      Only a tiny minority of blind people use text-only browsers these days. The vast majority of blind people use a full-blown GUI browser along with a general-purpose GUI screen reader for their platform. So accessibility is no longer a valid reason to avoid JavaScript.

    6. 2

      https://highlightjs.org/ is pretty “spartan” with ~20 lines of JS and handwritten CSS, just look into view-source:. Of course, a big caveat is that it’s the site about a JavaScript library, so it won’t be as pretty with it disabled. But it works!

      1. 1

        syntax higlighting in javascript is one of those things that says “wtf” to me at all though, with rare exceptions. But it is static content, why not just render the semantic tags on the server - once - and have a stylesheet define the client look?

        1. 1

          I’m showcasing the library this way: the site is using it as it is intended to be used by others. If I were using node.js on the server, I’d probably do it there.