Heavily Customizable Software vs Opinionated Software

ยท ยท 334 words ยท 2 minute read

Software Developing ๐Ÿ”—

Writing and maintaining customizable software is harder and time-eating. Building too many features with configurations and settings is nightmare. Heavily customizable software tools are good for various people with slightly different needs. But look at that complexity and maintenance efforts.

Developing opinionated software is not easy too. But at least you don’t have too many opposite features with different implementations. You can research and test features and choose the best features to get the job done easily focusing on the user experience. The opinionated software difficulty is not in development, it’s the research phase of the software when drawing the user experience and user interface.

Testing & Bugs ๐Ÿ”—

Testing heavily customizable software is nightmare. You need to test all configurations/settings with mix and match of them. It is time-consuming and hard to automate. You know that fact if you use KDE Plasma as your Desktop Environment; as KDE Plasma is a home for bugs due to its extensive functionalities and features.

On the other hand, testing opinionated software is easier and can be done manual (and sometimes automatically). Having 10 features is controllable and testable. But having a 100 features is complex and ALMOST untestable.

Don’t get me wrong. It is better to let the software tool to do one job and do it well . (it is a UNIX philosophy idea).

Improvement ๐Ÿ”—

Improving heavily customizable software is nightmare. It is huge codebase with too many features which are not easily know or thought about.

It is easier to improve opinionated software as it is just focusing on the feature at hand then re-testing the application after that.

My Opinion ๐Ÿ”—

Obviously I don’t like bugs, so I prefer opinionated software over heavily customizable software.

The problem with opinionated software is that if you don’t like the software tool itself or don’t share their opinion about that software tool. This problem can be fixed by alternative opinionated software. So you can get the opinionated software that fit your task/opinion.