Page MenuHomePhabricator

UserInfoCard: Design a clickable component to display account information
Closed, ResolvedPublic

Description

Summary

Design a clickable component to display public data related to user account information to functionaries.

Background

This work supports hypothesis WE4.2.18:

If we design and build a clickable component to display public data related to user account reputation to functionaries, we will be able to learn if this is useful to them by observing the number of repeat usages of the tool

Design spec (Figma)

  • Popover functionality will be on: History, Special:RecentChanges and Special:Log, as well as all other places where the "Show IP" button is rendered
  • Icon will display next to username
  • When icon is clicked, popover will display
  • Copy spreadsheet with data points and URLs

user-info-card-14Apr.png (2×3 px, 713 KB)

user-info-scenarios-14Apr.png (997×2 px, 200 KB)

User stories

  • As a functionary mitigating abuse on the wikis, I need easy to understand and reliable indicators from a user’s account, in order to effectively target bad actors.
  • As TSP, we want to design and build in an agile manner, in order to test our assumption that providing account reputation data is useful and will support more precise anti-abuse mitigations.

Acceptance criteria

Event Timeline

KColeman-WMF changed the task status from Open to In Progress.Jan 24 2025, 3:53 PM
Update

I've explored some options for displaying account reputation data in a popover component. All feedback on these options is welcome!

account-reputation-popover-13Feb.png (1×3 px, 539 KB)

Design questions:
  1. What information is most crucial to highlight (e.g blocks, reverted edits)?
  2. What order should the information be in?
  3. Is the addition of contextual menu useful/likely to be needed?
Behavioural signals:

Account

  • Age of account
  • Has wiki blocks
  • Has past blocks
  • Number of thanks received
  • Active wikis (max 3, in order of most active first)

Edits

  • Total number of edits
  • Number of edits reverted (within last 12 hours or all time?)
  • Maximum edit size
  • Has created new article(s)
  • Editing activity over last 60 days (to indicate sleeper account?)
kostajh renamed this task from Design a clickable component to display account reputation data to UserReputationCard: Design a clickable component to display account reputation data.Feb 14 2025, 8:07 AM
kostajh updated the task description. (Show Details)
Update

I've explored some options for displaying account reputation data in a popover component. All feedback on these options is welcome!

This looks great, thank you for your work! I think option E with contextual menu is the best, as it provides a good balance of high level overview and depth in a compact space.

  1. Is the addition of contextual menu useful/likely to be needed?

Yes, I think we should have the contextual menu, because we want to make it even easier to go from "review" to "action". Another menu item that we could add here is "Preferences" which would lead the user to Special:Preferences where they could disable this feature, and, in the future, adjust preferences related to it.

Update

Following feedback from Stewards, the design has been updated as follows:

The card

  • Added gender preference
  • Added global edit count
  • Added groups (with a 'show more' link)
  • Removed max edit size as it is not considered a stable signal

Contextual menu:

  • Added link to preferences to turn off the feature
  • Removed global contribs link as it's now on card under 'global edits'

account-reputation-popover-21Feb.png (2×3 px, 645 KB)

Next steps
  • Short round of user feedback from admins (wikis TBC)
  • Start to define technical approach in more detail
  • Talk to DST about 'show more' link
KColeman-WMF renamed this task from UserReputationCard: Design a clickable component to display account reputation data to UserInfoCard: Design a clickable component to display account information.Mar 12 2025, 3:02 PM
KColeman-WMF updated the task description. (Show Details)

Survey analysis is complete. The final design for this experiment will include the following recommendations:

NowLater
• Re-name “Account Reputation” to “User Info”
• Include thanks received and thanks given
• Include edit count for editing activity graph
• Label actions more clearly (e.g. “Block user”)
• Add link to Global Account Information
• Indicate recently reverted edits (last 24 hours)
• Include CheckUser information/links
• Think through date joined: "What will be shown for joined when the registration date is older than the creation of the log in 2005?" (feedback from Discord channel)
• Integration of menu button options with third-party tools (e.g. Twinkle)
• Change user groups, send wikilove
• Explore other ways to visually present editing activity over 60 days

Final designs for registered user info card:

user-info-card-19Mar.png (1×3 px, 374 KB)

user-info-scenarios-19Mar.png (1×2 px, 200 KB)

I will create a separate task for design of the temporary account info card, as that will incorporate additional information such as T388718: UserInfoCard: Visual cue that other temporary accounts are active on the same IP or IPv6 /64 range

Remaining tasks:
  • Create copy spreadsheet with URLS for each data point
  • Create separate task for temp accounts info popover
  • Agree on max number to display for "groups" and "active wikis"
  • Confirm "Add user page to Watchlist" interaction (answer: adds to wishlist and toast displays)
  • Confirm "Block user" interaction (answer: it goes to Special:Block)

I explored some different icon options for the Checks data point (which displays the number of checks made in CheckUser). Feedback from admins and Stewards is that the magnifying glass is the icon they most associate with CheckUser: https://commons.wikimedia.org/wiki/Category:Wikimedia_checkuser_icons

I explored some different icon options for the Checks data point (which displays the number of checks made in CheckUser). Feedback from admins and Stewards is that the magnifying glass is the icon they most associate with CheckUser: https://commons.wikimedia.org/wiki/Category:Wikimedia_checkuser_icons

This seems fine, especially given that the row of data with this icon will only appear to CheckUser users anyway.

@kostajh - There is one remaining spec that needs to be finalised:

Agree on max number to display for "groups" and "active wikis"

I am not 100% sure if there is an existing pattern we can use for revealing more/less groups and wikis. It might be simpler to have a limit on how many we show? We also need to agree on which kinds of groups should display (i.e. advanced groups like administrator)? @sgrabarczuk had some thoughts on this.

Thanks for the ping, Katie. Yeah, I hypothesize that information about someone having the administrator or CU role or one of certain global groups (global sysop for example) would be very valuable, whereas information about roles like importer, file mover, or account creator may be less useful.

Maybe instead of groups, we should show [[ https://www.mediawiki.org/wiki/Manual:Autoconfirmed_users | autoconfirmed status ] via an icon + tooltip next to the username in the card]? Otherwise, I think we'd need more information about how to work out which groups are useful to show. I could see that getting complicated quickly.

Maybe instead of groups, we should show [[ https://www.mediawiki.org/wiki/Manual:Autoconfirmed_users | autoconfirmed status ] via an icon + tooltip next to the username in the card]? Otherwise, I think we'd need more information about how to work out which groups are useful to show. I could see that getting complicated quickly.

I'm not sure if auto-confirmed status will be considered as valuable/useful? Group was ranked the third most important piece of information in the survey. We can still have a show more/less link as per an earlier design, I just don't know how much extra technical effort it would be?

image.png (836×852 px, 143 KB)

image.png (884×878 px, 157 KB)

Thanks for the ping, Katie. Yeah, I hypothesize that information about someone having the administrator or CU role or one of certain global groups (global sysop for example) would be very valuable, whereas information about roles like importer, file mover, or account creator may be less useful.

Thanks for explaining it!

Having discussed with @kostajh - we agreed to remove "groups" from the first release of the User Info Card due to technical complexities.

I've created a separate task for designing the logic for displaying groups and adding additional signals to the card: T391831: UserInfoCard: Display user groups

Resolving this task as design spec has been finalised.