Minimal Software and Why They Are Good

Posted in minimalist -

Hi, today I want to talk about a topic that is quite commonly discussed everywhere nowadays: minimalism. Well, not the minimalist lifestyle in general, but about minimalism in software.

What is software minimalism?

According to Wikipedia, minimalism in computing refers to “application of minimalist philosophies and principles in design and use of hardware and software.”

The result of applying minimalism in software design is applications that are lightweight, fast and reliable.

Wait, reliable?

Yes. If you think about it, the more sophisticated and heavy an application gets, the more frequently issues happen. These issues may come from three sources:

  1. Larger application with more functionalities give the developers harder jobs in foreseeing all of its potential failures.
  2. Heavier application is easier to be clunky, especially on old hardware.
  3. Users get easier to make mistakes as the design gets more complicated.

For example, if I asked you to give me a piece of software that computes 1 plus 1, it would be a very reliable application, with almost no chances of failures, and you will never have to release any upgrades or patches for it. Now think of how frequently Apple, Google or Microsoft have to release updates/patches for their software.

That’s not to say that you should forgo every piece of software you are using and use that 1 + 1 app we’ve just mentioned. That application will be reliable, but it is useless. We, the software users, also care about functionalities, and that’s where things get tricky: what is the balance we need to make sure that the software is lightweight, but still have enough functionalities for users? That question cannot be answered easily, because there are more than one user (in fact, there are billions of them in the world), and each of them might have an unique set of needs. Software producers, as an attempt to satisfy all of their customers, normally end up adding more and more functionalities to their software, which means clunkier and more bloated software. But guess what, even when the software is so greatly bloated, there’s no guarantee that you, as a single user, will be satisfied: there are always functionalities that you don’t need, and there will be updates where your favorite functionalities are removed for no reason. I bet you can relate this scenario to yourself.

So what is the solution?

The answer might sound a bit obvious: build up your own solution for your own problem. Of course, it does not mean to write up from scratch every little piece of software you need, but there are tons of modular minimal software out there and you can freely combine them as your liking. Since nobody understands your preferences better than yourself, you will end up having a supertool, which is highly customized just for you. At the same time, you will no longer be dependent on those clunky giant software that eats your time and make your old hardware obsolete.

If you can find a software that does exactly what you need and no more, then it’s likely to be perfect for you.

Does it sound too good to be true? Absolutely not, but there are prices to pay: not with money (in fact, most of the so-called modular software are open-source and free), but since those supertools are not something you can go out and buy for yourself, you will have to put on some efforts, and it won’t likely to happen overnight, either. However, in my opinion, the fact that you have to work (hard) is the best part: you will learn a lot along the way, and gained a great satisfaction being finally independent in choosing what you want and what you don’t. And don’t worry, you’ll get there, with just a little of patience. More on that in my next post.

Written by Huy Mai