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. You may track this project's progress on T5525.

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?

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, ...)"

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.

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.

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.

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.

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.

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.

"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."

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.

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.

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.