What is the Point of Customization?
2025/Jan 16
A common complaint I see others make about software, particularly for applications and systems that have existed for a long time, is lacking customization or configuration options. The act of removing options from software is believed by some to be anti-user, or an act of dumbing down an app to appeal to those who are “less sophisticated”.
Commentators will deride how modern developers have “lost the ability” to make apps themeable, compared to the “good old days” when every last aspect of an application could be customized. Early versions of Windows let users customize the color and size of every single application widget, from labels, to buttons, to window titles. These options have been replaced by being able to choose whether to use a light or dark theme, as well as sometimes being able to choose an accent colour for certain elements in the system’s user interface. Other software has followed a similar trajectory of simplification, but it’s usually the bigger names which draw the ire.
The argument goes that an application’s defaults might not be suitable for everyone using that application. If text contrast is too low, being able to configure the colour of labels empowers users to take matters into their own hands and improve the software for themselves. Likewise, if certain features work in ways that are weird and unintuitive, configurability allows users to tweak the functionality of a program so that it works better for them.
In the usability community, these preferences are what’s known as an “unbreak my app please” button. In an effort to keep everyone happy, developers tend toward behaviours that impose more work onto end users. Instead of shipping working software, we ship software that optionally works. This has become so deeply normalized that users with problems will request that developers add preferences which allow them to opt into solving their problems… instead of simply asking for the developer to solve their own app’s problems.
When users ask for the ability to change an app’s theme, they’re trying to communicate a desire in the only way they know how:
Please, give me the option to make this better for me, so that my preference isn’t imposed on others.
The trouble with user requests is that they very often mask the actual underlying concern out of a sense of diplomacy. Few people want to offend those who are providing them with things they value, especially those who develop free software. The problem with this behaviour is precisely that requests are often misleading. In this example, if a user asks for themeing options to theme your app, it’s usually because the current look and feel isn’t working for them. As designers, we need to be brave enough to ask: can I make this app work for more people? So the solution should be to modify the default look and feel in order to achieve more accessibility—that’s why most computer and phone systems ship with high contrast options.
As for user sophistication, even if there were such a thing as a sophisticated user, that user wouldn’t be at 100% cognitive ability 100% of the time. We all get tired, we all get moody, and we all sometimes need to be able to do things without external factors overcomplicating things. The idea that it’s possible for a user to be totally sophisticated, and the idea that that is somehow something designers should design for, is a foolish one. The only thing you accomplish by forcing the user to jump through hoops is a barrier to entry, an idea which is fundamentally incompatible with good user experience.
Like the abuse victim who finds themselves experiencing worsening post-traumatic symptoms after escaping an abusive situation, users thrown into the world of software that is made to work properly predictably lash out at not being able to tweak every bell and whistle on offer. I think that clinging onto preferences is a sign of someone who has become simply too accustomed to shit work that they find themselves disoriented in its absence. The truth is, if users can adapt to broken software, they can also adapt to working software.