Meta(
    title: "Re: Why it’s bad that the web is so feature-rich",
    summary: Some("Complexity vs Choice"),
    published: Some(Time(
        year: 2023,
        month: 3,
        day: 11,
        hour: 5,
        minute: 32,
        second: 38,
    )),
    tags: [
        "complexity",
        "software",
        "standards",
    ],
)
---
This is an Re: Re: type post.
=> gemini://tilde.pink/~zootoot/gemlog/2023-03-08-lauching-my-capsule.gmi Zootoot's original post
=> gemini://idiomdrottning.org/bad-web Idiomrottning's reply

Welcome to Gemini, Zootoot!

> While Gemini is part of the solution to mashupability, it’s part of the problem of complexity since the existence of Gemini means that there are more specs, not less specs. More apps and libraries, not fewer. More ways to publish text, not fewer.

This is an interesting take. I think of this as choice, not complexity. I guess that having more choices makes the act of choosing more complex. It also leads to the often criticized fragmentation in Free Software. That said, I'm not sure that I see a strong comparison between what I see as software complexity and the idea of software choices.

When I think about software complexity and the issues that it causes I'm thinking about an individual piece of software that is exponentially more complex than it needs to be in order to do it's job. As an example, and this is not something that most people tend to look too closely at, the `sudo` program is made up of 108,255 lines of C code (excluding headers) spread across 358 files. To me, this is simply unacceptable in a utility that is installed suid root by default. I would submit that unless you have very complex, one in a million sysadmin needs, you will never use more than about 5% of it's feature set. The other 95% of the code is just sitting there with no eyes on it and no users providing feedback, just waiting for someone to find the next exploit. We could easily have a suitable replacement that would cover just about everyone's needs in no more than a few hundred lines of code, which would be correspondingly easier to maintain and auditable. And that's just one small command line utility.

This sort of thing tends to infect all aspects of our lives, actually. We have touchscreens on washing machines and refrigerators now. Modern cars are simply ridiculous, and nobody is even trying to reverse the trend there. A good friend of mine who was a real car guy used to have a late 60's Dodge van. The mechanism for spraying windshield washer fluid onto the windshield consisted of some surgical tubing and a rubber bulb sitting under the carpet next to the brake pedal. When you stepped on the bulb, it squeezed the fluid out on your windshield. It worked flawlessly, was easily understood, and could be repaired for a couple bucks with off the shelf stuff that you might find at any hardware store. There was never any reason why this part of an automobile needed to become any more complex than this, and yet this is not the way the system works on any modern car.

Note that while as a guy I inevitably fell back to a car metaphor, I could just as easily apply this to government, which is another "neccessary evil" which will always grow into an eldrich horror if left unchecked.

For myself, I think that one of the most important things that Gemini got correct, right at the beginning, is that it's scope was clearly defined and in fact limited by the protocol and specification itself. This was of course intentional, but it's something that deserves to be spoken about. It's a goal that anyone designing inherently complex systems should take to heart. You should always ask yourself, what is the actual scope of this thing? How will we limit it's use to prevent abuse? How will we design and built it in a sustainable manner? That last part actually has several interpretations, and it's worth pointing out that I mean both sustainable from a resource usage standpoint but also from the standpoint of building something that can be repaired, brought up to date, and carefully tended rather than being discarded when feature creap causes it to grind to a halt under it's own weight of technical dept.

> Solution to profit-seekers
>
> Storm the palace.

This made me laugh, but I think our society may yet resort to this. It's happened before. In the meantime, try to make it a nicer place where you can and definitely be kind to each other.