Beta Features/hi

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 enrol 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
 * New Search (lead: Dan Garry) — use a new search engine, "CirrusSearch"
 * 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: Dan Garry) — give readers a short summary of an article whenever they hover over a link to it.
 * Compact Personal Bar (Lead: Jared Zimmerman) — a simplified site header with quick access to primary tools and a flyout for the rest.
 * VisualEditor language tool (Lead: James Forrester) — a tool for marking the language in which text is written.
 * Other projects sidebar (lead: Tpt and Lydia Pintscher) — adds section to the sidebar for sister project links, based on Wikidata site links.
 * HHVM (lead: Ori Livneh) — use the servers which are running faster, experimental software, HHVM.

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 layout 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 showing what the Beta Features preferences page looks like: