We are in process of creating guided user experience for simplifying onboarding on multiple processes, services and teams. End User will be tech users only.

Our web application will create multiple steps (it could be more than 7-8 to 20 steps). Some steps are independent while others are dependent on previous steps. Steps can be grouped like 3-4 steps per group.

If I use Progress Tracker with 20 steps I am facing 2 problems.

  1. So many steps will create confusion.
  2. How can I inform user that some steps are independent can be done in parallel.

Consider I am making a group of 3-4 steps then if I use Horizontal progress tracker per group and vertical steps within group, then how can I give clear view to user about steps which can be executed in parallel ?

Is there any better intuitive UX by which we can inform users that these steps can be done in parallel and some steps can be done only after completion of previous ones ? Also how we can show overall progress ?

  • Does 'In parallel' mean 'Independently'? User is 'single-threaded' and can't act 'in parallel', he can 'switch context' but this is different thing. Does switching context really help to achieve final result? If so - in what way?
    – Serg
    Apr 5, 2021 at 10:02
  • Yes it is independent. Completing those takes time in days since it is dependent on another approval. Meanwhile user can go to other steps and starts executing those. Apr 5, 2021 at 10:16
  • Does these items are completely independent? If so could they be gathered into separate groups(s)? So you may have several independent subprocesses which may produce not steps but a kind of checklist with stepped instances.
    – Serg
    Apr 5, 2021 at 10:22
  • Yes. Some are completely independent. Example: Group1 has 5 steps. Out of which 3 are independent and 2 are dependent steps. Group 2 has 6 steps/processes, out of which 3 are independent and 3 are dependent. Both groups are also independent. These steps/processes can take weeks to complete. Apr 5, 2021 at 14:17

2 Answers 2


Non-linear interfaces have pros and cons that go beyond the UI layout. Consider your intended and likely use cases carefully.

I've tackled similar requests a variety of times over the years. There are occasions where the desire for non-linearity comes from the users, but they are rare.

Humans are linear beings. Unless you have a system where multiple users are interacting with a single form simultaneously, your single user can't really multitask. (They can't physically fill out steps 1-4 at the same time they do steps 5-8.)

When presented with a single list of steps, users will tend to start at the top and move through them each in turn. Even if they can skip right to the middle or end, they usually won't because they have to do all the steps eventually anyway, so the might as well do them in some sort of order. It's inefficient to jump around randomly, so they go with the order they are on the screen as the path of least resistance. If you have some cases where things must be done in order users will likely adapt to doing everything else in order too, since there's not much of an interaction downside.

For example, think of filling out your name and address to ship a package. Nothing stops you from filling out your state first followed by your last name then your street and so on. But why bother?

Users may be motivated by things like a desire to pause at a random step so they don't lose work if they get interrupted or wanting to be able to return to edit a section without redoing all the steps, but these things lead to a non-linear interface as a side effect, rather than as the desired goal.

If you really have steps that need to be done in parallel (they take a long time, or something) structuring them as 3 columns of 5 steps will help convey that they are separate more than 1 column with 15 steps in groups, especially if each column has it's own completion percentage.

Another possibility is to design things similar to most tax software: groups of questions that can be done in any order, but the overall order of the groups is fixed. They also decouple saving and submitting the data so that users can jump around as much as they want without losing work, but when they think they are done there's a final step to review the information before it is all submitted.


I suggest using 'action' and 'milestone' instead of 'step' and 'group'. Action has a beginnig and an end. Milestone has a list of actions that begin and actions that end. Actions may have dependences inside one milestone or between milestones. Milestone could be marked as completed when all its actions began or ended. Thus clicking on milestone user can see what he should begin and what to wait for ending. If everithing began and everything ended milestone is marked as completed and user can explore next milestone. The side advantage of this structure is that it could have some elements of dynamical modifications depending on actual user actions. Also user need to pay attention only to one uncompleted milestone.

Your Answer

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

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