Background: I'm designing an onboarding tutorial for my app. You can think of my app as a text editor. The tutorial guides the new user through the basics, but can be skipped at any time. I want to allow the user to redo the tutorial later if they skipped it.

However, it just occurred to me today that the onboarding tutorial depends on the files we created for the new user when they signed up. If these sample files get changed or deleted, then the tutorial wouldn't make any sense.

Now the problem is how do I elegantly reconstructe the new user experience when a user decides to resume the tutorial.

Some solutions I came up with:

  1. If the sample files are edited or deleted, make a note and re-create the necessary files when resuming the onboarding. Pro: straightforward. Con: inelegant in my opinion. Client needs to know the content of these sample documents. From an engineering perspective it's bad. But acceptable if it must be done like this.
  2. Always do the onboarding tutorial in a sandbox, but gives the option to "Save the document to your workspace. Pro: elegant from an engineering angle. Con: extra complexity for the user ("What does it mean to save to my workspace?")
  3. Make the sample files special in that it can only be visible in during the onboarding tutorial. Once you skip the tutorial, it's not shown. Pro: solves the problems above. Con: (1) possible confusing ("Where did the thing I just saw go?") and (2) need to mark these sample files as special files, more code complexity.

I'm inclined towards solution #3 right now. Any advice is greatly appreciated!

1 Answer 1


there was a similar kind of issue, I recently pointed out to the Invision team. Some thoughts:

Users should feel in control - its then they feel happy about using the system. Any automatic, sudden changes in the system - is a bad user experience, and can rub off in the wrong way. We should try to avoid it.

Keeping this is mind, and the scenario at hand - I would suggest couple solutions -

a) One to make the template used for on-boarding as non-editable - Locked. And when an user tries to edit that template, a kind notice can just pop up saying - "Hi Erica, this is a locked template, for your ready reference. In case you want to edit or play around with this one, consider duplicating it." Check quick sketch attached. When user agrees, duplication should happen, unlocking the template, and opening it up - so user comes back to the same screen he/she was trying to edit. Notice the tone of the notification, its as if this is done to help the user.

b) Keep the on-boarding file saved in the app internally (which you use every time you on-board), and show a copy in the users work-space (could call it "on-boarding help file"). This file in the user work-space, has an option to "revert to original" feature. Optionally, you can add this tip in the on-boarding tutorial may be? So in this way, user sees the file, can edit it - and in case they want to refer the original, they can revert. Revert dialogue can ask if user wants to save this edited file also.

Option a) helps user to keep the reference files in view, and he/she could always refer them if needed (since they are non-edited ones). This is again, very context driven.

Option b) simplifies things, and puts the onus on the user. Tending towards your solution 3) but answers the question, "Where did the thing I just saw go?".

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.