I need to create a wizard which has numerous sections, each with multiple questions. How can I improve the experience for the end-user?
|
|
My first suggestion would be to try to eliminate as many steps as possible. Really think about the flow, what's required, etc. Some tips to make a long process more friendly:
A side note (hopefully not stirring up the flames): Apple hardly ever uses Wizards for set-up processes, and when they do, the Apple set-up assistants are (in my opinion) always easier to figure out than the Microsoft equivalents. I'd suggest looking at the differences and try to identify the tricks employed by Apple. |
|||
|
|
|
This are the most important I can think of:
Read more on this topic at the Designing Interfaces Wizard page. |
||||
|
|
|
I would put each step into a tab, in such a way that the tabs that are accessible at any point are enabled, the others disabled. In this way, the user can move freely around a correct mistakes without having to go several steps back etc. The enabling of the tabs still stops the user to go to steps that cannot be modified yet, because there is still information missing. |
|||||||||||
|
|
If the process/wizard itself can't be simplified or in some other way reduced, I'd suggest at a minimum indicating exactly where in that process the user currently is. You can do this with something as simple as "Step 6 of 10", or more elaborately by showing a flowchart with the current step highlighted etc. |
|||
|
|
|
In addition to other tips mentioned, use smart defaults for everything you possibly can. If you already have their email address, you can probably take a stab at their name, potential user name, possibly workplace, country of residence (or get that from their IP address or system settings). Here's a small example. Which brings up another source of information: if you are making an app, then there will aready be vast amounts of information available to you from the system. Use it. Thinking about this may also alter the order in which you ask your questions. You can get an awful lot of stuff from just country and zip/postal code, for example. Speaking of addresses, postal addressing systems make use of vast databases of addresses to allow easy error checking of address entries: given the zip/postal code, you may be able to guess after a single keystroke of the street name that the intended address is "Quixotic street", and save many mistyping and spelling errors. You may also know the range of known addresses, and even if certain numbers require additional things like apartment number, for example. Not that you would disallow the user from entering a street name or house number you don't know, but you might warn them with a non-modal 'did you mean...?" type message. To sumamrise: even if it seems like a lot of work on your part which may well be overridden by the user in the end, making life easy for your (hopefully millions of) users is worth it. |
|||
|
|
|
If you have considered all the alternatives mentioned in other answers and have decided that the wizard has to be big then you should consider the following:
|
|||
|
|
|
There are always ways to minimize the size of a wizard, like separating tasks or making some of the steps optional. Some tips:
|
|||
|
|
|
In addition to these great tactical tips everyone has suggested, I'd also recommend you'd do some discount usability testing with people who would be working with the wizard. By walking through the current wizard's pages with users, you can get useful feedback about which sets of fields can be grouped together to make the process more natural for them. In some circumstances you'll find that your users have a greater tolerance for longer forms when they're organized in a way that matches their expectations. r. |
|||
|
|
|
Perhaps a wizard is not the ideal solution here. Does the user really need to choose from a huge list of different options in sequence? Could you default most of the options? If the user needs to change from the defaults they can click a change button to change that particular option. If they can't be defaulted from the start, can you save their previous choice and default those? |
|||
|
|
|
Consider the alternatives to Wizards: Progressive enabling and disclosure. Have all questions on one page, but only show the first chunk of them. Then when user has finished the first chunk you show the second chunk on the same page. Continue like this. That way it is:
With progressive enabling, you have disabled the next chunk of questions until the user has finished the first chunk. |
|||
|
|