Just make it a user preference
This is an essay. It expresses the opinions and ideas of some MediaWiki.org users, but may not have wide support. Feel free to update this page as needed, or use the discussion page to propose major changes.
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:
- Adds to the complexity of the [core/extension] code,
- it increases the likelihood of bugs (either now or in the future)
- it increases the long-term code-maintenance task
- it increases the quantity of variations that ought to be tested, in both automated and manual code checks - each variation adds exponential new combinations
- Adds to the complexity of the Special:Preferences tabs for users (hence making everything a bit more difficult (or less likely) to be found)
- Adds to the UI translation backlog
- Adds to the already overwhelming documentation
- Adds new rows to the user-properties database table, which is already too large (phab:T54777)
- Adds to the quantity of things that need to be considered, when contemplating any additional new features in the same feature-set
- Makes it harder to diagnose bugs
- 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.
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.
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 ConfigurationEdit
- Some mumblings about why user-preferences are important.
—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, 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.
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.
- However it really needs some built-in documentation. I previously used an extension which added documentation to the page, but it stopped being maintained.
- https://www.youtube.com/embed/BVbQF0Ubz48?start=66&end=85&version=3&modestbranding=1 - "So let's start with the options [...]" - Bayonetta review