Examples of tasks that would benefit from a wizard are software installation, software setup, and product configuraton. These are all tasks that the user does not perform very often, and generally require detailed knowledge of the particular product being installed or configured. The wizard provides task-specific feedback to users at the most important time: when they are actually trying to perform the task.
The wizard architecture follows a strict client-server model to enable wizards to be run remotely. The user interface of the wizard can be displayed on a different machine than the one being affected by the wizard. For example, an install wizard could be used to install software on one machine (xray), by using the wizard user interface running on a different machine (xenophobe).
The most predominant solution for providing this remote effect on Unix is to write the application with the X window system API. The remote feature of wizards should be more universal than the Unix approach. The user interface for a wizard should be platform independent. It should make no difference whether it is displayed on Windows 95 or Solaris. The server side of the wizard (the set of classes that complete the desired task) may be more platform specific.
To facilitate a platform-independent solution, the wizard architecture is implemented in Java. This enables the client side classes to be displayed in a browser. The client and server parts of the wizard are connected together either directly, when the wizard runs as an application, or through Remote Method Invocation (RMI) when the wizard client runs in a web browser. Some operating systems do not install TCP/IP unless a network card is installed in the system. Because RMI requires TCP/IP to be installed on the system, RMI must be an optional addition to facilitate remote use.
Wizards are packaged in a wizard archive. This archive is essentially a java class file that contains every resource required to execute the wizard. The required resources include: supporting Java class files, image files, initialization data, the sequence of wizard panels, and other information required by the specific wizard application. To execute the wizard, the user simply runs the Java Virtual Machine on the wizard archive. The supporting class files and images are extracted from the archive as the wizard initializes.
Generating a wizard involves creating the user experience (the panels the user experiences when running the wizard and the order of those panels), creating the set of tasks required to perform the desired action, and creating a builder that will write the wizard archive.
Last modified: Fri Nov 25 16:48 PDT