Jump to content

Beta Features

From mediawiki.org
(Redirected from Beta Experiments)
For the extension, see: Extension:BetaFeatures.

Beta Features are a way for you to test new features on Wikipedia and other Wikimedia sites before they are released for everyone. Go to your preferences to enable Beta Features for yourself; remember, enabling features works on a per-site basis.

Please let us know what you think of this program on this discussion page.

Purpose

The primary purpose of Beta Features is to allow for Wikimedia designers and engineers (from the Wikimedia Foundation and community alike) to roll out technical improvements in an environment where large numbers of users can test, give feedback, and use these features in real-world settings. The secondary purpose of Beta Features is to provide a path so that helpful, well-designed gadgets and other community code can be integrated into core after vetting, testing, and reviewing by Wikimedia Design and Engineering.

The code to provide features like this is in an extension, BetaFeatures . Beta Features' preferences are available in a Preferences tab, accessible via the personal bar at the top of the page for all logged-in users.

Functionality

Right now, users can:

  • manually opt-in to individual features
  • automatically enroll in all additional features as they are subsequently released[issue 1]

To use either function, users should select the appropriate checkbox, then click “Save”, which will save their Beta Features preferences (like with other preferences). Every now and then new features are made available to users, as outlined at Beta Features/Roadmap .

Current Beta Features

Here are the current beta features which we are testing with this system:

These features are only available on some wikis:

These features are beta features on some wikis while enabled for everyone on all others:

We invite Wikimedia product teams and community volunteers who want to test out new features, or significant changes to existing features, to do so through this project.


Deployed features

Other features

This list may document extensions or features that are obsolete or dormant, or are still in planning. Do not rely on the information here being up-to-date.


Creating your own

Do you want to create your own Beta Feature? Great! James is happy to help guide you.

First, you should check that your code meets the following basic requirements:

  • Not significantly degrade site performance;
  • Not noticeably degrade perceived performance of the site, or the user's system;
  • Not crash the user's browser;
  • Not cause data loss, or corruption;
  • Pass basic interoperability with other Beta Features features; and[issue 2]
  • Contribute positively to the user's experience of the site, and be additive in nature. E.g. Beta Features cannot be used to remove site features or functionality without adding features meant to replace what was removed.
  • You should expect to test your new feature on the WMF pre-deploy beta server for at least one week before deploying to production. This testing period is intended to catch any serious bugs before jeopardizing users on production.

If you're happy your code meets these requirements, you should write-up your proposal on the New Features proposal page. As part of creating the Beta Feature, you will be asked for some text copy and an image to represent your feature in the user interface; the Design and Product teams can help you with this.

Appearance

The appearance of the “Beta features” tab in Preferences is purposefully different, to both inspire interest and propose a departure from the standard layout and complexity of the existing user preferences.

Here is a screenshot of the “Beta features” preferences tab:

Screenshot of the “Beta features” preferences screen in Vector legacy (2010).
Screenshot of the “Beta features” preferences screen in Vector legacy (2010).

Known issues

  1. Note that this currently doesn't enroll users until they visit the Preferences page. (phab:T64815)
  2. This is not to say that interoperability is a blocker. Interoperability issues need to be surfaced, and blocker-ness will be determined on a case-by-case basis.