A wizard is a user interface element where the user is led through a sequence of dialogs. Unlike most modern user interface paradigms, the user is forced to perform the task in a specific sequence. However, for complex or infrequently performed tasks where the user is unfamiliar with the steps involved, it may make it easier for them to perform the task.
The concept, first introduced in Microsoft Publisher in 1991, was first used in an operating system in Microsoft's Windows 95. The most commonly-used wizard at the time was the Internet Connection Wizard, which was renamed to the "New Connection Wizard" in later versions of Microsoft Windows. This wizard guides the user through the process of creating a connection to the Internet, or to a Virtual Private Network. By 2001, wizards had become commonplace in most consumer-oriented operating systems. In Mac OS X, for example, they are called "Assistants"; some examples include the "Setup Assistant", which is run when one boots the Macintosh for the first time, and the "Network Setup Assistant", which has similar function to the aforementioned "New Connection Wizard".
Web applications, such as an airline booking site, also make use of the wizard paradigm to complete lengthy interactive processes. Oracle Designer also uses Wizards extensively.
By contrast, expert systems guide the user through a series of (usually yes/no) questions to solve a problem, and tend to make use of artificial intelligence or other complex algorithms. Some consider expert systems as a general category that includes all problem-solving programs including wizards.
Wizards were controversial among user interface designers when they first gained widespread use, because they encourage modal windows, which some consider antithetical to proper human interface design. Supporters of the wizard paradigm argue that compliance with what they consider to be arbitrary laws should be secondary to ease of use in interface design.