WikiLove
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.
WikiLove
An extension to encourage expressions of appreciation between users.
|
- By appreciation we make excellence in others our own property. — Voltaire
Rationale
editUsers 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
edit- June 16, 2011: WikiLove activated on 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
editTo 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
editThis section is about how to customise WikiLove for an individual editor. To learn how to customise WikiLove for an entire wiki, see Extension:WikiLove . |
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
editFor example, if you wanted to change the display name 'Kittens' to 'Cats', you would add the following to your local .js
file (User:Example/skin.js):
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.kitten.name = 'Cats';
} );
If you wanted to change the image for Stroopwafels, you would add:
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.food.subtypes.stroopwafels.image = 'Stroopwafels.jpg';
} );
Add a new type
editYou can also add an entirely new item type (or subtype) using the JSON tree structure. For example to add "Hedgehogs":
mw.loader.using( 'ext.wikiLove.defaultOptions', function() {
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // name of the type (appears in the types menu)
fields: [ 'header', 'message' ], // fields to ask for in form
header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // maximum width of the images in the gallery
height: 150, // maximum height of the images in the gallery
number: 3 // number of random images to show (optional)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu
};
} );
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
editThe Photoshop source file for the WikiLove type icons (the black and white icons that appear in the left-hand menu) can be 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
editYou can also customise the WikiLove heart icon used in the Vector skin by editing your vector.css file (User:Example/vector.css). If you want to change the red heart icon to a blue heart, for example, you would add the following:
#ca-wikilove.icon a {
background-image: url("/w/extensions/WikiLove/resources/images/heart-icons-blue.png");
}
Requests for additional deployment
editIndividual 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 help localise it)
- A configuration file exists on the local wiki (MediaWiki:WikiLove.js)
Once these criteria are met, open a bug in Phabricator requesting the deployment.
WikiLove activity in real-time
editWikiLove 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 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
edit- Extension documentation: Extension:WikiLove
- Design document
- User Testing: see videos
- Status updates
- Media coverage based on June 24 blog post
- Idea Log
- Data
- WikiLove research