Page MenuHomePhabricator

Design persistent notification for when new comments are posted while drafting a reply
Closed, ResolvedPublic

Assigned To
Authored By
ppelberg
Jan 31 2022, 6:28 PM
Referenced Files
F35104924: image.png
May 5 2022, 2:54 PM
F35104900: image.png
May 5 2022, 2:34 PM
F35097502: Frame 35.png
May 3 2022, 4:46 PM
F35097453: Screenshot (900).png
May 3 2022, 4:46 PM
F35097495: Frame 36 (1).png
May 3 2022, 4:46 PM
F35052779: Screenshot (891).png
Apr 15 2022, 12:36 PM
F35052782: Screenshot (892).png
Apr 15 2022, 12:36 PM
F35051614: Captura de pantalla 2022-04-14 a las 18.39.28.png
Apr 14 2022, 4:41 PM
Tokens
"Yellow Medal" token, awarded by Esanders."Barnstar" token, awarded by ppelberg.

Description

This task involves the work of designing and implementing the alert that people will see if/when a new comment is posted in a discussion they are currently drafting a comment using the Reply Tool within.

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

NOTE: These requirements are still being drafted.

Meta

  • The alert should be presented in such a way that people:
    • Are aware of its presence, but are not distracted by it
    • Understood they have the option to engage with the alert, but do not feel obligated to

User experience

  • 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.
  • The alert should contain the following text:
    • # new comments added to this discussion.
      • Note: in cases where >10 new comments have been posted, show 10+ rather that the actual number of new comments that have been posted.
  • The alert should offer people the ability to:
    • Show the new comment(s) that have been posted
    • Ignore dismiss the alert
      • Note: if after someone elects to dismiss the new comment alert another new comment is published in the discussion they are drafting a reply within, another new comment alert will NOT be shown unless they decide to reload the page.
  • 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 and the cadence at which these comments were posted.
    • 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 and
      • If after you open the Reply Tool, Comment A is posted and then one minute later Comment B is posted, only show one alert

Open questions

  • 1. What information about the new comments that have been posted ought to be included within the alert?
    • E.g. The usernames of the people who have posted new comments, the number of new comments that have been posted since the last time you reloaded the page, relative timestamps (Peter added a comment seven seconds ago), etc.
    • As discussed during the team's 2 February meeting, initially the alert will simply show the number of new comments that have been posted (up to 10).
  • 2. Should people be able to dismiss the alert? Should the alert remain visible until someone either A) publishes the comment they were drafting or B) opts to "show" the new comments that have been posted.
  • 3. How do we visually relate the alert to the discussion it is about? This becomes more complex when the discussion you are composing a comment within is NOT the only discussion visible to you on the page.
  • 4. What happens when a comment within the discussion you are replying in gets deleted while you are drafting a comment? This is being discussed in T300502#7663489.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Next step

  • Per the discussion we had during Thursday's (4 Feb) standup, the next step is for @iamjessklein to review and provide comments about the Patch demo prototype @Esanders created [i].
    • Note: please keep the with the task description's ===Open questions in mind as well as the over-arching requirements/stories contained within T250295's description in mind as you're reviewing.

i. Steps for reviewing the prototype:

  1. Visit https://patchdemo.wmflabs.org/wikis/c555f5ca84/wiki/Main_Page
  2. Create an account
  3. Visit an old revision of a talk page (e.g. Talk:Douglas Adams)
  4. Click a [ reply ] affordance within a section that, in subsequent revisions, has had new comments posted to it (e.g. Looking for help from a Python dev to help getting ReFill to build and run)
  5. Wait a bit
  6. ✅ Notice the "new comment" alert appears within the Reply Tool

Notes
@iamjessklein is going to follow up on the list items below as part of work on this ticket...

  • Make it more obvious/clear what people need to do in order to see the new comments the alert is notifying about. //Right now, it's not clear what you ought to be clicking to reload. The box? The text?
  • Explore making the notice a bit more discreet and less warning-/error-like [i]

i. Current new comment notification shown in conjunction with anon warning:

Screen Shot 2022-02-15 at 12.06.19 PM.png (1×1 px, 132 KB)

<meta thing happening here> I am asking a few people to come here and test out this same functionality here to see how phabricator handles it.

Here's a gif of the patch in action:

updateswhitereplying.gif (757×937 px, 1 MB)

<meta thing happening here> I am asking a few people to come here and test out this same functionality here to see how phabricator handles it.

Hi Jess!

