Community health initiative/Interaction Timeline

From Meta, a Wikimedia project coordination wiki
Jump to: navigation, search
Light-Bulb icon by Till Teenck green.svg

Feature status: In development
This wiki page documents information, plans, and ideas for a feature the Anti-Harassment Tools team is currently building or plans to build in the upcoming months.

🗣   We invite you to join the discussion on the talk page.

The Interaction Timeline shows a chronologic history for two users on pages where they have both made edits.

The goal of the feature is to help administrators understand the sequence of events between two users so they can confidently make a decision about how to best resolve a user conduct dispute. Non-administrators may also use the tool to determine whether to file a complaint about another user, and to compile evidence for that complaint.

How it works[edit]

Screenshot of the Interaction Timeline

If you provide two usernames and a wiki, the Interaction Timeline will display a chronologic list of edits made by the two specified users on pages where both users have edited. For example, if User:A edits on Washington, Texas, and Kansas and User:B edits California, Texas, and Kansas the tool would only show their edits on Texas and Kansas.

The edits are displayed on a vertical timeline, with the edits made by one user on the left and the edits made by the other on the right. Each edit shows the edit summary and timestamp and links to the edit's diff.

When activity shifts from one user to the other, the Timeline calculates and displays the amount of time between interactions. We believe this is helpful in understanding if two users are rapidly editing over each other, potentially stalking each other or edit warring.

Test out the Beta version[edit]

👩‍🔬 Test the beta Interaction Timeline at:

Known limitations[edit]

  • There is no error message when there are no results.
  • The tool does not support IP address, only usernames.
  • Typing in the date range only allows you to type one character at a time.

Examples to test[edit]

  1. User:Test-apples and User:Test-bananas on
  2. User:Test-carrots and User:Test-durian on
  3. User:Derby pie and User:Sweets lover
  4. Tinker toys and Baby rattle

Discussion Questions[edit]

🗣 😀 💬 Join the discussion on the talk page! 🗣 😀 💬
  • For comparing disputes between two users, how does this two-column concept compare to other existing tools?
  • What information or functionality is missing that would make this tool more useful than your existing tools or workflows?
  • Should this system highlight potentially problematic interactions?
    • Did any of the edits contain strong language or curse words?
    • Did any of the interactions occur rapid-fire?
    • Did any of the edits trigger an AbuseFilter filter?

What's next?[edit]

Here is our prioritized list of improvements we want to make to the Interaction Timeline:

  1. Performance and scalability fixes (to handle users with hundreds of thousands of edits)
  2. Improved date picker
  3. Show diffs in-line when the edit box is clicked
  4. Improve the tool's header and footer
  5. Display a background box around all edits that occur on the same calendar date
  6. Display the byte changes and if an edit was minor in each edit box
  7. Sections should display as §
  8. Add important links to user pages and logs

Project information[edit]

Problems we believe the Timeline can solve[edit]

As we've observed how user disputes are reported, we've identified some common problems:

  • Wherever a case is raised, users will often only provide cherry-picked diffs and links to bolster their side of the argument. Knowing the entire story is important to make an informed decision, so users must seek more evidence if they would like to know the full story.
  • Digging through Special:Contributions, page histories, diffs, Edit Interaction Analyser, and other tools requires switching between multiple tabs. It can be very time consuming and easy to get lost.
  • Comparing timestamps relative to each other requires a lot of mental processing. Some disputes occur over multiple pages, and determining an accurate sequence of events can be time consuming and complicated.

Project goals[edit]

In the end, we want users to be able to make decisions about conduct disputes:

  • in a time efficient manner (which will ideally result in more disputes being resolved and fewer reports going ignored.)
  • that result in a fair, appropriate response (the software should show an honest story and enough information for the admin to understand the entire picture)
  • that leave the admin and community feeling confident about the decision (A lot of these cases are fuzzy: this tool will not be a success if its users are not sure how best to employ it.)

Use Cases[edit]


  • User:Apple and User:Banana are two contributors. Apple believes Banana is wikihounding them. Banana claims they are editing as per their usual behaviors.
  • The admin will seek to understand:
    • Is Apple new to Banana's domain, or is Banana following Apple? — sequence
    • Is Banana following Apple deliberately to frustrate them? — time between edits, context of edit
    • What is the nature of both Apple's and Banana's edits? — contents of each edit
  • Data to show:
    • The number of intersecting pages both users have edited (incl. talk pages)
    • Who edited each page first (most likely recently, not of all time ever.)
    • Amount of time between edits
    • Info about the edit itself
      • The edit summaries
      • Link/preview of the diff
      • Was it a revert or rollback?
      • bytes added or removed?
  • Data we could show, if helpful:
    • Edits by other users in between Apple and Banana edits
      • Pro: showing other edits may better reflect the entire story behind a page — maybe these two are just ships passing in the night, as opposed to deliberate hounding.
    • Edits Apple and Banana make elsewhere, outside of their direct interaction.
      • Pro: shows if one is fixated on the other (e.g. if Banana only edits what Apple is editing, then it looks like a fixation. If their interaction with Apple is only a fraction of their total contributions, it could be coincidental.)

