42

I am using a wizard dialog with 4-5 steps to let users input data of a business object. The data on the different steps of the wizard is not interdependent and the order of the steps feel natural when creating the object, at least in my opinion. Creating and editing objects takes place in the same wizard. So far so good.

Now there are common cases where users need to edit a certain specific field of the business object. Because the field is on the initial page of the wizard, I thought about providing a "Next" and a "Finish" button, so one does not need to skip through all the pages to save the edit.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

Doing this should not lead to invalid or incomplete data, since validation would take place with every click on "Next" or "Finish" and the object would be complete after the initial creation wizard.

Are there issues with this concept?

What else do I need to consider?

  • 107
    When I saw this question in HNQ I though it was going to be on rpg.SE... :-) – R.. Oct 25 '16 at 15:51
  • 18
    It seems if this is a common workflow to just do a few of the steps and there is no interdependency it is probably ill suited to a wizard – Vality Oct 25 '16 at 21:41
  • 20
    A wizard completes precisely when it means to. <insert Gandalf pic here> – Izzy Oct 26 '16 at 12:46
  • 7
    If, from a perpective of required data, it's OK to skip the wizard, then why annoy your users with this abomination of an UI in the first place? Wizards are sooooooo mindboggingly annoying. – Damon Oct 26 '16 at 13:51
  • 2

10 Answers 10

40

In my opinion it would be better to distinguish between creating and editing the business object.

For creation a wizard is fine. Besides the next button it could also have a finish button if the current and all following wizard pages only had optional information as input.

For editing an existing object a tabbed dialog could be a good choice, since allows the user to directly navigate to page or pages that should be modified.

  • 14
    Concur. Wizards are not meant to be used for editing for the reason that they are cumbersome and very hard to use. – user8356 Oct 25 '16 at 19:03
  • 6
    Agreed, the wizard is inappropriate for editing. Also the finish button in the creation context will throw validation errors if the user tries to exit before the guided process is over. It's better to have no button than asking the user to correct mistakes. – Andre Dickson Oct 25 '16 at 19:50
  • 5
    I agree that a wizard is the wrong input for editing. Especially given that the Next and Previous buttons give no context as to what additional fields exist to be edited. In practice, the user will have to navigate through to the end in order to confirm that they are, in fact, "finished". – Harrison Paine Oct 25 '16 at 20:20
  • 4
    Adding my agreement that a tabbed interface would be much better here. – Nick Coad Oct 26 '16 at 3:19
  • 1
    @AndreDickson: "the finish button in the creation context will throw validation errors if the user tries to exit before the guided process is over" - disagree. Of course, the Finish button should only be available when the user does not have to visit the remaining pages, but if that's the case (because, for instance, the remaining pages may be safely left empty or with their default values), providing a Finish button for quitting early will make all users that use the wizard more than a few times with default settings happy as they won't have to click all the way to the last page. – O. R. Mapper Oct 26 '16 at 9:12
49