<meta thing happening here> I am asking a few people to come here and test out this same functionality here to see how phabricator handles it.

Responding to this comment

Here's a gif of the patch in action:

updateswhitereplying.gif (757×937 px, 1 MB)

oops

🧐 y'all had us worried about compromised Phab accounts for a second there!

and now let's try to break Phabricator

Please consider using the Phabricator test instance in cloud VPS for these kinds of tests.

https://phab.wmflabs.org/

@Dzahn sorry! thank you for letting me know about that test instance, I didn't know that existed.

@Esanders and @ppelberg -As the functionality will be maintained no matter what feedback I provide here I propose that we ship this iteration, and then I'll make and work on a separate ticket for iterating on the style. Specifically, the basic interaction of showing a warning, and then clicking on something to refresh the page, is not likely going to change. If I get agreement here (please +1 or -1) to let me know then we can take the next steps.

@Esanders and @ppelberg -As the functionality will be maintained no matter what feedback I provide here I propose that we ship this iteration, and then I'll make and work on a separate ticket for iterating on the style. Specifically, the basic interaction of showing a warning, and then clicking on something to refresh the page, is not likely going to change. If I get agreement here (please +1 or -1) to let me know then we can take the next steps.

Next step

  • @iamjessklein to design the changes she alluded to above and post them to this ticket for feedback. [i]

i. Note: during the team's 3 March standup, we decided work on design changes will happen in this ticket rather than in a new one.

@Esanders and @ppelberg -As the functionality will be maintained no matter what feedback I provide here I propose that we ship this iteration, and then I'll make and work on a separate ticket for iterating on the style. Specifically, the basic interaction of showing a warning, and then clicking on something to refresh the page, is not likely going to change. If I get agreement here (please +1 or -1) to let me know then we can take the next steps.

+1 – We've merged the patches and the feature will be included in this week's release.

ppelberg added a subscriber: BKots-WMF.

hi @BKots-WMF – I'm assigning this task over to you knowing that you will be working on it with support from @iamjessklein.

@BKots-WMF has done a few rounds of iteration here.
@BKots-WMF can you please share some screenshots and describe your latest round of iteration here?

@BKots-WMF has done a few rounds of iteration here.

@BKots-WMF @iamjessklein some Design System feedback about these iterations:

  1. Avoid to use yellow since we only use yellow in our system for warning feedback in warning messages

Captura de pantalla 2022-04-14 a las 18.21.17.png (842×2 px, 414 KB)

Captura de pantalla 2022-04-14 a las 18.21.35.png (440×2 px, 149 KB)

  1. Try to use one of our current components. In this case, you could use, for example, one of our following components:

Captura de pantalla 2022-04-14 a las 18.30.22.png (780×2 px, 347 KB)

  • You can use one of our messages (you could use them as toast messages)

Captura de pantalla 2022-04-14 a las 18.39.28.png (656×2 px, 79 KB)

  1. If our current components don't work for the functionality you are creating (in this case, a clearable notification with the number of new messages) you can create a new custom component based in the styles that we have in our library since we need to use at least the tokens (styles) created in our system.

Captura de pantalla 2022-04-14 a las 18.34.56.png (1×1 px, 123 KB)

@bmartinezcalvo Can you make the Figma pages you're referring to publicly available?

BKots-WMF changed the task status from Open to In Progress.Apr 15 2022, 12:36 PM

Hi all,

Here are the two final explorations for the persistent notifications. I am looking for feedback on the design style of the alert, does it serves its purpose? Out of the two, which one would you go for?
You can view the full process (Iterations) here

Option 1

Screenshot (891).png (426×918 px, 34 KB)

Option 2

Screenshot (892).png (450×929 px, 44 KB)

  1. What guided the above explorations?
  • 1. I was looking for something simple and minimal, not too obtrusive.
  • 2. Succinct, with minimal amount of text
  • 3. Less warning and error like
  1. Next Steps
  • Explore the alerts for mobile view.
  • Explore different animation and transitions styles (simple, noticeable but not distracting)

Nice iteration @BKots-WMF

Of the two options, I think that you should anchor future exploration on Option 2 because there are two obvious interactions supported here: 1. clicking to viewing the comments and 2. clicking to ignore. That said, I prefer the visual contrast of the actual button in option 1. For your next iteration can you try exploring:

  • a higher contrast button
  • what the button looks like when it animates on during the conversation?
  • what happens if you click to see the new comments?
  • what happens if you click the "x" part of the component?

I am looking forward to seeing the mobile explorations as well.