"He said, she said" harassment

  • User:Carrot accuses User:Durian of harassment on their talk page, providing a specific diff link. Durian claims this was in response to continual harassment from Carrot.
  • The admin will seek to understand:
    • What was the impetus for this dispute and who instigated it? — contents of each edit
    • To what degree is each party guilty of harassment? Or was someone entirely goaded into an outburst? — sequence
  • Data to show:
    • The sequence of interactions the two users had:
      • Edits made to the same articles, talk pages, user talk pages, and elsewhere.
    • Amount of time between edits
    • Info about the edits themselves
      • The edit summaries
      • Link/preview of the diff
      • Was the edit a revert or rollback?
      • Where there bytes added or removed?
      • Did any of the edits trigger any ORES or AbuseFilters?

Conduct vs. content dispute

  • User:Eggplant claims that User:Fig is harassing them. Fig states they are just cleaning up Eggplant's messy edits and their claim is baseless.
  • The admin will seek to understand:
    • What did Fig say or do to Eggplant that could be construed as harassment? — content of each edit
    • Did Eggplant's edits deserve to be cleaned up? Does Fig's argument have any merit? — content of each edit
    • To what extent is Fig following Eggplant: a few pages or many? — pagenames
    • How closely is Fig following Eggplan? — time between edits
  • Data to show:
    • The number of pages both users have edited (incl. talk pages)
    • Who edited each page first
    • Amount of time between edits
    • Info about the edit itself
      • The edit summaries
      • Link/preview of the diff
      • Revert or rollback?
      • bytes added or removed?

Preliminary sockpuppet investigation

  • User:Grape and user User:Horseradish have suspiciously similar styles, and are adding virtually identical promotional content. It is not yet clear whether a Checkuser investigation is required, or evidence is required to justify a Checkuser request.
  • The admin will seek to understand:
    • Do Grape and Horseradish coordinate to harass someone?
    • Do Grape and Horseradish edit the same set of unrelated articles? Are they both targeting all articles related to a particular company?
    • Are Grape and Horseradish pushing an identical biased agenda on those articles?
    • Do Grape and Horseradish magically follow each other around, or are they unrelated users finding these articles being discussed on a wikiproject or notice board?
    • Do Grape and Horseradish team up to revert edits of other users, concealing coordinated edit-warring and exceeding revert limits?
    • Do Grape and Horseradish show up together in unrelated debates, stacking identical votes and using the same arguments?
    • Do Grape and Horseradish mysteriously show up to defend each other on other people's user talk? Do they separately show up arguing on the same other-people's user talk?
    • Do Grape and Horseradish both edit an extremely obscure page, such as an archive?
  • Data to show:
    • The number of pages both users have edited (incl. talk pages)
    • Who edited each page first
    • Amount of time between edits
    • Info about the edit itself
      • The edit summaries
      • Link/preview of the diff
      • Revert or rollback
      • bytes added or removed?


Existing features[edit]

  • Editor Interaction Analyser
    • My research notes
    • Allows up to 20 users, and start/end dates, namespace
    • Shows an overview of the pages where both/all users have edited, min time between edits, and the edit count for each user on all pages, highlighting who edited each page first in blue
    • 'timeline' links to the per-article contributions for just the provided users, including edit summaries. It also shows the amount of time between interactions (...3 hours... or ...25 seconds...)
  • WikiBlame — Allows users to search a page's revision for the first inclusion/removal of a specific string
  • Intertwined Contributions — Combines all contributions of 2+ users, not intersecting contributions.
  • Intersect Contributions — Shows the pages where both users have edited, not the specific edits.

Log formats[edit]

Many MediaWiki tools use a log format which could be used in this feature:

  • RecentChanges
    • (diff | hist) . . PAGENAME; 22:55 . . (+2,926)‎ . . ‎USERNAME (talk | contribs)‎ EDITSUMMARY (Tag: TAGS)
  • Article history
    • (cur | prev) 00:07, 15 March 2017‎ USERNAME (talk | contribs)‎ . . (19,665 bytes) (+866)‎ . . EDITSUMMARY (undo | thank) (Tag: TAGS)
  • Special:Contributions
    • 22:55, 15 March 2017 (diff | hist) . . (+2,926)‎ . . PAGENAME ‎ EDITSUMMARY (current) (Tag: TAGS)
  • Edit Interaction Analyzer
    • 20:40, 15 March 2017 (diff | hist) USERNAME (talk | contribs) . . (12,968 bytes) (+275) . . EDITSUMMARY

These all include:

  • A link to the diff
  • A permalink to the revision
  • Timestamp
  • Byte change
  • Username
  • Edit summary
  • Link to article history (except history)


First draft

For our first iteration of wireframes, we've anonymized a real example of two users who accused each other of harassment on English Wikipedia's ANI. We identified all the pages where they had both edited and plotted them in a vertical timeline. We extrapolated the section they edited from the edit summary.

Each edit block would have a link or option to view the link, either in-line on the tool itself or in a new tab.

These are wireframes — the exact dimensions, colors, and text will be finalized later. The feedback we need at this stage is on the general layout, arrangement, and organization.

Second draft

Third draft (current draft)