Good Tools Are Invisible

28 points by telemachus


andrewrk

I don’t want my tools to be “fun”. I want my tools to be invisible.

Interesting, this has always been my exact reaction when I read the landing page text of Odin:

Joy of Programming

We go into programming because we love to solve problems. Why shouldn't our tools bring us joy whilst doing it? Enjoy programming again, with Odin!

I made this same point on the zig issue tracker in 2021:

Making writing code from scratch "fun" was never a goal of the Zig language. Personally, I think it's fun to make great software, but what's fun has to do with the application and end user experience, rather than minutiae about the language. A carpenter might have fun building something out of wood using a hammer and nails, but they don't use a "fun hammer". They just want an effective hammer, and the fun part is the part where you build something.

Cool to see him coming around to my point of view. I wonder if he's about to change the landing page.

kevinc

I think this article states as fact an opinion about what makes a good tool. I don't personally favor total keyboard control or configuring every last detail, but why not let people enjoy things?

As a tool user, something I really appreciate from a toolmaker is that readme section with reasons to prefer their tool and reasons to prefer alternatives.

Something I did really like is the presentation of footnotes—Inserted right after the text wrap, no JS needed.

smilinmonki666

Very good point made. Any new tool I pick up is expected to have a steep learning curve. But after an amount of time I expect it to be "invisible" as the author puts it.

The only counter point I would make, is for the ability to customise it to me. Whether that's themes, shortcuts, plugins or workflows - I need the tool I'm using to work well for me. So, I'd say that the learning curve and "fun" or "puzzle" part is more on the learning side for me. This can be true of my operating system, editer, browser or whatever.

After many years of learning my tools, I've become proficient with them. My skills upgraded from Windows to MacOS, and even more when I moved to Linux. I am better at my job for it.

hcs

Coming at this as a software developer with an interest in puzzle design: "Puzzle" is a huge design space. You can engage with puzzles for many reasons, and a puzzle can be hard for many reasons. But (IMHO) the best puzzles, which can still be quite hard, involve working out how to do something that might not have seemed possible. The "fun" of these "puzzles" is learning (as Raph Koster would have it).

If you have to do this all the time with your tools it's exhausting, but a complex tool isn't always going to be invisible even at high skill levels. When you have to stop and figure things out, it's nicer for it to be fun than not! And to the extent that some of us find this stuff fun, that's what keeps us going.

(I concede the point though that sometimes it would be best to just know about a more appropriate tool that already exists.)