Just make it a user preference/ja

This page is a translated version of the page Just make it a user preference and the translation is 3% complete.
Other languages:

We editors often request "Just make it a user preference", and similar. This list/essay aims to summarize some of the complexity with that idea, giving the difficulties and benefits.

Difficulties

Every additional user-preference:

  1. Adds to the complexity of the [core/extension] code,
    1. Increases the likelihood of bugs (either now or in the future)
    2. Increases the long-term code-maintenance task
    3. Increases the quantity of variations that ought to be tested, in both automated and manual code checks - each variation adds exponential new combinations
  2. Adds to the complexity of the Special:Preferences tabs for users (hence making everything a bit more difficult (or less likely) to be found)
  3. Adds to the UI translation backlog
  4. Adds to the already overwhelming documentation
  5. Adds new rows to the user-properties database table, which is already too large (phab:T54777)
  6. Adds to the quantity of things that need to be considered, when contemplating any additional new features in the same feature-set
  7. Makes it harder to diagnose bugs
  8. Must avoid cache fragmentation

Hence, developers/designers/managers/etc are very hesitant to just make a new user preference every time [frequently!] that somebody asks for one.

Benefits

That said, I (and many of us) adore preferences, and I consider Firefox's "about:config" page to be generally DoingItRight™ as far as power-users are concerned.

[1]

I've written a bit more about this in a section at Talk:RfC/Redesign user preferences, which I'll copy below:

An Ode to Options, A Paean to Preferences, A Serenade to Settings, A Cry for Configuration

<Alice> Make the first question: "Do you want to use the default settings or customize?"
<Bob> every nerd worth his or her salt answers "customize"

Two staff developers on IRC, discussing improvements to the MediaWiki-software installation process and documentation

I want to see our Special:Preferences menu become better organized, so that it can grow, with all the tweaks and power-tools that some editors need permanently available – I.e. The things the various overlapping communities have built over the last 20+ years, and continue to create and refine – So that newcomers can find what they're looking for without being overwhelmed, and so that new power-users can find the brilliant tools they didn't know they wanted.

--

When I sign up for a new website, I immediately go to the settings menu to see: What things I can turn on, and what I might want to turn off (either now, or in the future). When I install a new program, operating system, or game,[2] I immediately look through the Toolbar and the Preferences/Options menu. They tell me a lot about the software, e.g.:

  • Technical vocabulary (concepts, keywords, and groupings),
  • which settings the developers thought were "useful enough to include, but not crucial enough to set as default",
  • which options the specialized-power-users might need, that I might want to investigate or use once I become proficient with the basics.

--

One way to make complex systems easy to use is to remove the functionality. But that isn't really solving the problem, is it?

— @MrAlanCooper[1]

This wiki endeavour, requires tools that are as complicated as Photoshop or Autocad, for many editors but not all. Newcomers often need something simple, as do casual-editors.

We need something like Photoshop for power-users, as well as something like MS Paint for the newcomers and casual editors.

  • (MS Paint is great! It's Welcoming, and easy to learn via experimenting, and easy to create simple (sometimes even complex) projects in!)
  • (Photoshop is great! A dense abundance of menus, and a profusion of tiny and detailed-metadata, for those who need it! For those who spend many hours every day, for many years, working hard within it.)

We want and need both ends of the spectrum, and a migration path for users to slowly learn about bits of the complexity without being overwhelmed.

脚注

  1. However it really needs some built-in documentation. I previously used an extension which added helpful annotations about each option to the page, but it stopped being maintained.
  2. - "So let's start with the options" - Bayonetta review (Youtube)

Further reading