We have an application that various other departments will use to create questionnaires. These questionnaires can hide or show extra questions based on responses to previous questions.
When creating the questionnaires, authors may decide to display completion as a percentage or with a progress bar, with the progress bar working off of author-defined milestones.
Because of the dynamic nature of the questionnaire, we can't reliably know how many questions the user must answer. We have agreed it is bad to show negative progress, so for percentages we assume all questions will be shown and if we pass a group of questions that we will not show, the percentage may jump a significant amount (e.g. progress may move from 5%, to 10%, to 15%, then we skip a group of questions and end up at 70%).
Our progress bar looks something like this:
(O)===(O)===(X)---()---()---()
or
(O)===(O)===(O)===(O)===(X)---()
We aren't sure to handle the dynamic questions for this display. We have discussed a few options:
1) Only show the extra milestones once we know they are necessary. We don't like this, because we feel this is similar to reducing progress percentage -- suddenly the user is ambushed by extra work, or so it would seem.
2) Stop showing the milestones once we know they aren't necessary. This may result in, for example, a user going from step 3/8 to step 4/5. We are worried this may confuse users as it changes the number of apparent steps.
3) Show all the milestones, but simply skip ahead in the display. This may result in the user going from step 3/8 to 7/8. We are worried this ALSO may confuse users as they won't know why they have been moved forward or why they don't have access to those questions.
We are leaning towards option 3.
How should we best solve this problem? Are we on the right track with option 3, above? Is option 2 better and we just worry too much?
If we skip steps, as in option 3, should we differ how we display the skipped steps from how we display completed steps?
If it matters, the questionnaire authors will be typical office staff (not technically inclined) so we can't guarantee we can pass the problem off by training them to build questionnaires and choose milestones based on progress bar limitations. End users (people taking the questionnaires) must be assumed to be relatively uncomfortable with technology in general.
