Designing with Idiom
Idiom is an object model based interactive system design method that supports the design of system scope, content, functionality, and interactivity. The method encompasses scenario generation; task modeling and description; referent identification; construction of object models of the system domain, the system core and its user interface; and concrete user interface design.
The design process involves visualizing the system and its envisioned use, abstracting models of user behavior and system content and functionality, using these models to systematically design and model significant aspects of the user interface, and using the system and user interface models to design the concrete user interface. These activities (and others) are performed in an interative and opportunistically ordered fashion to accommodate the (mutual) informing, discovery, and learning that characterizes interactive system design.
The current version of Idiom, described here, provides significant support for interactive system designers over and above the more specification-oriented features of an earlier version of Idiom.
Idiom is a design method that incorporates both user interface and object modeling techniques. The development of Idiom started in 1991; the method was later used in several small projects and one larger project (ten people for one year). After the method was described [van Harmelen 1994], the development of Idiom was suspended. In 1997, the method was presented at a CHI workshop [van Harmelen et al. 1997] on object modeling and user interface design, and as a result of strands that arose there, Idiom was redesigned during 1999. Changes included introducing much more support for interactive system designers during the early stages of design, and development of a systematic way of identifying task execution spaces and the objects needed for support of user tasks in such spaces. This chapter describes the development of Idiom circa 1999 and represents a rational reconstruction of a single experimental design study, together with conclusions from that study. The new Idiom has subsequently been used, with greater emphasis on participative design and paper prototyping than is recorded here, for an Idiom tool support project where two designers worked together, sometimes in participatory design sessions with users, for one month. This was followed by a one-person, seven-month implementation phase.
Having been influenced by a rigorous model-based specification method [Jones 1986], the previous emphasis in Idiom was largely on system and user interface specification rather than on support of the activities of interactive system designers. The current enhancements to Idiom incorporate design techniques that reflect modern human-computer interaction (HCI) design practice, particularly emphasizing scenario- and task-based design. The description provided here is a snapshot of a second stage in the development of the method. As such, it does not incorporate descriptions of participatory design techniques or field studies. Both participatory design and some kind of contextual data gathering process need to be formally introduced into the method in the near future.
The development of the first version of Idiom (called Idiom94 here) was driven by two observations. The first observation was that besides expressing the core functionality of a proposed system, object models can also convey significant amounts of detail about the interactivity of the system. Object-oriented specifications of core functionality and interactivity are useful in recording and conveying design information during an interactive system design and serve as references during implementation. The second observation was that it is possible to link renditions of proposed user interactions with the object models explicitly, using pre- and post-conditions over the model state, sometimes in combination with invariants over the model state.
As originally developed, Idiom94 did the following:
It covered the design of both the core and interactive facilities of an interactive system.
It accommodated the mutual informing that occurs during user interface design.
It used graphical and object modeling notations for its modeling component and for specifications of user interaction.
It bound (task analysis-based) user interaction to the object model using pre- and post-conditions.
It allowed different degrees of formality in its models and conditions over those models.
It was designed for use in specifying interactive system scope, content, interactivity, and concrete user interface for systems which were to be implemented with a graphical and/or windowed user interface.
In response to Idiom94's emphasis on interactive system description and specification, the current version adds methodological support for design, particularly by increasing the emphasis on upstream user-centered design activities.1 In addition, some of Idiom94's more formal specification-based approach is removed. Idiom still retains Idiom94's model-based approach to designing and describing interactive systems.
The next section presents a general introduction to and description of Idiom. Sections 3.3 to 3.7 illustrate the use of Idiom, and Section 3.8 presents conclusions and discusses some of the structure of the method.