Something incredibly common in every discussion about changing a default behavior in WordPress is someone suggesting “Just make it an option”. WordPress has a core philosophy “Decisions, not Options“. This philosophy is one that is important for all software and is explained and enumerated over and over. Here are some of the places that exemplify it best:
Dave Winer tweeted a photo of a weird, verbose, and confusing Android options screen. I love Android, but like most open source projects, it falls victim to the proliferation of options, rather than making decisions for its users.
When explaining this to developers at conferences, I generally mention the preference panels in Adium, a Mac OS X chat client. It practically has an Advanced tab for the Advanced tab. Stuff everywhere. Problem is, when there are too many options, your users can’t find any of them.
In Open Source, Learn to Decide – Andrew Nacin
The best UX will often be no UI at all: if the customer gets your product and their problem goes away instantly with no further steps, that’s amazing. Failing that, less UI beats more UI; and for many customers and problems, a traditional GUI won’t be right. Alternatives: command line, voice recognition, gestures, remote control, documentation, custom hardware, training, …
The Dangerous “UI Team” – Havoc Pennington
Preferences really substantively damage QA and testing. As someone who reads dozens of bug reports per day, and occasionally fixes a couple, I can tell you that it’s extremely common to find a bug that only happens if some certain combination of options are enabled. As a software developer, I can tell you that preferences frequently do add quite a bit of code complexity as well; some more than others, but even simple preferences can add a lot of complexity if there are 200 of them.
Upshot: more preferences means fewer real features, and more bugs.
Free Software UI – Havoc Pennington
note: I’ve referred to Havoc Pennington as the most influential person in the History of WordPress who has never been directly involved in the project and it’s essays like this that demonstrate it.
One of the most important speeches at any WordCamp about UI, UX and development in general.
My thoughts are summed up in a tweet I made earlier today.
Adding an option is rarely the right choice when developing software. This statement becomes more true as you scale.
— Aaron Jorbin (@aaronjorbin) February 22, 2016