Just make it a user preference

From MediaWiki.org
Jump to navigation Jump to search

Difficulties[edit]

We often request, "Just make it a user preference", and similar. This list-essay aims to summarize some of the complexity with that path.

Every additional user-preference:

  1. Adds to the complexity of the [core/extension] code,
    1. it increases the likelihood of bugs (either now or in the future)
    2. it increases the long-term code-maintenance task
    3. it 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 (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

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

Benefits[edit]

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[edit]

Some mumblings about why user-preferences are important.
<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 devs on IRC, discussing improvements to the MediaWiki installation workflow

I want to see our Special:Preferences menu become better organized, so that it can grow, with all the tweaks and powertools that some editors need permanently available - The things the various overlapping communities have built over the last 14 years, and continue to create and refine - So that newcomers can find what they're looking for without being overwhelmed, and so that new powerusers 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:

  • Technical vocabulary (concepts, keywords, and groupings),
  • what configurations the developers thought were useful enough to include, but not crucial enough to set as default,
  • what options the specialized-powerusers might need, that I might want to investigate or use once I become proficient.

--

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 convoluted 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 powerusers, 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 slowly learning about bits of the most complex pieces.

Footnotes[edit]

  1. However it really needs some built-in documentation. Id I previously used an extension which added documentation to the page, but it wasn't maintained.
  2. https://www.youtube.com/embed/BVbQF0Ubz48?start=66&end=85&version=3&modestbranding=1 - "So let's start with the options [...]" - Bayonetta review