Requests for comment/Redesign user preferences

This is a requests for comment regarding redesigning user preferences.

Background
Special:Preferences is currently pretty ugly. It should be redesigned (cf. 62559).

We want to use a strategy of "minimum change, for maximum benefit"; Requests for comment/Core user preferences was used a reference, with additional suggestions coming from the Wikimedia community (users on Bugzilla, Wikimedia Foundation staff, users on-wiki, et al.).

High-level requirements
Aspects to retain, and aspects to improve.


 * 1) Not overwhelming to newcomers
 * 2) * highlight the basic/core/popular options
 * 3) Advanced options are still available for powerusers
 * 4) * Be able to grow, with the many requests for new options (onwiki/bugzilla/etc)
 * 5) * Integrate with the future GlobalPreferences (14950)
 * 6) Show defaults
 * 7) * The "Restore all defaults" button is ambiguous.
 * 8) * We want to know what the defaults are. (Notes)
 * 9) The [Save button] is always visible/nearby
 * 10) * Or, changing anything, results in an auto-save
 * 11) * Ideally, [Saving] shouldn't reload the page, as that makes the [Browser history][Back button] annoying.
 * 12) Linkable sections, for clear targets from documentation and discussions

Visual design
Use some, or all of these elements.
 * All on one long page, or retain the "subpages/subtabs"
 * Collapsible sections. (see below).
 * Or, Use a repeating "nav-bar" above each subsection, for visual indication + navigation. (like m:Grants:IEG does.) (mockup)
 * Vertical menu. (eg Cologne Blue, Miranda NG, foobar2000
 * For the Basic options, use a larger font.
 * Or, the Advanced options, are in a right-floating column, with Basic on the left.
 * Or, the Advanced options, are hidden until I click "Show advanced options".
 * Screenshots/wireframes/hints - People might try more of the [features/gadgets/etc] if they easily knew what resulted (repurcussions). Like BetaFeatures does.
 * UI style
 * Use default browser chrome
 * Or, Use Agora mediawiki-ui styling

Hierarchy
Approximately 30 wikis have been sampled and they are generally consistent. The only major anomalies are:


 * UploadWizard (Commons only)
 * Misc (WikiLove and EducationProgram at the English Wikipedia, contents vary per wiki)
 * Threaded Discussion [LiquidThreads] (primarily mediawiki.org and translatewiki.net, plus other non-Wikimedia Foundation sites) - Functionally replaced with Flow, sometime (See below).

Does anyone know of other unique sections, to take into account? Add above.

We'll need to examine the sub-settings and wiki-variations (projects/languages/non-wmf), before a more exact and definite proposal.

Current structure and proposals

 * Notes
 * comes from Extension:Echo. So we can't just merge all email stuff here. Placing it below the "email" in "User profile" is most logical, and gets newcomers integrated with and aware of the various communication vectors.
 * standard long-term request.
 * Some people want more whizbang [processor or bandwidth intensive] features. (e.g. animated mind-maps, or pre-loading slideshows of large images, etc). Other people want minimal settings for [default browser chrome instead of mw.ui buttons], [minimal animation or javascript], [cheap on mobile], etc. Skins should be modular, so that powerusers and edge-case users can select the bits they want. So that new gadgets and styles can thrive, without killing off old ones.
 * Place this section below the main places (Watchlist and RC) that use these auto-adjusting timestamps. Plus History and UserContribs. (Though Flow might eventually?)

Mock
Please note: this is a very rough mock-up related to 63583. Each section will be collapsed using JavaScript. The top section ("User profile") will be auto-expanded by default. Icons and exact text still need to be decided in the future.

Bugs, and other items to add or consider, in each section
62559 is the tracking bug. It has a number of easy subtasks (tree).

Please comment on the relevant bug entries or below.


 * [Meta]
 * 63583: Change MediaWiki core user preferences layout


 * User profile
 * 63577: Move "Email options" user preferences from "User profile" tab to separate "Notifications" tab in MediaWiki core
 * 63581: Move "Time offset" user preference in MediaWiki core to "User profile" tab


 * Appearance
 * Skin
 * GlobalCssJs bugs


 * Date and time
 * CLDR bugs
 * User prefs
 * 63582: Move "Date format" user preference in MediaWiki core to "Appearance" tab
 * 63581: Move "Time offset" user preference in MediaWiki core to "User profile" tab
 * 63580: Change "Date format" part of "Date and time" user preferences into a drop-down menu


 * Editing
 * 63576: Move "Pending changes" ("Edit review" from FlaggedRevs) user preferences into the "Editing" user preferences tab


 * Recent changes
 * Recent changes bugs
 * CleanChanges bugs
 * 51941: Merge "Recent changes" and "Watchlist" preferences tabs


 * Watchlist
 * Watchlist bugs
 * 51941: Merge "Recent changes" and "Watchlist" preferences tabs


 * Search
 * Search bugs
 * CirrusSearch bugs
 * [figure out a way to make this section less ugly...]
 * Gadgets
 * Gadgets bugs
 * 60142: Output links to the JS and CSS pages of each gadget listed at MediaWiki:Gadgets-definition


 * Beta features
 * BetaFeatures bugs


 * Notifications
 * Echo bugs
 * 63578: Move Echo's user preferences to "Notifications" core user preferences tab


 * Edit review (Pending changes)
 * FlaggedRevs bugs
 * 63576: Move "Pending changes" ("Edit review" from FlaggedRevs) user preferences into the "Editing" user preferences tab


 * Liquid Threads
 * LiquidThread bugs
 * 45088: Create a script to extract all data from LiquidThreads and import into Flow


 * Upload Wizard
 * UploadWizard bugs


 * Misc
 * WikiLove bugs
 * 52757: Move WikiLove user preference to "Appearance" tab
 * EducationProgram bugs
 * 52758: Move or remove EducationProgram "my courses" user preference
 * 52759: Remove EducationProgram "did you know" user preference

List of related pages
Examples, docs, quicklinks.
 * m:Special:Preferences - m:Help:Preferences
 * mw:Special:Preferences
 * commons:Special:Preferences
 * en:Special:Preferences - en:Help:Preferences
 * de:Spezial:Einstellungen - de:Hilfe:Einstellungen

Scratchnotes

 * Compare other sites and software, for ideas. Eg.
 * Reddit/+RES,
 * Photoshop,
 * Chrome/IE/FF (eg. FF's [About:Config] page and "Advanced" prefs-tab),

Discussion

 * Analytics team is currently working on parsing data collected from user preference changes, I don't have an end date but I assume withing the month findings will be available. Jaredzimmerman (WMF) (talk) 08:30, 6 April 2014 (UTC)
 * Good point! Thanks for the reminder. (Ongoing work location). And this is definitely a slow-and-steady type project, so no rush. –Quiddity (talk) 03:31, 7 April 2014 (UTC)