Invest in Interfaces

Some of you have likely heard of the Happy Hacking Keyboard (HHKB). It’s an expensive keyboard built for programmers, that has developed a small cult following of sorts over the years for some of its opinionated design choices (e.g., Topre switches).

Eiiti Wada, the CS professor who collaborated on the design of the keyboard, is well known for this quote on the design philosophy.

Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. When America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces.

I like the analogy.

As I was thinking about it more, I think the argument still holds, even when you broaden the definition of “interface”.

Is a well-built, ergonomic office chair an interface? For an office-worker, it is kind of like the saddle that interfaces you with work. What about peripherals in general? Mice, headphones, displays?

Is a comfortable, supportive mattress and pillow and interface? It’s kind of like your interface for sleep.

What about shoes? Interfaces for you and Earth (though, I don’t consider our planet to be a consumable good).

What about tools in general? No matter the occupation, good tooling is often what improves quality of life and interfaces an individual with what they do (e.g., a good bandsaw, a quality cooking range, sharp carpentry chisels, a beautiful instrument).

What if we take this a step further and go fully abstract: the world of software?

Indeed, I think this applies here, too!

For example, Octomind’s great post about why they no longer use LangChain for building AI agents—the interface is suboptimal.

Even beyond APIs, a software engineer’s abstract tools matter, too. For example, your code editor. Your web browser. Your version control system. Your fonts.

Final Thoughts

Obviously, there is a fine line here between investing in quality, functional, and long-lasting “interfaces” versus splurging on luxury goods. Furthermore, that line is probably different for every individual. The line should change on budget, how much time to spend with that interface, how critical it is, etc.

But, overall, this quote was a nice reminder that we spend large portions of our lives interacting with interfaces. Some of the easiest, most cost-effective quality-of-life wins might come from just reflecting on the interfaces you are currently using heavily, and asking if they can be improved. Hello world Hello world

Posts from blogs I follow

What happened to my /edu page, and why it came back

I got some reader feedback the other day which amounted to "what happened to your /edu stuff" and "wasn't there a lot more in there?" These are legitimate questions, and I figured it's worth explaining what that was and then what happened to it. Way …

via Writing - rachelbythebay June 30, 2024

Playing like a kid again

For the last 13 years, I’ve done the same thing almost every Monday night. At 9pm, I head out to a small sports club on the outskirts of Munich to play 5-a-side soccer. Many players have left, and new people have joined, but there’s a core group of us who’…

via Patrick Dubroy's blog June 30, 2024

A Bunch of Programming Advice I'd Give To Myself 15 Years Ago

I finally have the feeling that I’m a decent programmer, so I thought it would be fun to write some advice with the idea of “what would have gotten me to this point faster?” I’m not claiming this is great advice for everyone, just that it would have been g…

via Posts on A blog June 29, 2024

Generated by openring-rs from my blogroll.