When the handling of edit conflicts on busy pages is good, editors can Reply without even noticing that someone else had just replied to the same comment. Should we notify them when this happens? Would it be possible to differentiate between a relevant edit conflict (same conversation) and edit conflicts elsewhere on the page?
Story
As someone who is drafting a comment using the Reply Tool, I want to know when someone changes the content of the discussion I am drafting a comment within, and what they have changed, so that I can decide whether or not to make changes to the comment I'm drafting prior to publishing it.
Requirements
META
- Platforms: Desktop + Mobile
- Editing Interfaces: Reply Tool
- Note: any implementation should preserve us the option to extend this experience to other VE-based experiences (e.g. New Topic Tool, VE, 2017 WTE)
USER EXPERIENCE
- Inform people the state of the discussion has changed
- The moment a qualifying change has been made, show an alert in/ around the Reply Tool informing people that the page has changed from the version they are looking at.
- Where "qualifying change" in this context means someone else posts new comment(s) in the discussion (read: == H2==) the person is drafting a comment within at any point after the talk page was loaded.
- Note: we will consider improvements to the change detection scope in T300216.
- One alert should be shown regardless of the number of new comments that have been posted in the time after the talk page was loaded and you opened the Reply Tool. Said another way: if after you open the Reply Tool, two new comments are posted in the discussion you are in, only show one alert.
- The alert should be implemented such that it appears in peoples' peripheral vision...the kind of alert that people will notice if they are paying close attention
- The moment a qualifying change has been made, show an alert in/ around the Reply Tool informing people that the page has changed from the version they are looking at.
- Offer people the opportunity to see what's changed or to explicitly forego this opportunity
- The "alert" mentioned above ought to contain affordances that enable people to:
- Show the change(s) that have been made to the discussion in the time between you opened the Reply Tool and "this" moment
- Forego the opportunity to see what changes have been to the discussion
- The "alert" mentioned above ought to contain affordances that enable people to:
- If people opt to see what's changed in the discussion, ensure whatever content they've drafted within the Reply Tool is retained/recovered/saved
- Don't reload the page, just update the contents via the API and keep the comment you've drafted in memory. @Esanders can speak to this in detail.
If people forego the opportunity to see what's changed in the discussion, ensure they can return to what they were doing prior to the alert appearingThis will be designed and implemented as part of T300560.- Upon opting NOT to see how the discussion has changed, people should see the alert disappear and all other aspects of the page, the Reply Tool, and the content within the Reply Tool unchanged.
- Note: if a new comment(s) is posted *after* someone dismisses the initial alert, another alert should be shown.
- Upon opting NOT to see how the discussion has changed, people should see the alert disappear and all other aspects of the page, the Reply Tool, and the content within the Reply Tool unchanged.
- Help people to easily locate what's changed within the discussion
- Upon opting to see how the discussion has changed, people should see the page update with the comment(s) that have been changed highlighted ephemerally
- Help people resume writing/editing the comment they started
- In updating the page to its latest state, people need to be able to immediately locate the Reply Tool with the comment they drafted prior to the discussion being updated in tact.
Open questions
- 1. How might we go about detecting edits to a specific section?
- We decided NOT to answer this question for now in favor surfacing alerts when new comments are posted within a specific discussion. We will answer this question if/when we prioritize work on T300216.
- 2. What do we do to visually communicate when content has been deleted?
- We will address this question as part of T300215.
- 3. What happens when additional changes are made to the discussion after the first alert is shown and before you engage with said alert?
- As is noted in "1.", one alert should be shown no matter how many new comments are published in the time between an initial new comment is posted and when someone engages with the alert.
References
- This ticket was filed in response to @Encycloon at https://nl.wikipedia.org/w/index.php?title=Overleg_Wikipedia:Arbitragecommissie/Zaken/Obama_Nick_Gur&diff=56008041&oldid=56008026
- @Sdkb and @MichaelMaggs also raised this issue at mediawiki.org: https://www.mediawiki.org/wiki/Topic:Woomtgg3secx6r2h
Approaches
This section contains an in-progress list of potential approaches to addressing the need(s) this ticket is "asking" to be met.
- Re-use MediaWiki's existing edit conflict detection mechanism
- Volunteer Experience
- i. Someone clicks/taps the Reply button within the Reply Tool
- ii. Edit conflict detection mechanism checks whether the page's state has changed in the time between this moment and when the person opened the Reply Tool in "i."
- iii. If the edit conflict mechanism detects a change, a warning will appear within the Reply Tool informing people that an edit conflict could result from proceeding to publish the comment they drafted
- Considerations
- There are likely to be many false positives with this approach considering the existing edit conflict detection mechanism does not consider what part of the page might've changed.
- Complexity
- Relatively straightforward considering we'd be re-using and integrating existing functionality
- Volunteer Experience
- Introduce a new, more targeted, edit conflict detection mechanism
- Volunteer Experience
- i. Someone clicks/taps the Reply button within the Reply Tool
- ii. The "new, more targeted" edit conflict detection mechanism begins checking for changes in the state of the section in which the person is drafting a comment within
- iii. If the "new, more targeted" edit conflict mechanism detects a change, a warning will appear within the Reply Tool informing people that proceeding to publish the comment they are drafting will result in an edit conflict
- Considerations
- What happens if/when the comment to which you are directly replying to in "i." gets deleted?
- How confident can the software be that an edit conflict will result from the person proceeding to publish they are drafting?
- Complexity
- More complex considering we'd be introducing a new mechanism that "bounds" detection to the specific section someone is posting a comment to/within
- Volunteer Experience