< Design < Archive

OOUI has been the assigned standard library for Wikimedia Foundation for several years. User experience/user-interface standardization has informed the evolution of the library together with efforts to make the interface more welcoming, simpler-to-use for new or non-technically-advanced users while retaining all the benefits for long-term contributors. A lot of the information given on this page are outdated link collections which is counter-productive for understanding the value and importance of standard user-interface for people in the Movement. The Wikimedia Design Style Guide and Foundation project User-Interface Standardization and the Frontend standards group are the places to look for guidelines and help instead.


We have a number of divergent UI libraries in use in MediaWiki core and extensions. This project, led by the Design team at the Wikimedia Foundation, is attempting to slowly but surely converge on a single, consistent look-and-feel for MediaWiki user interfaces.

Specifications

Existing libraries / conventions

  • mw-ui- styles in the mediawiki.ui core module
    • used by Special:Login, Special:CreateAccount, Special:PasswordChange, and Special:Search in core
    • used by extensions Echo, Flow, GettingStarted, GuidedTour, OAuth, UploadWizard (campaigns only)
  • jQuery.ui used by AFT, PageTriage, TimedMediaHandler, UploadWizard, WikiBase, WikiLove, more...
  • backbone.js/Underscore.js (PageTriage) - JS MVC framework with template support
  • Mobile ui (MobileFrontend)
  • OOUI widget framework used by VisualEditor
  • Vector
  • Design audit has screenshots

What we are converging on

  • OOUI for rich JavaScript and widgets

To Do

  • Convert Mediawiki.ui to LESS
  • Implement Agora CSS in mediawiki.ui (bug 54360)
  • Update inputs and textareas in mediawiki.ui to look like Flow's .mw-ui-input
  • Make mediawiki.ui a flavor/theme of OOUI
  • Use the "Agora" design in the mediawiki.ui CSS in core and extensions
    • by applying mw-ui- CSS styles
      • Gerrit change 52169 does this for many buttons in core
      • HTMLForm in core could apply mw-ui- styles by default (currently it only does it if you choose the vform stacked vertical displayFormat). This was in patch set 14 of gerrit 62169
    • by rewriting buttons to use OOUI toolkit, once that has a mediawiki.ui flavor/theme.
  • Use mediawiki.ui CSS in mobile (Gerrit change 102581)
  • Implement Agora design in VE by completing mediawiki.ui flavor/theme
  • Identify existing and required Control/UI elements
    • Highest priority is a usable Agora dialog (vs. woeful inconsistency).
    • Next is Agora flyouts.
  • Develop live style guide:
  • Add useful descriptions to the class comments for each Widget class in OO.ui - i.e. what sort of UI element does this build?

UX standardization status by extension

See also Icon standardisation for use of icons by extensions.

ExtensionMaintainerStatus/BlockersUI componentsCompatibility
ContentTranslationi18n teamOne mw-ui buttonAgora Grid, mediawiki.ui, callouts, variety of cards (link , references, tools are presented as cards). Simple rich text formatting toolbar. The extension does not use Mediawiki chrome, uses full screen areaIE10+
FlowCore features teamImplements additions to Agora, such as sleeper/thin buttons, tooltips, dropdown menu, WikiFont, as local override not corejquery.ui.dialog, jquery.conditionalScroll, mediawiki.ui (+ local overrides)
MultimediaViewerMultimedia teamUses OOUI for "Use this file" tabbed dialog, with incomplete Agora skinningOOUI MenuItem,TextInput, etc. widgets, ... ??
UploadWizardMultimedia teamUses mostly jQuery.ui, campaigns are migrated to mediawiki.uiresizable input field, resizable textarea, inline input field, form validation, radio buttons, dropdown select lists, auto-suggest dropdown, tooltips, file input, collapsible form elements, image thumbnail selection grid, date picker, modal dialog boxIE6 and newer
MobileFrontendMobile web teamAll internal styles and libraries except for hogan templatesbuttons, full-screen overlays, toggler, button bar, segmented buttonIE9 and newer (usually)
PageTriageNo oneSome internal, some jQuery.uibackbone.js + Underscore (including use of templates), jquery.waypoints, jquery.tipoff, jquery.badge, jquery.ui.button, jquery.ui.draggable, pokey dialogIE7?
EchoCore features + volunteersSome internal, some mediawiki.uibuttons, pokey dialog, jQuery,badgeIE7?
GuidedTourGrowthUses mediawiki.ui controls, some redundant styles to remove from original guiders.jsPrimary buttons, close icon
GettingStartedGrowthUses few mediawiki.ui controls, needs some new styles such as muli-line text in buttons and icons in buttonsPrimary and secondary CTAs, close icon
OAuthPlatform-coremw-ui- styles mostly, jquery.ui.autocomplete, jquery.ui.dialog
WikiLoveNo oneuses jQuery.uijquery.ui.dialog,, dropdown select lists
WikiEditorNo oneuses some internal, some jQuery.uibutton toolbar, jquery.ui.dialog, jquery.ui.button, dropdown select lists
CentralNoticeFundraising teamuses internal and some jQuery.uijquery.ui.multiselect, jquery.ui.datepicker, dropdown select lists
Special:PasswordReset (Core)Nonevform, mw.ui.primary
Special:ChangeEmail (Core)Nonemediawiki.special.changeemail (clientside form validation)
Special:Search (Core)Platformvform, mw.ui.primary
UniversalLanguageSelector (ULS)Language Engineering Teammediawiki.ui use is bug 50599, but ULS needs to work in MW 1.20Foundation Framework grid, side tabs, buttons, flyout. local 'button blue' CSS, jquery tipsy, more?
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.