The concept is fine, but "Finish" is ambiguous as a label. It's better to more specific about what will happen if you press the button, for example "Save and exit".

  • 12
    @J_rgen if you have space (luxury thing...) you might want to make meaning clear. Something like "Continue later" or even "Close to continue later" however I'm not sure if a wizard is the best tool in this case. If procedure is so long and convoluted/time consuming that you may want to save progress for later then wizard may be confusing because users will forget what they entered in the first steps and they have to navigate back/forward one by one (see also Kristiyan Lukanov's answer.) I (my opinion, of course) usually don't appreciate such long wizards. – Adriano Repetti Oct 25 '16 at 15:38
  • 4
    The use of the wizard for editing has problems beyond the Finish label as @AdrianoRepetti has pointed out. It is hard to navigate to the fields and there is the added complexity of the validation needed to prevent the Finish button being misused during the creation process. – Andre Dickson Oct 25 '16 at 19:56
  • 2
    "Finish" has been the standard label for exiting a wizard early for at least 20 years (Windows 95 used it in some of its setup wizards). – Mark Oct 25 '16 at 21:16
  • 1
    @AdrianoRepetti: "wizard may be confusing because users will forget what they entered in the first steps and they have to navigate back/forward one by one" - if the wizard is well-designed, the content of each page is chosen such that the user does not need to remember what they entered before. In other words, one of the purposes of using a wizard interface is to allow the user to focus on the contents of the current step and safely forget about anything else. – O. R. Mapper Oct 26 '16 at 9:10
  • 1
    ... I suspect the idea for the English word is that you make some settings (that you might otherwise not have found) and a result is created with relative ease. That is indeed quite abstract, compared to the Italian "procedura guidata" that literally says what it does, and also compared to the German "Experte" (which suggests that the task can be done without the wizard - it's not magic -, but the wizard/"expert" knows what they do and thus ask exactly for the required data in an appropriate order and directly lead to the desired result). – O. R. Mapper Oct 26 '16 at 10:48
19

Keep the Finish button

There is nothing wrong with the Finish button because it provides an exit shortcut for users who want to save and finish the process early. Otherwise, users who want to edit just the first page of the wizard, should click 4 times next until they can save and close the form. That's 4 unnecessary clicks.

Add a Stepper progress bar

The thing you can do to improve the navigation of the wizard is to add a stepper progress bar. The users should have the ability to go to each step from that step bar. This will assure for even faster access to specific wizard steps. It should be possible in your case, as you pointed out that the data is not interdependent.

enter image description here

Here is a quick mock up of the design:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

  • Is distributing data that would fit on one or two pages over five pages even a good idea (if the mockup is true on the items per page count)? – rackandboneman Oct 25 '16 at 16:04
  • 2
    @rackandboneman Yeah if there are 3 fields per step it could be much better to have all the information on 1 page. He can use visual grouping of the different steps, rather that splitting the wizard on 5 pages. This way a lot of unnecessary clicks will be saved, and users will have the ability to recheck the entered information. The page will progressively unveil. However, we don't have much information about the context and the process we are trying to give advice for. – Kristiyan Lukanov Oct 25 '16 at 16:26
9

It is definitely a good idea.

I have used this approach - at a particular point in our wizard, the wizard has captured the important stuff it needed, so we allowed our users to finish the wizard early if they wanted too.

I had to make sure the appearance of the Finish button was really obvious - some early usability testing showed some people didn't see it appear and didn't realise they could finish the wizard early.

So not only did we make the Finish button briefly glow/flash a few times when it appeared (to make sure people were alerted to it), we also displayed a short message explaining they can finish now if they want to - this message faded out after 5-6 seconds and actually only displayed the first few times the user used this wizard.

enter image description here

  • 8
    My concern would be the opposite. What if users see the Finish button first and assume that there is nothing more that the current page? – J_rgen Oct 25 '16 at 13:07
  • 1
    Obviously every design problem is different - I just answered that the principle of finishing early can be a good idea. In my situation, the early finish point occurred halfway though the wizard. In your situation you are showing Finish in the first step, so you probably need to display a short message communicating you can finish early or can continue going through the wizard (mentioning whatever benefit there is to doing so). – SteveD Oct 25 '16 at 13:13
  • 3
    My concern with wizards with optional steps is that it's difficult for the user to know that the future steps are optional. Next doesn't tell the user anything about what is actually coming up next, so if they haven't memorized the UI, they don't know if they're actually finished until they get to the final page anyway. – Harrison Paine Oct 25 '16 at 20:22
  • @HarrisonPaine If this comment is related to my post - we use other wizard features to communicate what steps are mandatory/optional, e.g. a Stepper progress bar, etc. – SteveD Oct 26 '16 at 11:01
  • @SteveD My point was that unless the user may not be aware of what the optional options are, unless they hit Next. So let's say I'm trying to input data for an object with properties: A, B, and C. If, after inputting A and B, I'm allowed to Finish I may assume I'm done and completely miss the opportunity to input C. – Harrison Paine Oct 26 '16 at 12:19
5

The primary benefit to a wizard, rather than displaying all the input fields at once, or in categorized tabs, or some other UI element, is that it organizes steps that must be taken in a specific order. An additional benefit is that the Next step may be different, depending on the input performed in the Current step.

Allowing the user to Finish early indicates that the action is not really a series of ordered steps, but more like some mandatory and some optional actions.

Let's assume we have such a wizard, and after step #3, the remaining steps are optional and the Finish option is enabled. As a user, unless I have seen this exact wizard before (and memorized it), I don't know if I'm actually finished though, because I don't know what the Next page looks like. I'm either going to click through the remaining pages of the wizard and do nothing, or hit Finish early and miss out on options I'm not even aware of.

  • So you're saying the application should keep track of whether the local installation/user has gone through the entire wizard at least once, and only after that enable the Finish button (in your example) starting at step #3 to allow for an early exit? – O. R. Mapper Oct 26 '16 at 9:15
  • @O.R.Mapper It's not glamorous but a list of fields with some marked as required would get the job done in both the initial creation stage and the later editing stage. Also, it would allow you to put the fields in any order, rather than forcing the optional ones to appear at the end. – Harrison Paine Oct 26 '16 at 12:13
  • Based upon the wizards I have created in my applications, I have realized that in most cases, bringing the settings into a pre-determined order would bring the most important or "basic" settings to the front and the optional ones to the last few pages, anyway. Hence, the final pages are often automatically optional. Of course, nothing keeps you from marking fields as "required" or "optional" on wizard pages, as well; the important advantage I see in the ability to finish a wizard before reaching the final page is that users who already know the UI and know all relevant settings have been ... – O. R. Mapper Oct 26 '16 at 12:49
  • ... changed can click Finish without losing any further time by clicking through the entire wizard until reaching its end. Even so, rather than considering fields as "required" or "optional", I generally prefer to have optional fields activatable (by placing a checkbox next to the field), as that allows for more consistency in case an empty string is a valid input that is semantically different from not setting the field. With such checkboxes (and the respective fields being accordingly disabled while unchecked), there is no need for explicit "required" and "optional" markers. – O. R. Mapper Oct 26 '16 at 12:50
2

Some people may want to fill in what is on the third step but finished early without even knowing what it was. Instead of using a finish button to complete the wizard without seeing what other steps there are, use a skip button instead. You said that you prefer not to use this option, but you should still provide all the information to the user anyway. This way the user knows exactly what they could have done in all of the steps but may choose not to do them.

Skipping is still one of if not the best option for these purposes.

1

You cannot trust your data will be complete or valid the second time you enter the wizard, because even if it was valid and complete at first, data can be transformed or altered later by another process later.

The best approach I know for wizards is

  • perform validations individually on each "Next" button pressed
  • perform a complete validation at the "Finish" stage that includes all previous validations and other type of them if needed
  • if in some random step "Finish" is pressed, you take them to the last step where they can see a summary of the data entered, or all of it if that's not much
  • The user is presented with the validation problems there if any, or is given the chance to save if everything is fine

With that approach users are free to go back and forth or straight to the end, everything will be clear to them as a summary is presented at the end, and you can be sure your data will be valid according to your validations.

0

I would say it differs. How important is the information users won't add if they exit right away? How easy is it to change?

I think it's a very good idea as long as it's obvious what fields are left blank, and if users can easily find/change those options later.

0

It's possible to allow for optional pages of supplemental information without deviating from the Wizard pattern if there is a page where the user selects "Use default settings" or "Use custom settings". Although many wizards that ask that don't bother to specify what the default settings are, the words "default settings" could be highlighted to indicate that clicking will show a list of those defaults.

If the user selects "Use default settings", there will be no need to show the wizard pages related to the settings in question. If the user selects "Use custom settings" then having to use the same number of "Next" clicks when the user wants to edit something on the first page (and nothing else) as when editing something on the fifth (and nothing else) should not generally be objectionable. If there are several disjoint categories of settings and a user will often only want to edit one, the wizard could ask default/custom separately for each.

0

It's okay to present a Finish button on or after the last page of required items, even if more optional items may follow. One solid example of this is Eclipse, where creating a "new project" presents a page that has required items, like the name of the project, the default runtime environment, etc. At the bottom of the wizard are buttons for Next and Finish. If you click Finish, you're given your new project. If you click Next, however, you can then add additional software libraries, etc.

You should only present a Finish button if you can complete the wizard without visiting any remaining steps. The first few times a user may use the wizard, they'll be inclined to go to the next page to see what's on it, but as they become more familiar, they'll only continue on if they need the optional settings to be changed. You should not present a Finish button if the user could leave their data in an inconsistent state, or in a state that cannot be easily altered after completing the wizard.

Here's an image from their help documentation:

[New Java Wizard] http://help.eclipse.org/kepler/topic/org.eclipse.jdt.doc.user/gettingStarted/images/wiz_new_project.png

  • I disagree that this is a good idea. Eclipse can perhaps get away with it due to be targeted towards power users, although I've been bitten in the past by its tendency to let me shortcut out of pages in a wizard that I later realize I did need to step through. A wizard is designed to force you through a flow to make sure all required data is entered. If you want a fast, simple action, provide a way of doing it that doesn't use the wizard. – Periata Breatta Oct 29 '16 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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