Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a system to put people back on the right track #1

Open
NathanLovato opened this issue Dec 20, 2023 · 0 comments
Open

Add a system to put people back on the right track #1

NathanLovato opened this issue Dec 20, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@NathanLovato
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant