Page MenuHomePhabricator

Interaction Timeline V1: Error messages & fail states
Closed, ResolvedPublic3 Estimated Story Points

Description

Problem to solve

The tool does not provide the users visual feedback if the tool has broken, is loading, or if the user has done something incorrect.


Acceptance criteria

  • In the same place as the loading indicator (T180083) display the following messages:
    • If only one username has been provided, or if the wiki has not been provided — "Please provide two usernames and wiki to begin."
      • This can be displayed on the timeline by default as a zero state.
    • If there are no results, display "(alert icon) No Results"
  • Use a Bootstrap alert dialog to display a general timeout/failure — "(alert icon) Something went wrong. Please reload or try your query again."
  • Do not allow users to type in the Users input box if there are already two names

Notes

  • The inputs already prevent selecting invalid usernames and wiki.

Event Timeline

@dbarratt and @CSindersWMF

I like the approach of helping user from making mistakes in the first place — the username and wiki options do not allow malformed inputs, so no error messages are needed. We may want to think about making the date range selectors only accept valid numbers, if possible.

But, in some cases error messages are needed. In this case, I think we can have a single placement of error message that changes based on what is happening:

fail.png (857×1 px, 104 KB)

suggestion_message.png (857×1 px, 96 KB)

date_range.png (857×1 px, 101 KB)

Thoughts?

I'm fine with that but I'm not sure if that's the standard error message. Did this come out of the branding kit?

These are the only error messages I could find:

Screen Shot 2017-11-13 at 5.07.33 PM.png (220×671 px, 27 KB)

I can't think of an analogous feature. Maybe search? Here's an example fail state of desktop search. And here's a fail state for a media search inside the VisualEditor:

Screen Shot 2017-11-13 at 5.45.42 PM.png (664×920 px, 42 KB)

Caroline and I met today and decided to split this into two types of errors:

  1. Status indicators, which will be displayed in the main timeline area in plaintext, where the loading indicator also displays.
  1. Error alerts, which will be be displayed in an alert dialog.

@CSindersWMF — please review this ticket and let me know if I've missed anything.

@dbarratt — aside from general feedback on this approach I have two questions: 1) Would it be possible to make the date range selectors reject invalid dates (e.g. June 2017 - July 2016)? 2) should we split the requirement of Do not allow users to type in the Users input box if there are already two names into a new task?

@TBolliger this looks good to me! for status indicators, does this include the subtask of like you entered two users but not a long enough time frame to see if they've interacted?

@TBolliger this looks good to me! for status indicators, does this include the subtask of like you entered two users but not a long enough time frame to see if they've interacted?

Yes. The 'Status indicator' messages are:

  • If only one username has been provided, or if the wiki has not been provided — "Please provide two usernames and wiki to begin."
  • If there are no edits to show but the users have interacted in the past — "These two users have interacted, but there are no edits to show during the selected date range."
  • If the users have never interacted in the past — "These two users have never interacted on the selected wiki."

Do you have any better suggested copy?

Would it be possible to make the date range selectors reject invalid dates (e.g. June 2017 - July 2016)?

I thought it already did? (maybe that only happens when you select and not type?)

  1. should we split the requirement of Do not allow users to type in the Users input box if there are already two names into a new task?

I think that should be pretty trivial.

Could we use a browser alert until we integrate React + OOjs?

Could we use a browser alert until we integrate React + OOjs?

Sure! or use Bootstrap's
https://getbootstrap.com/docs/4.0/components/alerts/

Have you selected a loading indictor? Here are some I've used before:
http://tobiasahlin.com/spinkit/

TBolliger set the point value for this task to 3.Nov 17 2017, 7:14 PM

Have you selected a loading indictor? Here are some I've used before:
http://tobiasahlin.com/spinkit/

T180072: Interaction Timeline V1: Loading indicator

Sounds good to me!

@TBolliger

Invalid date range (e.g. start date is 2017 while end date is 2016)

Is that even possible right now?

@TBolliger

Invalid date range (e.g. start date is 2017 while end date is 2016)

Is that even possible right now?

Yes, you have to manually type it in though. Maybe we should fix that in T180406: Interaction Timeline V1: Better date picker

@dbarratt — I made a small edit to this ticket and a significant edit to T180406: Interaction Timeline V1: Better date picker — Does everything look accurate?

dmaza moved this task from Review to Done on the Anti-Harassment (AHT Sprint 11) board.

Performance issues aside, all the acceptance criteria are met, except for the last, for which I've opened T182831: Interaction Timeline: Currently easy to force additional usernames

Performance issues aside, all the acceptance criteria are met, except for the last, for which I've opened T182831: Interaction Timeline: Currently easy to force additional usernames

Performance issues aside, all the acceptance criteria are met, except for the last, for which I've opened T182831: Interaction Timeline: Currently easy to force additional usernames