Software is a tool. If you are a worker, you buy tools and use them to accomplish tasks. It is the job of the toolmaker to make the tools. Often times tool users have to become toolmakers because the tools are deficient in some way. That’s just reality, but the fact is that the tool is still deficient. A well made tool should accomplish its task beautifully and perfectly without any need for the user to become a toolmaker.
For some categories of tool there are no good tools. All the users are toolmakers, and must be. All I’m saying is that rather than accept that as the way things are, we should admit the tools are flawed and demand better. Don’t let the shitty software developers off the hook for making the user do their job for them.
Software needs to be able to be customized by the user, but it should rarely if ever have to be. All the switches and knobs to control everything should be there, but every time a user has to press them represents a design failure of the engineers who made that software.
A separate but related issue is that when all those knobs are there (as they should be) overeager users frequently press them unnecessarily. Software often provides a very efficient way to accomplish a task, but users don’t know it, or simply prefer a different way for no good reason. People hate to learn, so rather than learn the existing default way of accomplishing a task, they will do extra work to build a tool or make a complicated configuration change to accomplish it.
A very basic example that is relevant to the episode. The keyboard shortcut to go to the next tab in a web browser is ctrl+tab. The keyboard shortcut to go to the next tab in vim is to press ‘g’ then press ‘t’. Do I make some customization to vim so that ctrl+tab works? Do I install some janky vim mode extension in my web browser? No. The human brain is capable of context switching. My hands always do the correct shortcut in the correct application without any conscious effort.
The benefit of this is that I save time not having to figure out how to make these customizations. I save time not having to deal with that weird situation when the custom shortcuts conflict and cause some issue. I save time whenever I use an unfamiliar computer because all “my” shortcuts are already in place, and I can get to work at 100% efficiency immediately.
Back in the day I ran Gentoo Linux and spent all day customizing my computer with shit like fvwm and such. I ended up spending all my time customizing and no time actually getting shit done. My home computer was way different than other computers, and I felt very clumsy and uncomfortable using any machine other than my own personal one. I gave up on that nonsense long ago, and now life is great. Defaults are king.