You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the tour, there is no validation of where you get are in steps, so if you get off-track, you may get blocked. For example, if you open a scene instead of dragging and dropping it from the filesystem dock.
We could try to block these individually in tours, but there are too many possible edge cases: editor shortcuts, clicks being enabled on buttons you haven't thought of, keyboard focus change and navigation through the editor interface... And it entirely depends on the current step and what it highlights.
To me, a satisfying solution for this would be having dynamic branches in the tour, with instructions that pop up if you get off-track. In practice, most steps don't really have too many opportunities for people getting off-track inadvertently. So, this issue is mostly about having tools to help users in necessary steps that are prone to getting off track.
The API could involve using a callable to poll and validate that the user is in the expected context, similarly to how tasks work in bubbles: If the predicate function returns false, immediately jump to a specific step or sequence of steps to get back on track.
The corresponding tour API could look like this: ensure_context(predicate: Callable, corrective_steps: Array[Array[Command]]) (a step is an array of commands). And you could call this as many times as you need in the current step, and reuse these corrective steps. The tour framework could also provide premade code for the most common troubleshooting points.
This requires reworking the framework a bit, so before doing this, I'd like to get wide user testing on a bunch of tours, to see what issues people tend to face exactly, so we can ensure this new system and the resulting user experience is as effective as possible.
The text was updated successfully, but these errors were encountered:
In the tour, there is no validation of where you get are in steps, so if you get off-track, you may get blocked. For example, if you open a scene instead of dragging and dropping it from the filesystem dock.
We could try to block these individually in tours, but there are too many possible edge cases: editor shortcuts, clicks being enabled on buttons you haven't thought of, keyboard focus change and navigation through the editor interface... And it entirely depends on the current step and what it highlights.
To me, a satisfying solution for this would be having dynamic branches in the tour, with instructions that pop up if you get off-track. In practice, most steps don't really have too many opportunities for people getting off-track inadvertently. So, this issue is mostly about having tools to help users in necessary steps that are prone to getting off track.
The API could involve using a callable to poll and validate that the user is in the expected context, similarly to how tasks work in bubbles: If the predicate function returns false, immediately jump to a specific step or sequence of steps to get back on track.
The corresponding tour API could look like this:
ensure_context(predicate: Callable, corrective_steps: Array[Array[Command]])
(a step is an array of commands). And you could call this as many times as you need in the current step, and reuse these corrective steps. The tour framework could also provide premade code for the most common troubleshooting points.This requires reworking the framework a bit, so before doing this, I'd like to get wide user testing on a bunch of tours, to see what issues people tend to face exactly, so we can ensure this new system and the resulting user experience is as effective as possible.
The text was updated successfully, but these errors were encountered: