From a programming perspective, the Mechanical Wizard system is best described as a "task browser." As a "web browser" used to view and navigate pages on the Internet, a task browser is used to view and navigate tasks in an engineering system. A web browser accesses HTML files and resources on a network; a task browser accesses TaskML files and resources on a network.
TaskML is an XML vocabulary that defines the rules and data necessary to display and process pages of tasks in the Mechanical application. Like HTML, TaskML allows for general scripting and for inserting arbitrary HTML content and user interface controls. Basic wizard customization using TaskML is similar to working with HTML and requires only a text editor.
The Mechanical Wizard runs as a web application (specifically, a dynamic HTML page) inside of a web browser control (Microsoft Internet Explorer). The web browser control is hosted by the Mechanical application. Consequently, the Mechanical Wizard system has full access to the capabilities of the web browser and the Mechanical application. Development of the Mechanical Wizard involves use of the HTML, CSS, XML, JScript web standards, and, for access to and automation of the application, use of the Mechanical application object model. The Mechanical Wizard displays tasks organized into groups. A task displays a caption and a status or descriptive icon. Activating a task (by clicking) typically involves automatic navigation to a particular context and selection in the user interface and display of a "callout" with a text message pointing to a specific control. Custom tasks may perform any operation via TaskML elements or scripting.
The Mechanical Wizard responds to events that occur in the Mechanical application. Adding a load is an example of an event. When such an event occurs, each task is given the opportunity to determine its status or take an action.
The user may open a TaskML file inside the Mechanical Wizard from their local disk or from a network location. Therefore, saving TaskML to a network server makes custom wizard definitions available to any user with access to the server. Additionally, the Mechanical Wizard system itself may be run by any number of clients from a network location.
TaskML, along with HTML and scripting, offers an efficient and powerful means of extending the Mechanical application user interface.