Page MenuHomePhabricator

Bundle mention notifications per save
Closed, ResolvedPublic2 Story Points

Description

Task:
Send out just one message for each page save, that contains both possible failures and successes.

Be aware:

  • Some people might only have failures enabled, others might only have successes enabled, others might have both to be shown

Texts / Designs:
see newest version in the comments

Background: This task is based on a wish that received 21 points (#9) in the German Community Wishlist[1]. Originally, the wish was to receive an information about the sent messages. To help people use mentions in a way that they are sent, we have also included notifications about mention failures, which add the reasons for the failure as well.

[1] Link to wish (in German): https://de.wikipedia.org/wiki/Wikipedia:Umfragen/Technische_W%C3%BCnsche_2015/Topw%C3%BCnsche#Bei_Speichern_Hinweis_.C3.BCber_abgegebene_Benachrichtigungen_.5BUmfrage_2015.5D
in English: https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes#Notifications_about_failed_mentions

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a project: TCB-Team. · View Herald TranscriptJul 13 2016, 10:19 AM
Restricted Application added subscribers: Zppix, Aklapper. · View Herald Transcript
Lea_WMDE updated the task description. (Show Details)Jul 14 2016, 10:47 AM
This comment was removed by Charlie_WMDE.
Lea_WMDE updated the task description. (Show Details)Jul 14 2016, 1:19 PM

Just a quick idea to change 'the mentions you made failed due to multiple section edit...' to 'ALL mentions you made...'
Makes it clearer that this failure is also the reason for the lack of success notifications since otherwise the user might expect them.

WMDE-Fisch set the point value for this task to 13.Jul 14 2016, 2:38 PM
WMDE-Fisch moved this task from Proposed to Backlog on the TCB-Team-Sprint-2016-07-14 board.

Agree with the idea of the wording change; maybe we even write »None of the…you send due to« (since then, the crucial word is on the first position, not on the 5th)

Warning: Charlie and I hopefully meet tomorrow to discuss further user research insights, so designs are likely to change soon (sorry about that)

Charlie_WMDE added a comment.EditedJul 20 2016, 2:33 PM

Sorry for the delay. Here are the mocks with a couple changes (nothing major)

Things that changed:

  • concerning multiple section edits: decided on a structure and wording
  • 'user does not exists' instead of 'user not found'
  • colon after the error messages
  • IP instead od IPs
  • the 'time since message received' part was removed from the bundled submessages since they always arrive with the header part of the message
  • make 'none' bold to make the difference to the bundled failed messages on the right more visible.

other feedback I got:

  • the necessity of the three dots, now that the X in the top left corner was replaced with a 'mark as read' button which is the same function as the dots
    • remove the dots as long as there is no further content in that menu
  • question how sensible it is to have IP mentioning as a failure since it's often done intentionally on a large scale and would result in many failure messages.
    • solution: when 1 or more IPs are mentioned just have an error message saying: 'IPs cannot be mentioned' once without the specification of which IP exactly since there is no difference.
Lea_WMDE updated the task description. (Show Details)Jul 20 2016, 6:48 PM

Note: It schould be "Username doesn't exist", without a s at the end.

Thanks! I corrected the mistakes.

Sorry I'm coming to this late. I am now subscribed to this ticket. Anyway, looking at the image above I see a number of opportunities where consistency in language and styling might make the system simpler to understand and easier to maintain. I'm not sure how finalized all the messaging is; I see a note from @Charlie_WMDE that there have been many changes since that image, so perhaps this has all changed. But here are my observations:

  • 'user does not exists' vs 'user not found' -- as noted, should standardize on one formulation
  • Why "none of your messages" on the left but "2 mentions you made" on the right? A number seems more useful than "none" because it tells you how many separate notifications will be found in the bundle
  • Sometimes we say you "successfully mentioned," but other times we talk about whether a mention was "sent." Can we standardize? E.g., "Your mention of 'Fama' was sent," or "Your mention of 'Fama' was not sent..." and, in bundles, "Mention sent: "Fama"
  • Looking at the message: "You have 4 notifications about mentions you made... " That "You have" is not consistent with similar messages in the system and are extraneous. E.g., for Flow-post-reply, the bundled message is: "5 new replies in 'How the Moai moved'." So I'd suggest "4 notifications about mentions you made on...."
  • In the "None of your mentions..." message, the part about "due to the following reasons" can be dropped. Also, it's not present on the "2 mentions you made example..." I'd stick with the latter formulation, and then just give the reasons in the bundles, as you are doing.
  • Finally, for unbundled messages, it looks like the plan is to have a separate message for each failure reason. Just a suggestion, but you could think about using the Message Header for one standard message, and then putting the reasons in the Message Body. So it would look like this:

Your mention of 'Fnama' was not sent.
Reason: Username does not exist.

If you want to see how other messages are worded/styled, here's a spreadsheet listing standard messaging of most Notification types. And look at T127813 for the new expandable bundles language.

Would it be possible to list the various messages, both single style and bundled style, as in T127813 so that they can be reviewed?

Sorry I'm coming to this late. I am now subscribed to this ticket. Anyway, looking at the image above I see a number of opportunities where consistency in language and styling might make the system simpler to understand and easier to maintain. I'm not sure how finalized all the messaging is; I see a note from @Charlie_WMDE that there have been many changes since that image, so perhaps this has all changed. But here are my observations:

The last image I posted should the latest version

  • 'user does not exists' vs 'user not found' -- as noted, should standardize on one formulation

We have. It is: "Username does not exist". Should be uniform on the latest image.

  • Why "none of your messages" on the left but "2 mentions you made" on the right? A number seems more useful than "none" because it tells you how many separate notifications will be found in the bundle

The reason for this is that when making more than 50 mentions or mentioning in multiple sections at once, all mentions are not sent. Even the ones that would have been successful. When an IP is mentioned or a username isn't found only those mentions fail, but the others still work out. We don't use the 'None of your messages' message when simply all mentions failed because of the two latter reasons. Hope the explanation makes sense...

  • Sometimes we say you "successfully mentioned," but other times we talk about whether a mention was "sent." Can we standardize? E.g., "Your mention of 'Fama' was sent," or "Your mention of 'Fama' was not sent..." and, in bundles, "Mention sent: "Fama"

That is a good point. I will change that in the next mock-up.

  • Looking at the message: "You have 4 notifications about mentions you made... " That "You have" is not consistent with similar messages in the system and are extraneous. E.g., for Flow-post-reply, the bundled message is: "5 new replies in 'How the Moai moved'." So I'd suggest "4 notifications about mentions you made on...."

Thanks for pointing that out. I will change that too.

  • In the "None of your mentions..." message, the part about "due to the following reasons" can be dropped. Also, it's not present on the "2 mentions you made example..." I'd stick with the latter formulation, and then just give the reasons in the bundles, as you are doing.

The 'due to following reasons' came out of some user research that we did, where the previous version was misunderstood. Maybe we can find another way to solve this issue. Having this inconsistency is indeed not the best solution either.

  • Finally, for unbundled messages, it looks like the plan is to have a separate message for each failure reason. Just a suggestion, but you could think about using the Message Header for one standard message, and then putting the reasons in the Message Body. So it would look like this:

    Your mention of 'Fnama' was not sent. Reason: Username does not exist.

We decided that it is unnecessary to make the user complete an additional action (expand the message body) when it is possible to fit all information into the header in that case. Also we oriented ourselves by this M132 It seems to be the the way to go when dealing with single messages.

If you want to see how other messages are worded/styled, here's a spreadsheet listing standard messaging of most Notification types. And look at T127813 for the new expandable bundles language.

Thanks for the links. I didn't know about that ticket before.

Would it be possible to list the various messages, both single style and bundled style, as in T127813 so that they can be reviewed?

Will do.

Thanks @jmatazzoni for all the input. I should have the new mock up soon.

Hi @Charlie_WMDE.
Thanks for your notes. Sound good except one point. You write::

We decided that it is unnecessary to make the user complete an additional action (expand the message body) when it is possible to fit all information into the header in that case. Also we oriented ourselves by this M132 It seems to be the the way to go when dealing with single messages.

Two things about this:

  • Re. your comment about "an additional action to expand the message body." We have a misunderstanding, since there would be no action required. The "header" is the black text that is the first line of a notification. The "body" is the gray second line, usually used for message excerpts, as in the two examples in the screenshot below. The suggested usage would be similar to the User-Rights message, where the body is used to display the "reason" given for the loss of rights (see the notifications spreadsheet).
  • Re. "we oriented ourselves by this M132," I'm so sorry you've been looking at that, but that is an old document that did not keep up as we conducted a complete review of message formats. The most up to date info is at the spreadsheet linked above. (It actually warns about that on M132, and I just updated the description to make it even more clear, but that warning is way down the page where no one will see it. I'll see about getting rid of the page or clearly marking it somehow.)

Danny_B removed a subscriber: WMDE-Design.
Restricted Application added a project: Design. · View Herald TranscriptJul 27 2016, 12:11 AM

Messages extracted from the various patches currently in Gerrit:

  • Preference category label for mention failure notifications: Failed mentions (tooltip: Notify me when my edits fail to mention users.)
  • Preference category label for mention success notifications: Successful mentions (tooltip: Notify me when my edits successfully mention users.)
  • mention-failure-user-unknown
    • Standalone: Your mention for "Bob" was not sent because the user was not found.
    • Bundled: Unknown user: "Bob"
  • mention-failure-user-anonymous
    • Standalone: Your mention for "1.2.3.4" was not sent because the user is anonymous.
    • Bundled: Anonymous user: 1.2.3.4
  • mention-failure-too-many
    • Standalone: Your mentions were not sent because they exceeded the limit of 50
    • Bundled: ??? what happens in this case? Not clear to me from reading the code
  • mention-failure-multiple-sections
    • Single: Your mention for "Bob" was not sent because you changed multiple sections
    • Dual: Your mentions for "Bob" and 1 other were not sent because you changed multiple sections
    • Multiple: Your mentions for "Bob" and 2 others were not sent because you changed multiple sections
    • Bundled: ???
  • mention-failure bundle header: 4 mentions you made on the Moai talk page were not sent.
  • mention-success
    • Single: You successfully mentioned "Bob"
    • Dual: You successfully mentioned "Bob" and another user
    • Multiple: You successfully mentioned "Bob" and 2 other users

There's an inconsistency here between the dual cases for failure-multiple-sections (and 1 other) and success (and another user) as well as between the multiple cases (2 others vs 2 other users). Personally, 1 other sounds strange to me (although 2 others is fine). We also generally write out the number 1 as one in notifications, so perhaps we should change both to the another user/2 other users pattern.

  • Re. your comment about "an additional action to expand the message body." We have a misunderstanding, since there would be no action required. The "header" is the black text that is the first line of a notification. The "body" is the gray second line, usually used for message excerpts, as in the two examples in the screenshot below. The suggested usage would be similar to the User-Rights message, where the body is used to display the "reason" given for the loss of rights (see the notifications spreadsheet).

I see what you mean now. I've made a version of your suggestion and will upload it in a bit. Thanks for the explanation.

Messages extracted from the various patches currently in Gerrit:

  • Preference category label for mention failure notifications: Failed mentions (tooltip: Notify me when my edits fail to mention users.)
  • Preference category label for mention success notifications: Successful mentions (tooltip: Notify me when my edits successfully mention users.)
  • mention-failure-user-unknown
    • Standalone: Your mention for "Bob" was not sent because the user was not found.
    • Bundled: Unknown user: "Bob"

We've decided to proceed with 'The user name doesn't exists' to reduce the ambiguity of the message. The sentence structure is currently our preferred one.

  • mention-failure-user-anonymous
    • Standalone: Your mention for "1.2.3.4" was not sent because the user is anonymous.
    • Bundled: Anonymous user: 1.2.3.4

We had this wording in the beginning, but decided to change it to 'IP cannot be mentioned' because it makes it more clear what caused the failure.

  • mention-failure-too-many
    • Standalone: Your mentions were not sent because they exceeded the limit of 50
    • Bundled: ??? what happens in this case? Not clear to me from reading the code

There is no bundling with this message. Before anything is sent out, it is checked whether the mentions exceed 50. If that is the case the process is completely canceled, meaning nothing gets sent out. We can't even check, which mentions would have been successful and which ones would have failed since this part never gets reached.

  • mention-failure-multiple-sections
    • Single: Your mention for "Bob" was not sent because you changed multiple sections
    • Dual: Your mentions for "Bob" and 1 other were not sent because you changed multiple sections
    • Multiple: Your mentions for "Bob" and 2 others were not sent because you changed multiple sections
    • Bundled: ???

Here we kind of have a similar situation as before. When mentioning in several sections, everything fails. So, no single mentions is responsible for failing all the others. We need to make it clear in the wording that the act of editing in multiple sections at once causes everything to fail. Contrary to the previous problem, here we can actually still say which single mentions would otherwise pass and which ones would fail for other reasons, independent of the multiple section edit.

  • mention-failure bundle header: 4 mentions you made on the Moai talk page were not sent.

Here we decided against 'were' and for 'could not be' because 'were' is a bit more passive. Very interested to hear everyone else's thoughts on that.

  • mention-success
    • Single: You successfully mentioned "Bob"
    • Dual: You successfully mentioned "Bob" and another user
    • Multiple: You successfully mentioned "Bob" and 2 other users

This is already on out list of changes. To bundle the successes a bit more, since it's usually not of interest to know who exactly was successful in a way that the failures are.

There's an inconsistency here between the dual cases for failure-multiple-sections (and 1 other) and success (and another user) as well as between the multiple cases (2 others vs 2 other users). Personally, 1 other sounds strange to me (although 2 others is fine). We also generally write out the number 1 as one in notifications, so perhaps we should change both to the another user/2 other users pattern

Thanks @Catrope for collecting these messages from the patches. Do you know the state of them and whether they are planned to be merged?

Just realised it's a bit silly of me to ask you when I can ask the developers working on the patches directly m) We'll fix the discrepancies in the wording etc.

bundled messages:

Single failures:

Bundled failures:

Overall failure when limit exceeded:

Overall failure when multiple sections were edited:

Single successes:

Bundled successes:

I hope I didn't forget any version of things. I uploaded ones where I already integrated the feedback on the wording/bundling and the ones from before. Looking forward to more discussion on this.

Change 301623 had a related patch set uploaded (by WMDE-Fisch):
Minor text changes in mention failure messages.

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

FYI: Related to the successful mention messages @matej_suchanek comments:

https://www.mediawiki.org/wiki/Localisation#Avoid_jargon_and_slang says: "Avoid saying 'success', 'successfully', 'fail', 'error occurred while', etc., when you want to notify the user that something happened or didn't happen."

So we should think about slightly changing these messages.

WMDE-Fisch claimed this task.

Change 301623 merged by jenkins-bot:
Minor text changes in mention failure messages.

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

Hmm what I just realized:

As far as I can see icons are not available for the 'compact' messages that show when you expand a bundled message. Did someone tell you that this should work? Because I would ask for the solution then.

@Lea_WMDE @Charlie_WMDE

I'd like to review all the messages to get them into style but am having a hard time seeing them all piecemeal in graphics. Also, there is no spec to show where all the links go, so it will be difficult to QA. Also, specifying the links can often help us see what the wording should be, since we sometimes won't mention the pagename in the message if it's in the link.

I find Google Docs so much easier for word-smithing than Phabricator, because we all have the ability to comment and ask questions right on text and offer "edits" that are tracked, etc. I started a document that I'll share below. If people don't mind, it would help me--and I think others-- to see what the decisions are. When we have a near- final spec, we can transfer the back to Phabricator.

I set up a page here with a format that should flesh out all the variations. If it works for you, please fill in the variations I didn't list. it would really help I think.

https://docs.google.com/document/d/1-Z6mxYz73dqHYcgHzRopdqQlYT6ZZ0dEx7ALO-OLsek/edit?usp=sharing

Charlie_WMDE moved this task from Incoming to Doing on the WMDE-Design board.Aug 2 2016, 7:49 AM
WMDE-leszek changed the point value for this task from 13 to 5.
WMDE-leszek moved this task from Proposed to Review on the TCB-Team-Sprint-2016-08-02 board.

These are the most current mocks that are representative of the current patches.

Additionally we are still unsure how to phrase the header when the notifications are bundled. Would appreciate feedback on that.

@Charlie_WMDE: @Lea_WMDE @Jan_Dittrich and me favor
4 new notifications about mentions you made on the Douglas Adams talk page: 2 not sent, 2 sent.

Change 302265 had a related patch set uploaded (by WMDE-Fisch):
Bundle mention success and failure notifications

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

Change 302719 had a related patch set uploaded (by WMDE-Fisch):
Small corrections to anonymous mention failure message

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

Hey @jmatazzoni

I filled the doc with the current status of our messages in regard of failure and succeed notifications.

https://docs.google.com/document/d/1-Z6mxYz73dqHYcgHzRopdqQlYT6ZZ0dEx7ALO-OLsek/edit?usp=sharing

Everybody feel free to ask questions and comment.

Together with @Lea_WMDE and @Addshore we just decided on removing the quotes also in the unknown usernames since quotes can be part of valid usernames and that might be irritating.

Change 302719 merged by jenkins-bot:
Remove double quotes around usernames in failures

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

jmatazzoni added a comment.EditedAug 3 2016, 6:42 PM

@WMDE-Fisch writes:

I filled the doc with the current status of our messages in regard of failure and succeed notifications.
https://docs.google.com/document/d/1-Z6mxYz73dqHYcgHzRopdqQlYT6ZZ0dEx7ALO-OLsek/edit?usp=sharing

Thank you so much Christoph! Listing them out really helped me to see the whole thing. I've made some comments and suggestions.

@Lea_WMDE @Jan_Dittrich can you two have a look at the doc and the suggestions there?

I did comment on the doc, hope it helps. If not ping/mention me.
@jmatazzoni: Thanks for the suggestions!

@WMDE-Fisch we talked about bundling per save, not per page. Since I realized this is the title of the story, I am not going to write another story, but consider it part of this story, that notifications are bundled per save not per page

@Lea_WMDE in the current version of the patch they are already bundled per save. :-)

Change 303533 had a related patch set uploaded (by WMDE-Fisch):
Update to final version of the success message

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

Change 303533 merged by jenkins-bot:
Update to final version of the success and failure messages

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

Visual update. Please correct me if there's a mistake

Change 304196 had a related patch set uploaded (by WMDE-Fisch):
Add bold names for mentions status notifications

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

@Charlie_WMDE

  • The patch adds bold to the names in the simple status messages.

But

  • In the newest version of the notifications the secondary menu with the three dots is not present by default.
  • The message for the too many mentions failure is Your mentions were not sent because they exceeded the limit of 50.

Apart from that it looks good :-).

  • The patch adds bold to the names in the simple status messages.

Cool!

But

  • In the newest version of the notifications the secondary menu with the three dots is not present by default.

Will change that

  • The message for the too many mentions failure is `Your mentions were not sent because they exceeded the limit of 50.

I saw that, but I don't quite understand why this is. It goes against the consistency of always writing 'you made'. We've previously made our decisions based on consistency for the wording so I was wondering what the drove the decision to change the wording in this case. I then checked the comments of the doc we shared and it seemed like the suggestion to remove it was denied so I kept it in the mock for now. If the majority prefers the new wording I can change the mocks accordingly.

WMDE-leszek changed the point value for this task from 5 to 2.Aug 11 2016, 2:41 PM
WMDE-leszek moved this task from Proposed to Review on the TCB-Team-Sprint-2016-08-11 board.

Change 302265 merged by jenkins-bot:
Bundle mention success and failure notifications

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

Change 304196 merged by jenkins-bot:
Add bold names for mentions status notifications

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

WMDE-leszek triaged this task as Normal priority.Aug 25 2016, 1:12 PM
Tobi_WMDE_SW closed this task as Resolved.Aug 29 2016, 12:48 PM
Charlie_WMDE moved this task from Doing to Done on the WMDE-Design board.Nov 8 2016, 4:03 PM