Community Tech/Cross-wiki watchlist
This page documents a project the Wikimedia Foundation's Community Tech team has worked on or declined in the past. Technical work on this project is complete.
We invite you to join the discussion on the talk page.
The cross-wiki watchlist project aims to make it easier for editors who edit on more than one wiki by enabling them to keep track of all articles they are watching from one wiki.
This project was Declined as out of scope. It has been superseded by the GlobalWatchlist extension.
Current work, for discussion
[edit]These are wireframes, shown here in rough form, because we want the community to have the opportunity to participate in this process, as the project develops. Please let us know what you think on the talk page!
-
Chronological - watchlist with filter options
-
Just showing the current wiki
-
Filtered to show two selected wikis
-
Displaying watchlist by project
-
Enhanced watchlist
Here's the functionality that these wireframes show:
- The items on the watchlist are essentially unchanged from the current display.
- There is a colored bubble on the left side of each item, indicating the project that the item comes from. For the wiki that you're currently on (EN:WP in this example), that wiki's bubble is light gray. The colors for the other projects are assigned on the fly, and are consistent for this pageview.
- There's two basic designs -- showing the watchlist items chronologically, and sorting by project. In the first group, you can also filter to show all wikis, the wiki you're currently on, or any combination.
- There's also a wireframe that shows the enhanced watchlist (i.e. both "Expand watchlist to show all changes" and "Group changes by page in recent changes and watchlist" in preferences)
What we want to know: How would you use this? Which elements would fit your workflow, and which would get in your way? Do the display options -- "chronological list" vs "split by project" -- make sense? Which one do you think you would use? What are the important missing pieces?
Requirements
[edit]This is a draft of requirements for the new interface; this needs discussion. Come join the discussion on the talk page.
"Wiki" here means any Wikimedia project, in any language. "Current wiki" means the wiki that I'm currently on.
As a logged-in contributor who's active on multiple wikis...
- I want easy, on-wiki access to a combined, chronological watchlist on one page that includes all of my watchlist items from the wikis where I'm watching pages.
- I want to easily tell which wiki each individual watchlist item belongs to.
- I want to be able to filter which wikis appear in the watchlist -- including all wikis, just the current wiki, or a combination.
- I want to be able to switch from the chronological watchlist to a "split by project" view, which shows multiple watchlists, arranged in sections down the page.
- I want the filter to be sticky, and always show me the most recent setting that I've used.
- I want to be able to click on any of the links in the watchlist item, and go directly to the page on the item's wiki. (Including diff, history, page title, username, talk, contribs.)
- I want the cross-wiki watchlist to use the Preferences settings for the current wiki.
- I want to be able to use the options in the existing "Watchlist options" box: Period of time to display, Hide checkboxes, and Namespace filtering.
Note: View and edit watchlist, Edit raw watchlist and Clear the watchlist functionality should remain the same, just affecting watchlist items from the wiki that I'm currently on.
Open questions
[edit]- For split by project view: What's the order of the wikis displayed? Alphabetical (according to language code)? Arranged by the most recent item? (This is potentially a performance drag, if we have to make separate queries.)
- For split by project view: The watchlist preferences can go up to 1,000 items and 30 days. If I have 1,000 items set as my preference, do I see 1,000 of the current wiki and then 1,000 of each of the other wikis? That's a lot of scrolling. A possibility: keep 1,000 of the current wiki, and cut off the other wikis at a reasonable point, maybe with a "see more from this wiki" link.
- More options: suggested by User:JAn Dudík on the talk page: "On different projects I have different habit to check watchlist. So it would be useful (and probably easy to implement) possibility to display watchlist only for one family (WP, Wikt, Comm...) or only for one language (en.wp, en.wikt, en.source, ...)"
Status
[edit]For more details, please see our meeting notes and the Phabricator task.
Oct 17, 2016
[edit]We're working on the early stages of building the cross-wiki watchlist, making changes to the Centralauth database. These are moving along; we're planning to have a proof-of-concept prototype for the feature up on the Beta cluster by the end of December.
Aug 5, 2016
[edit]We've completed the technical plan for the cross-wiki watchlist, thanks to the help of the Architecture Committee and others. You can see the whole conversation on the RFC ticket: T126641.
July 13, 2016
[edit]We're currently investigating the technical plan for cross-wiki watchlist. Some serious concerns have been raised about performance and architecture. A truly global watchlist would need to call 800 wikis every time the page is loaded -- potentially a big strain on the infrastructure. Conversations are currently happening on an RFC ticket in Phabricator: T126641.
June 8, 2016
[edit]Wireframes for the filters are posted above and on the talk page for discussion. There are two display options -- showing all of the wikis in a single chronological list, or showing them split by project. Within the chronological list, there are further options for filtering which wikis are displayed, so that you can just focus on the wiki you're currently on, or the two wikis you're most focused on, etc.
May 26, 2016
[edit]The talk page discussion on the first set of wireframes showed that people generally had a negative view of that approach. The main problem is that the design added more vertical space for each item, going from one line to two or three per item. This makes it harder for people to quickly browse through a long list. The unanimous sentiment was to make the design more compact. There were also some questions about the project's scope -- the wireframes showed some extra features that are not strictly cross-wiki related.
Given that -- we're posting a new wireframe that scales back the ambition of the first set. :) The new wireframe can be seen above, and on the talk page for more discussion.
The new design uses a one-line per item model, basically keeping the existing watchlist structure intact. The addition is the colored bubbles on the left side of each item, which indicates which wiki the watchlist item comes from. The bubble for the wiki that you're currently on is transparent, so the colors indicate items from other wikis. We'll post more wireframes soon that show more filters and options for display.
May 19, 2016
[edit]Early wireframes are posted on this page and on the talk page, for discussion.
March 11, 2016
[edit]We have draft requirements for the project, and we're going to start getting some user feedback and ideas soon.
The first step will be a public survey, to help the team understand more about how active contributors use watchlists. We'll announce the survey on Wikimedia-L and Wikitech-L, on relevant Phabricator tickets, and here on Meta. Our goal is to get about 100 responses from active contributors. We'll publish the aggregated results on Meta after the survey is closed.
The results of the survey will help to inform Shannon, the team's interaction designer, so that she can come up with initial drafts for community feedback.
Survey results
[edit]In April 2016, the Community Tech team conducted a survey about how watchlists are used by active Wikimedia contributors. Respondents were recruited by posting messages on public mailing lists and community talk spaces on Wikimedia wikis. 87 people participated in the survey.
The results and analysis are in the Survey results summary, attached here. Raw results are provided below.
Demographics
[edit]Which Wikimedia projects do you contribute to on a regular basis, in any language?
Project | Respondents |
---|---|
Wikipedia | 85 |
Commons | 62 |
Wikidata | 45 |
Meta-Wiki | 35 |
MediaWiki.org | 23 |
WMF or WMF chapters | 15 |
Wiktionary | 13 |
Wikiquote | 9 |
Wikisource | 6 |
Wikivoyage | 5 |
Wikibooks | 2 |
Wikiversity | 1 |
If you contribute to or watch pages on Wikipedia, how many languages are you active on?
Languages | Respondents |
---|---|
1 language | 32 |
2 languages | 25 |
3 languages | 12 |
4-5 languages | 11 |
6 or more | 4 |
How often do you contribute to Wikimedia projects?
Answer | Respondents |
---|---|
Multiple times a day | 46 |
Every day | 20 |
A few times a week | 17 |
Once a week | 1 |
Monthly | 3 |
Watchlist use
[edit]For the following reasons, how likely are you to add a page to your watchlist?
Question | Not at all likely | Somewhat likely | Very likely | Total N |
---|---|---|---|---|
Follow changes to a page you've created | 4 | 7 | 75 | 86 |
Follow a file that you've uploaded | 17 | 15 | 54 | 86 |
Follow a talk page to see responses | 12 | 21 | 52 | 85 |
Follow a news/community page for updates | 24 | 22 | 40 | 86 |
Follow changes to a page you've contributed to | 7 | 43 | 36 | 86 |
Follow a noticeboard or a workflow page | 20 | 33 | 32 | 85 |
Follow a talk page to keep an eye on conversations there | 15 | 41 | 30 | 86 |
Follow an event page for updates | 28 | 35 | 23 | 86 |
Collect and organize pages that you're interested in | 42 | 25 | 19 | 86 |
Mark a page to remind you to edit later | 47 | 26 | 13 | 86 |
Follow changes to a page you haven't contributed to | 34 | 47 | 4 | 85 |
Are there other reasons why you add pages to your watchlist? (selected answers)
- "I watch pages that have not yet been created (or have been deleted) to see when or if they are (re)created."
- "Make sure important pages (like policies) don't change without me noticing."
- "I'll follow pages that don't have a lot of watchers or contributors, so that I can watch it in case someone vandalizes it and no one notices."
- "Get updates on topics I don't otherwise follow (like the release of a new album by a band I don't follow on social media)."
- "I use Twinkle a lot for vandal fighting, and since I have 'add pages I edit' selected in my preferences, I get a lot of pages added. I sometimes unwatch them immediately, but my watchlist does get bogged down with pages I've barely edited at all."
- "After the categorization feature on watchlist was made available, I watch category pages for newly added/removed pages from categories."
Approximately how many pages are in your watchlists, across all projects?
Answer | Respondents | Percent |
---|---|---|
1-100 | 7 | 8% |
between 100 and 200 | 4 | 5% |
between 200 and 500 | 4 | 5% |
between 500 and 1,000 | 14 | 16% |
more than 1,000 | 39 | 45% |
too many to estimate | 18 | 21% |
How often do you add a page to your watchlist?
Answer | Respondents | Percent |
---|---|---|
Multiple times a day | 14 | 16% |
Every day | 14 | 16% |
A few times a week | 34 | 40% |
Once a week | 11 | 13% |
Monthly | 11 | 13% |
Yearly | 1 | 2% |
How often do you check your watchlist?
Answer | Respondents | Percent |
---|---|---|
All day | 21 | 25% |
A few times a day | 35 | 41% |
Once a day | 11 | 13% |
A few times a week | 8 | 9% |
Once a week | 2 | 3% |
Once a month | 1 | 2% |
Less than once a month | 7 | 8% |
Have you ever added a page to your watchlist because you wanted to watch it, but only temporarily?
Answer | Respondents | Percent |
---|---|---|
Yes | 67 | 77% |
No | 20 | 23% |
For an item on your watchlist, how important is it that the following links or pieces of information are immediately visible on the page?
Question | Not at all | Important | Very important | Total N |
---|---|---|---|---|
Name of the page | 1 | 5 | 81 | 87 |
Link to the diff page | 11 | 11 | 65 | 87 |
Date of the edit | 7 | 32 | 48 | 87 |
Time of the edit | 15 | 36 | 34 | 85 |
Link to the history page | 16 | 39 | 32 | 87 |
Size of the edit | 24 | 32 | 30 | 86 |
Moderation actions | 32 | 32 | 22 | 86 |
Link to their user talk | 31 | 39 | 16 | 86 |
Link to user page | 23 | 49 | 14 | 86 |
Link to their contributions | 30 | 44 | 12 | 86 |
When there are new items on your watchlist, how likely are you to take the following actions?
Question | Not very likely | Somewhat likely | Very likely | Total N |
---|---|---|---|---|
Go to a diff | 7 | 23 | 56 | 86 |
Go to page history | 13 | 45 | 28 | 86 |
Go to the page | 9 | 51 | 27 | 87 |
Undo or rollback a change | 19 | 46 | 21 | 86 |
Thank contributor (via diff view) | 23 | 45 | 18 | 86 |
Go to their contributions | 24 | 47 | 13 | 84 |
Moderation actions | 39 | 34 | 12 | 85 |
Go to the talk page | 43 | 35 | 7 | 85 |
Go to their user talk page | 39 | 42 | 4 | 85 |
Go to contributor's user page | 41 | 42 | 2 | 85 |
What's one thing that the watchlist does well, that you wouldn't want to change? (selected answers)
- "Concentrated, centralized location of things I care about with quick links to see the diff."
- "Collapses associated actions/events from logs (e.g. if you've moderated actions on multiple accounts created that day, the watchlist shows when those accounts were created in a collapsed format)."
- "Lets me keep tabs on some very old contributions."
- "Grouping changes ('enhanced RC')"
- "Options... Many, many options!"
- "All the links and pieces of information needed are visible on the page, without hovering or clicking on anything."
- "It is fairly easy to add thousands of files, or remove them. My watchlist peaked at 13,000 before I culled two thirds of it."
- "High information density."
- "It's extremely compact."
- "Highlighting of pages that have changes since they were last visited."
- "The watchlist is incredibly important, so whatever you do: please be very cautious. That being said: I think with modern technology there should be lots of room for improvement."
"What's one aspect of the watchlist that could be improved? (selected answers)
- "I want to be able to remove pages directly from the watchlist."
- "Some things I only care about changes in some moods; others I probably should know about all changes, eg my user page or the deletion policy -- I want to know every change. For Barack Obama, it's probably okay. I'd be great if I could view different importance pages in different ways. Right now they're all muddled together."
- "Support for: 'I have seen this change and it can be hidden from the view.'"
- "Built-in diff (click and expand button, and get the diff below the edit entry)"
- "Remove rollback and block links, makes it too easy to make a mistake"
- "Watching transcluded pages too when watching a page. English Wikipedia and many other projects do have discussion venues which consist of daily subpages, being able to watch them all in one go without having to watchlist a bunch of them every day would be great."
- "I would like to go back in time so further back than is now possible. Especially on projects where I don't login very often (like Meta or Outreach) this could be helpful."
- "e-mail me if the page was NOT altered for <number-of> days."
- "It would be really useful to have more than one watchlist in a project, and to be able to tag which items I want to watch temporarily."
- "Wikidata integration in Wikipedia watchlists is a mess. Every time the item of a country is changed I have an enormous list of changes (for each items that are linked to the country), and the important ones get lost."
- "Being able to watch pages temprorarily. Almost all pages I have on my watchlist are those I am permanently interested in. I would probably watch more pages if I can watch them temprorarily."
- "Aggregate changes across different days. Diffs are more important than clear distribution on days."
- "As a less experienced editor, I'm not always sure what each link does immediately. Instruction boxes for the links might be helpful (untill I learn, and click "don't show these anymore")."
- "multiple watchlists are very badly needed.-- I use a variety of not very satisfactory workarounds"
- "Cross-wiki watchlists would be very high on my list, but since you're already working on that here's something else ;-) Some pages are more important than others. I'd like to be able to visually mark certain pages or groups of pages. For example: Discussions on my favourite WikiProjects get a green background, Changes to licensing templates on Commons get a red one, all user talk pages get a smaller font apart from the few I'm in active conversation with. Doesn't have to look pretty as long as it's highly customizable."
Rationale
[edit]Many editors are active on more than one wiki. Some edit in multiple languages, and some edit in one language but more than one project. However, many aren't necessarily equally active on all wikis: you might edit one wiki on a daily basis, another a couple of times every week, and a third once a month. Keeping track of all article changes is difficult and unnecessarily cumbersome if you have to go to the specific wiki to do so, instead of simply being able to follow what's happening from the wiki you're currently editing, whether you look at all articles or narrow it down to articles on one wiki. This project was the fourth (tied) most popular item on the 2015 Community Wishlist Survey, with 84 supporting votes.
There's an existing tool called Crosswatch, which was created by a volunteer and is hosted on Tool Labs. Crosswatch isn't being maintained, and currently has several debilitating bugs.
Technical discussion and background
[edit]- Phabricator ticket tracking the work
- Phabricator ticket for the Community Tech investigation
- Meeting notes
- Proposal and votes
Approach
[edit]The watchlist is one of the most important contributor tools, and we need to tread lightly -- making the changes that we have in order to have the new functionality, and leaving the rest alone. We shouldn't remove existing functionality from the page.
In order to accommodate the new options, we may have to move the location of some links. We'll post design ideas publicly and ask for comment, specifically to find out if the change negatively impacts somebody's workflow.
Early builds of the feature will be available on a test wiki for people to try out. The goal for this watchlist item is to get the Cross-wiki watchlist into Beta features on every wiki, so that contributors can opt-in to use it. If you have the Beta feature turned on, the cross-wiki watchlist will replace the Special:Watchlist page.
Screenshots
[edit]Screenshots of the existing watchlist functionality:
Some screenshots of Crosswatch, the volunteer-created tool on Tool Labs, posted here for easy reference.
-
Preferences pane
-
Default watchlist layout
-
Traditional watchlist layout
-
Dropdown pane on default layout
-
Dropdown pane on traditional layout
Internal Community Tech team assessment
[edit]- Support: Very high, with unanimous support votes.
- Impact: Medium. This is very useful for contributors active on multiple projects, which is sizeable but not everybody. Crosswatch already exists as an interim solution on Tool Labs.
- Feasibility: TBD, it depends on implementation. We could use Crosswatch as a guide. Crosswatch is written in Python; we could port it to PHP, but the details would be different.
- Risk: Medium. The Collaboration team is currently working on cross-wiki notifications, which may or may not change the need for a watchlist, and which may have similar interface needs. It would be great if we could piggyback on their work once cross-wiki notifications are done, possibly by creating "invisible notifications" for watchlist items. This may require changes to core MediaWiki, which are always a challenge to get implemented.
- Status: We'll investigate this later this year. This seems like a good project for us, but we'll need some more technical investigation to be sure. We'll want to include a filtering mechanism, so we need design work and a front-end spec. We'll talk more with the Collaboration team about notifications.
See also
[edit]The work here has a long history:
- en:Wikipedia:Global, cross-wiki, integrated watchlists. The desire for a cross-wiki watchlist goes back years before this article was started in 2010. See Phabricator: Cross-wiki watchlists. It was started in 2005.
- Crosswatch, – an older cross-wiki watchlist tool. Documentation. Talk:Crosswatch. Phabricator task map. See Phabricator: An enhanced cross-wiki watchlist as an OAuth tool. Work stopped being done on it in the fall of 2015 for the most part, and it became non-functional.
- 2015 Community Wishlist Survey. This survey happened after Crosswatch. The survey results were finalized in January 2016. A cross-wiki watchlist was number 4 in the top 10 wishes. It was one of several watchlist-related requests. See the votes and comments attached to those votes.