Beta Features/en



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, 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

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:


 * VisualEditor Opt-in (lead: James Forrester) — edit pages without having to learn wiki code
 * Compact language links (lead: Pau Giner) — show a shorter version of the language list, with just the languages that are more relevant to you.
 * Hovercards (lead: Jon Katz) — give readers a short summary of an article whenever they hover over a link to it.
 * Other projects sidebar (lead: Tpt and Lydia Pintscher) — adds section to the sidebar for sister project links, based on Wikidata site links.
 * Read more (lead: Jon Katz) — Suggests related topics at the bottom of a page.
 * Completion suggester (lead: Dan Garry) — uses a new algorithm for search as you type, that is tolerant to small typos.
 * Enhanced notifications (lead: Roan Kattouw) — Cross-wiki notifications lets you see messages from all Wikimedia wikis, on the wiki in which you are currently working.

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.

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