Less is more, and worse is better

What did you say?

Less is more, and worse is better, both of these are software philosophy, and they end up in being more or less the same thing, having your software having less functionality, and a less busy interface is going to better for the user in the end. As you get more and more used to computers and computing it's something many people comes to realize. You may have heard about the Unix philosophy as well which is closely related, saying “Do one thing and do it well” I'm not sure what made me resonate so much with these philosophies but as I'm thinking of it many of the points will be the same that I've been talking about the last days, composability, simplicity and ease of use.

Examples of less is more software.

A prime example of this philosophy is bspwm a window manager that does nothing else than managing windows, it doesn't handle hotkeys, it doesn't display a bar and it doesn't have a configuration syntax, but what it does, manage windows it's very good at. The thing is for the missing parts you're free to do what you want, use the program that you like the most.

dwm and st from suckless are other great examples, they don't have configuration files, and have their configuration built in, but that means that when you have them configured, you'll spend less time fooling around with them, and more time being productive.

Most more minimal software has ways of extending them, vim is a great rather minimal text editor that does editing text well, but you can extend it to do what you please.

Doing less means you don't pay for what you don't use.

For most powerful and full featured software projects I usually find I only use a small part of its functionality. But you still have to pay for the stuff you don't use, in memory, program size and just mental load, sure you get used to where the buttons are that you push every day, but all that clutter that is there that you never use still are there itching in your subconcious, I find the approach of a smaller core with addon/plugin functionality to be better, both as a more seasoned user, and while learning, when learning a program like vim you start out focusing on the core functionality, and once you know that well you can start to add on things that makes your life easier, having a good knowledge of the core functionality of a program is something that is going to serve everyone well in the long run.

Peace of mind.

I'm not sure how most other people are going about things, but at least for me I like knowing the software I use, and I want to have tried out most of the functionality that it has. And having to learn what everything is, or having my curiosity fire off about that one thing that I've never tried out in the middle of working on something can be really distracting. What's not there can't really distract you. Also the feeling of mastering something is very nice, and being able to keep all the capabilities of some software in your mind makes it a lot easier to figure out how to do something in my experience.

Doing that one thing well.

I prefer a program to do the one thing that it does as well as it can, a jack of all trades thing is kind of iffy when it comes to software, when I can string together many programs that does their own task well instead of something that half-asses much functionality, the first one will win out every time.