WikiLove




 * By appreciation we make excellence in others our own property. — Voltaire

WikiLove is a feature designed to make it easy and fun to publicly express appreciation for other users. WikiLove can be invoked from any user page by clicking the "Heart" icon. It was originally developed by Ryan Kaldari as a user script, and is now available as a MediaWiki extension that developers can add to their wikis.

Rationale
Users like to feel valued. According to the 2011 survey of Wikipedia editors (see top-line data), among 17 variables, "being looked down on by more experienced editors" is the most likely to cause people to say they will edit less frequently (69% agreement), while "having others compliment you on your edits/articles" is the most likely to cause people to say they will edit more frequently (78% agreement). See also: "Positive feedback works for editing, say Wikipedia editors" on the Wikimedia blog.

On the other hand, editing Wikipedia has tended to become harder over time, and the likelihood that new users will receive correction/criticism has increased. This is reflected by various efforts to code and analyse the experience of new users, such as the recent Newbie teaching strategy research sprint undertaken within the scope of our Summer of Research.



Key dates

 * June 16, 2011: WikiLove activated on [ http://prototype.wikimedia.org/release-en/WikiLove prototype.wikimedia.org]
 * June 24, 2011: WikiLove on-by-default for registered users on prototype.wikimedia.org; blog announcement calling for testers


 * June 30, 2011: WikiLove deployed to the English Wikipedia. See [ WikiLove actions].


 * October 28, 2011: WikiLove deployed to the Macedonian Wikipedia (under the name "ВикиЉубов").

How to disable
To disable WikiLove, go to the editing tab in your preferences, and uncheck the box next to "Enable showing appreciation for other users with the WikiLove tab" under User pages. Then click Save.



How to customise
The WikiLove interface can be tailored to suit the needs of each individual editor. If you want to use WikiLove for leaving welcome messages, birthday cakes, or hedgehogs, it's easy to override the default configuration with your own settings.

The WikiLove configuration is one large JSON object, so to make a change or addition, all you have to do is modify the values that are assigned to the keys. To see what values are currently assigned, first check the MediaWiki:WikiLove.js page on your local wiki. This will have any local overrides. Next, take a look at the default configuration. This will show you the basic tree of data that makes up the settings for WikiLove. Once you have decided what values you want to change, go to your skin.js file on the wiki you are using. (If you are on the English Wikipedia, for example, you would edit this page.) To change an existing item, simply override its value with an assignment statement.

Change an existing type
For example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local  file ( User:Example/skin.js ):

If you wanted to change the image for Stroopwafels, you would add:

Add a new type
You can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":

Make sure you declare all of the appropriate parameters when adding new items! To learn about all the different type parameters, refer to the extension documentation.

Create a new type icon
The Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be [ https://github.com/wikimedia/mediawiki-extensions-WikiLove/tree/f6c920fdf8dcff9eef5f5875ffdda77b040d5aa6/sourcefiles downloaded]. To create your own, paste in a graphic that is approximately 50 × 50 pixels, desaturate it, and copy and paste the styles that are applied to the examples in the source file.

Change the heart icon
You can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file. If you want to change the red heart icon to a blue heart, for example, you would add the following:

Requests for additional deployment
Individual wikis may request that WikiLove be deployed to them provided the following criteria are met:


 * Community consensus for the deployment has been reached
 * The WikiLove extension has been localised to that wiki's language on TranslateWiki (you can [http://translatewiki.net/w/i.php?title=Special%3ATranslate&task=untranslated&group=ext-wikilove&limit=100 help localise it])
 * A configuration file exists on the local wiki ( MediaWiki:WikiLove.js )

Once these criteria are met, open a bug in [ https://phabricator.wikimedia.org/maniphest/task/create/?projects=Wikimedia-Extension-setup Phabricator] requesting the deployment.

WikiLove activity in real-time
WikiLove collects data in its own tables, but this data isn't surfaced through the UI yet. To quickly see what's going on, you can use [ https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=423 edit filter 423] on the English Wikipedia.

We're collecting stories of WikiLove usage here to better understand its evolving impact: WikiLove/Stories

Some preliminary analysis: WikiLove/Analysis

Additional documents

 * Extension documentation:


 * Design document


 * User Testing: see videos
 * WikiLove research
 * WikiLove research
 * WikiLove research
 * WikiLove research
 * WikiLove research