Page MenuHomePhabricator

Refine hideAll and endTour behavior
Closed, ResolvedPublic

Description

This is informed by feedback by Terry, and testing with Dan Andreescu.

We should improve this area of the API and GUI with a couple goals.

  1. Make the UI clearer. For instance, the default text

"Close" button that shows on e.g. gettingstarted ends the tour (removes guiders *and* deletes cookie), which is not intuitive. If there is a text button and it ends the tour, it should probably be guidedtour-end-tour.

  1. In some cases, perhaps the X in the right should just hide the guider (currently it will always end the tour too).

We should consider the UX of this, improve the default behavior, and perhaps allow overriding the default in a clear way.


Version: master
Severity: normal

Details

Reference
bz43723

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:26 AM
bzimport set Reference to bz43723.

swalling wrote:

Here's what I propose:

  1. Close actions - the [X], Close button, or outside click - should close that tooltip, not end the tour.
  1. If the user closes a tooltip but then takes the action toward the next step in the tour (such as clicking Edit) then the next tour action happens.
  1. Only the actual end of the tour, or a button explicitly labeled as "End tour", should end the tour.

I also think that, with the addition of 'click outside to close' and the [X] button, we should move away from use of the dedicated [Close] button. This blue button looks like an action item, not a dismissal button, and should probably reserved for [Next] or the like. When testing guided tours I often find myself clicking that close by mistake when I often meant next.

massaf wrote:

I disagree that it's unintuitive to users that clicking the X ends the tour because the user doesn't know what a tour *is*. The only information users have when seeing a guider is that there's something obscuring page content with an X in the top right. We, the developers, know there are more guiders coming, but a user won't know or care. If they click X, they are doing it to close an uninteresting dialog, not because they anticipate another one will be coming with useful information. Sure, we can first show them a guider which says that there are N tips about to be displayed; Wikipedian or not, you can count on most human beings to not read that and immediately dismissing it.

Omitting some less logical permutations, it seems that we have several options for providing tour dismissal to users:

  1. X hides the guider; next guider is triggered by relevant user action; a persistent "Okay" button with a "hide these" checkbox ends the tour at any point. The button advances to the next step unless the checkbox is checked.
  1. X hides the guider; next guider appears immediately; a persistent "Okay" button with a "hide these" checkbox ends the tour at any point. The button advances to the next step unless the checkbox is checked.
  1. X ends the tour; carry a persistent "Next" button until we reach the last step where it becomes "End tour"
  1. We hide the X completely and require users to go through the entire tour; carry a persistent "Next" button until we reach the last step where it becomes "End tour."
  1. We hide the X completely; a persistent "Okay" button with a "hide these" checkbox ends the tour at any point. The button advances to the next step unless the checkbox is checked.

(1) is reasonable, but may create confusion if users weren't expecting another guider.
(2) and (4) are inconsiderate/surprising to our users and therefore unacceptable.
(3) is reasonable, but still may create confusion if users were expecting more guiders after they click X.
(5) is reasonable, but potentially annoying because we don't offer a standard method of dismissal (an X)

Based on this, I'd vote for (5). My gut says (3) is fine because it's doubtful that users are expecting or desiring another guider to appear when clicking X, but that's an assumption that people might not be comfortable making.

Munaf

swalling wrote:

(In reply to comment #2)

I disagree that it's unintuitive to users that clicking the X ends the tour
because the user doesn't know what a tour *is*. The only information users
have
when seeing a guider is that there's something obscuring page content with
an X
in the top right. We, the developers, know there are more guiders coming,
but a
user won't know or care. If they click X, they are doing it to close an
uninteresting dialog, not because they anticipate another one will be coming
with useful information. Sure, we can first show them a guider which says
that
there are N tips about to be displayed; Wikipedian or not, you can count on
most human beings to not read that and immediately dismissing it.

Omitting some less logical permutations, it seems that we have several
options
for providing tour dismissal to users:

  1. X hides the guider; next guider is triggered by relevant user action; a

persistent "Okay" button with a "hide these" checkbox ends the tour at any
point. The button advances to the next step unless the checkbox is checked.

  1. X hides the guider; next guider appears immediately; a persistent "Okay"

button with a "hide these" checkbox ends the tour at any point. The button
advances to the next step unless the checkbox is checked.

  1. X ends the tour; carry a persistent "Next" button until we reach the last

step where it becomes "End tour"

  1. We hide the X completely and require users to go through the entire tour;

carry a persistent "Next" button until we reach the last step where it
becomes
"End tour."

  1. We hide the X completely; a persistent "Okay" button with a "hide these"

checkbox ends the tour at any point. The button advances to the next step
unless the checkbox is checked.

(1) is reasonable, but may create confusion if users weren't expecting
another
guider.
(2) and (4) are inconsiderate/surprising to our users and therefore
unacceptable.
(3) is reasonable, but still may create confusion if users were expecting
more
guiders after they click X.
(5) is reasonable, but potentially annoying because we don't offer a standard
method of dismissal (an X)

Based on this, I'd vote for (5). My gut says (3) is fine because it's
doubtful
that users are expecting or desiring another guider to appear when clicking
X,
but that's an assumption that people might not be comfortable making.

Munaf

I think we will run with what I suggested above for now, with the caveat that we will consider Option 5 you suggested as the ideal end point. See also: bug 44123.

An important note is that with many tours, the user has to take a meaningful action (e.g. clicking preview) to see the next step. This is intentional, because the point of the tour is to make them aware of those parts of the interface.

In other cases, Okay could go to the next step/end the tour if checked.

Thus, in many cases, neither a persistent next button nor "next guider appears immediately" would make sense.

I've commented at bug 44123. I think 1 basically makes sense, with the caveats I mentioned above. I'm not sure a checkbox alone, or a checkbox with Next, makes sense (Okay is more amendable to dual meanings).

swalling wrote:

Alright, the state of the world, as I can see on piramido.wmflabs.org...

  • We've got the Okay button present
  • We've got the Hide checkbox.

The interaction between outside click, ESC, close (X) button, and checkbox is correct. Considering this bug is limited to close/end behavior, I'm going to resolve it. But we have some kinks to work out when it comes to how the tours progress to the next step.

There should be a way to change the default button labels. The defaults of "Okay" for the next button is good in most cases, but--especially for interactive guiders that expect the user to try some specific thing in an edit window--it'd be useful to be able to change that text.

The following approach may help to simplify the decision process for users:

  • Don't show the checkbox on the first step.
  • Show the checkbox in the second step if there are more remaining steps. At this point the user understands that he is part of a sequence and the option of an "emergency exit" makes sense (if there are other steps).
  • Show the checkbox in next steps except the last one.
  • Use "End tour" button in the last one with no checkbox.

The drawback of this approach is that you cannot skip the tour on the first step, but the increase in clarity of available actions may be worth it.