Mahemoff.com

Pattern Languages For Usability (PLUS)

Putting the Patterns in Context

My thesis was an investigation of design reuse in human-computer interaction. Several techniques were considered, including design patterns. But "design patterns" is a very broad concept; thus, three different approaches to design patterns were considered. The three resulting pattern languages are summarised here.

Published Papers: These are the most important papers published during the thesis.

The pattern languages are summarised below.

How the Languages Vary

At a superficial level, the languages vary in their scope, i.e. the type of system they can support. However, a deeper point of variation is their integration of HCI issues with detailed design/implementation. That is, the activities which would be performed by a requirements or HCI specialist, versus those which would be conducted by a software designer or programmer.

The Safety-Usability Patterns language is purely concerned with "high-level" system aspects - i.e. requirements, user-interface, usage context. (This language was developed in conjunction withth Andrew Hussey at the University of Queensland.)

The other two languages incorporate detailed software design, and in different ways. Planet begins with a number of high-level patterns, and then follows through to detailed design patterns which support their implementation. Thus, there is a distinct split between high-level and low-level patterns.

An alternative strategy to incorporation of detailed software design is followed by Multiple Model-View-Controller. In Multiple Model-View-Controller, each individual pattern is a hybrid of HCI and software design. Essentially, the language guides on developing scalable systems under the Model-View-Controller paradigm. This basic goal concerns detailed design, but each pattern also incorporates usability advice that developers should consider when architecting and implementing their MVC system. For example, how should typical user tasks (e.g. edit, create, remove) be supported under an MVC architecture? The solution takes into account software usability as well as code maintainability.

Planet Pattern Language For Software Internationalisation

Multiple Model-View-Controller (MMVC) Pattern Language

Safety-Usability Patterns

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.