@bmartinezcalvo Can you make the Figma pages you're referring to publicly available?

@matmarex to be able to view these Figma links you should create you own Figma account here with your Wikimedia email. All our Figma links are available for all Wikimedia team members.

@bmartinezcalvo Thanks, that lets me see them, but I think Wikimedia community members who are not Wikimedia Foundation employees would also appreciate being able to view it. Is it possible to make them public?

@bmartinezcalvo Thanks, that lets me see them, but I think Wikimedia community members who are not Wikimedia Foundation employees would also appreciate being able to view it. Is it possible to make them public?

@matmarex I'm not sure if we want to make public our WIP design system file now to all the community. Currently we are giving public permissions to specific files but not to our design system file since we are working on it and it's in a step where we don't have relevant elements like tokens created there. I think we will make it public in the future but not now. What do you think about this @iamjessklein?

Thanks for these @BKots-WMF.

My main issue is that it is not clear that the button is clickable and what clicking on the "button" does. Conversely if you are looking to see the new comments, it is not clear that it is the button which does that.

For a visually impaired user that is missing the contextual clues of the button placement, and it's asynchronous appearance during the middle of an edit, this would be even more confusing.

For accessibility and discoverability, I think there needs to a be clearly labelled action to "show new comments"/"reload the page".

Agreed that it's not obvious what clicking the button will do (or that it's a clickable-button), and since it's a fairly disruptive action (triggering a reload/refresh and viewport movement), it might be good to hint to users somehow what would occur. The real time preview project has a similar use case for a manual-refresh button in their preview UI, so it might be an opportunity to share some design cues?

I noticed that the design has picked up a "<username> and X others typing..." text below the input box, and I wanted to note that (a) its not something we have the technical ability to add currently, and (b) it has some privacy concerns if we did add it as-pictured.

Hi all,
Thanks @Esanders and @DLynch for the feedback. This is something to think about, especially on my next iteration.

Meanwhile, I have been working on the animations and transitions. In the prototype, I have explored the following:

  1. What the button looks like when it animates on during the conversation?
  2. What happens if you click to see the new comments?
  3. What happens if you click the "x" part of the component?

Next steps

  • Have a yellow fade out highlight on the new comments or any other indicator
  • Explore on the different states of the button
  • Smoothen out the transitions and animations

You can click here to view the prototype.

MULTI ACTION BUTTON EXPLORATIONS

I was exploring on how to distinguish the two actions;

  1. Click to view the comments
  2. Click to dismiss the alert/button

This is how Figma has done it

Screenshot (900).png (88×408 px, 7 KB)

This is what I have done so far. Still exploring on other options.
Frame 36 (1).png (64×389 px, 4 KB)

Frame 35.png (64×239 px, 3 KB)

Let me know your thoughts and ideas

I think we can keep a concise message and have an accessible button by merging the call to action and the information about how many comments there are, using a message like:
"Show 8 new comments"

This is similar to what happens on Special:RecentChanges

To keep it as short as possible, using an ✖ instead of “Dismiss” is probably better, but I don’t like the two bubbles. What about using an icon and @Esanders’ text version, but having one (divided) bar, like in your first exploration?

Yes @Tacsipacsi, that's what we have decided to work with. Thanks.

Option 2

Screenshot (892).png (450×929 px, 44 KB)

If implemented as a ButtonGroupWidget it would look something like this:

image.png (265×873 px, 22 KB)

If implemented as a ButtonGroupWidget it would look something like this:

image.png (265×873 px, 22 KB)

I think I prefer this style: it separates the "show new replies" and the button to close without a lengthy "dismiss" or the two-buttons-stuck-together took of F35097502.

Well will also have to tweaks the input padding as it is currently possible for the text and button to overlap:

image.png (273×885 px, 45 KB)

Change 789657 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] Redesign "new comments" warning

https://gerrit.wikimedia.org/r/789657

As discussed during the meeting we had as a team today, if after someone elects to dismiss the new comment alert another new comment is published in the discussion they are drafting a reply within, another new comment alert will NOT be shown unless they decide to reload the page.

NOTE: I've added the above to the task description to aid with QA.

Test wiki created on Patch demo by ESanders (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/067eeb0265/w/

Patch demo testing:

With @Esanders filing and fixing T307807, I think this work is ready for release (pending code review and QA, of course).

Change 789657 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Redesign "new comments" warning

https://gerrit.wikimedia.org/r/789657

Test wiki on Patch demo by ESanders (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/067eeb0265/w/