Requests for comment/Redesign user preferences

This is a requests for comment regarding redesigning Special:Preferences.

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

We want to use a strategy of "minimum change, for maximum benefit"; Requests for comment/Core user preferences was used as reference, with additional suggestions coming from the Wikimedia community (users on Phabricator, 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/phabricator/etc)
 * 5) * Integrate with the future GlobalPreferences (T16950)
 * 6) Show defaults
 * 7) * The "Restore all defaults" button is ambiguous.
 * 8) * We want to know what the defaults are. (T70689, Notes)
 * 9) The [Save button] is always visible/nearby
 * 10) * Or, changing anything, results in an auto-save (T58561)
 * 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

Layout
There's the overall layout of the whole set, which has 4 options:
 * 1) All on one long page,
 * 2) Collapsible sections. (see  below).
 * 3) Use a repeating "nav-bar" above each subsection, for visual indication + navigation. (like m:Grants:IEG does.)
 * 4) Retain the "subpages/subtabs"
 * 5) Horizontal tabs (current layout in Vector/Monobook)
 * 6) Vertical tabs. (eg Cologne Blue, Miranda NG, foobar2000)

and the layout within each section. Ideas/scratchpad:
 * Split the preferences into "Basic vs Advanced"
 * Basic options use a larger font.
 * Advanced options are in a right-floating column, with Basic in the left-floating column.
 * Advanced options are hidden until I click "Show advanced options".

''Add ideas above. Discuss at talk - Layout.''

Visual design

 * Screenshots/wireframes/hints - See talk - Gadgets.
 * 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 T65583. 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
T64559 is the tracking bug. It has a number of easy subtasks (tree).

Please comment on the relevant bug entries or below.


 * [Meta]
 * User preferences open tasks
 * T65583 - Change MediaWiki core user preferences layout
 * T60223 - Improvements to the layout and contents of Special:Preferences (tracking)
 * T54807 - User preferences in MediaWiki to be removed (tracking)
 * T42346 - Way to bring back user preferences that were removed from core (tracking)
 * T52039 - Proposed changes to default settings (DefaultSettings.php) (tracking)
 * T57966 - Add a "You've not saved your changes" dialogue
 * T19496 - JS: Automatically hide "Your preferences have been saved." message when changing preferences
 * T33882 - Ensure consistency of how special pages [et al.] switches can be saved (tracking)
 * T20524 - Preferences: unify filter options of recent changes, new pages, watchlist, recent changes linked
 * T58561 - Changes to user preferences should be automatically saved


 * User profile
 * T65577 - Move "Email options" user preferences from "User profile" tab to separate "Notifications" tab in MediaWiki core
 * T65581 - Move "Time offset" user preference in MediaWiki core to "User profile" tab
 * T65987 - Change "Basic information" section of Special:Preferences into "Account management"


 * Appearance
 * Skin
 * T57905 - user preference to override collapsing of sidebar items in Vector skin


 * Date and time
 * CLDR bugs
 * User prefs
 * T65582 - Move "Date format" user preference in MediaWiki core to "Appearance" tab
 * T65581 - Move "Time offset" user preference in MediaWiki core to "User profile" tab
 * T65580 - Change "Date format" part of "Date and time" user preferences into a drop-down menu
 * T32857 - Show more user-friendly timestamps (relative like "7 hours ago" instead of absolute)


 * Editing
 * T65576 - Move "Pending changes" ("Edit review" from FlaggedRevs) user preferences into the "Editing" user preferences tab
 * T32795 - "Show edit toolbar" preference is confusing


 * Recent changes
 * Recent changes bugs
 * T53941 - Merge "Recent changes" and "Watchlist" preferences tabs
 * T24213 - Add user preference to remember "Hide my own changes" on Special:RecentChanges
 * CleanChanges bugs
 * T37004 - Reduce options clutter on Special:RecentChanges and Special:Watchlist
 * T29050 - Add missing preferences for hide/show like for minor edits and patrolled edits


 * Watchlist
 * Watchlist bugs
 * T53941 - Merge "Recent changes" and "Watchlist" preferences tabs
 * T44743 - Watchlist preferences should link to the watchlist e-mail notification option
 * T33881 - Save special page preferences from the special page itself
 * T50615 - Options form at the top of Special:Watchlist needs cleanup
 * T29050 - Add missing preferences for hide/show like for minor edits and patrolled edits
 * T68215 - Add option to not add pages I revert to my watchlist
 * Related:
 * Requests for comment/Support for user-specific page lists in core
 * Watchlist wishlist


 * Search
 * Search bugs
 * T40395 - It should be possible to choose the default search (tab/profile) on Special:Search
 * T24774 - Should be possible to customize the search profiles
 * T18830 - (WONTFIX) Search option "open in new window"
 * T63061 - CirrusSearch: Add advanced search option to only search local files
 * [figure out a way to make this section less ugly...]
 * T54817 - Handle "Search" --> "Advanced options" section of Special:Preferences on Special:Search itself


 * Gadgets
 * Gadgets bugs
 * T62142 - Output links to the JS and CSS pages of each gadget listed at MediaWiki:Gadgets-definition
 * T66975 - Show and hide gadgets depending on skin compatibility


 * Beta features


 * Notifications
 * Echo bugs
 * T65578 - Move Echo's user preferences to "Notifications" core user preferences tab


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


 * LiquidThreads
 * LiquidThread bugs
 * T47088 - Create a script to extract all data from LiquidThreads and import into Flow


 * Upload Wizard
 * commons:Special:Preferences
 * UploadWizard bugs
 * T64587 - State benefit(s) of chunked uploading in preference
 * T42026 - Add user preferences for some fields
 * T44647 - UploadWizard extension should allow a custom default license for new uploads in "UploadWizard" tab of Special:Preferences


 * Misc
 * WikiLove bugs
 * T54757 - Move WikiLove user preference to "Appearance" tab
 * EducationProgram bugs
 * T54758 - Move or remove EducationProgram "my courses" user preference
 * T54759 - Remove EducationProgram "did you know" user preference
 * T47359 - add preference for default filters on course page lists
 * MoodBar bugs
 * T67018 - Move MoodBar user preference to "Appearance" tab

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),
 * Re-read m:Research:User preferences

Discussion

 * See also Talk:Requests for comment/Redesign user preferences.


 * 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)