Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.
One of the key desirables of any company is to minimize the support expenses, for any given product/offering that they launch in the market. The usability design of an application goes a long way in ensuring that the product is easy to use from a user’s perspective. The easier it is for the user to be able to use the application by them, the lesser are the chances that the user would contact the support team to get help on the application. To help the user, some of the artefacts provided by the development team are, help manuals, context sensitive help and possibly a wizard.
What is a wizard
A wizard is a step by step guide which helps the user in their ultimate goal of trying to perform a specific task/goal. For instance if the user wants to create a Symbian project using Carbide, the wizard would guide them through the process, giving the user possible choices and options like what kind of project, the possible name for the project etc. A step by step approach gives the user an idea of what all processes are involved and since the options are displayed to the user in details, the user is able to make a more informed choice.
Some of the possible scenarios where a wizard could be used are:-
- When the user needs to perform a task that can be achieved by performing a series of sub tasks. For instance creating an account on PayPal, the step by step wizard would take the user through choosing a unique email id, password etc, then linking the bank account etc.
- When the user lacks the technical/domain knowledge to use the application or the specifics of how to get to their desired goals through the product.
- When the information that the user is expected to understand is complex. For instance while trying to install an application the user group would be varied where for some of them they can customize the setup as they understand the process while for others they might want the installer to give them choices with detailed information on how to proceed with the setup.
Help the user
Since the purpose of the wizard is to help the user it would be a good idea to summarize the outcome of the process to the user and arrange the overall flow of the wizard in a manner in which the user understands what part of the overall process they are in, and what can they expect next.
The navigation pattern of the wizard should be intuitive, i.e. should be in sync with the information entered and whether they satisfy the conditions to proceed to the next level or not. For instance if the user provides a wrong username, the wizard should ask the user to enter a valid name for before allowing them to proceed to the next level. The intermediate steps of the wizard should have previous/next buttons so that the user can revert back and make changes in case they so wish, wherever possible the user should also have the choice to skip certain steps. For instance while creating a user, steps like salary information/marital details etc can be made optional and the user can decide to skip them without impacting the overall process.
More often than not the users using the wizard would not understand the technical complications involved in the process/task at hand. So it is important to carefully use the wordings of the wizard and to also provide default choices to the user to help them make decisions. Since the user is not familiar with the technicalities, the default choices would help them understand what is expected and what would be a proper value for the given field/step.
Make the interface such that the forward or next button is active by default. In case of taking user input, place the text cursor in the first editable field so that less effort is required from the user.
Provide clear error messages
Error messages should clearly display the problem to the users. Also providing suggestions to them on how to proceed next.
Keep it simple and minimal
The average user is very impatient while using the application and especially with the wizard, because they want the latter to the helpful and to the point, minimizing both the amount of time taken to complete the process and the amount of information the system expects of them. So it is very important to keep the wizard process as short as possible lest the user gets bored and abandons it before being able to make it to their goal.
One of the most important limitations with the wizard is that it can be used only when the final task can be broken down into sub steps or sub-sub steps. If the overall process cannot be bifurcated the wizard pattern would fail.
--- Added by Mayank on 28/06/2009 ---