Michael J. Mahemoff
Department of Computer Science and Software Engineering,
The University of Melbourne,
Parkville, 3052, Australia
Email: [email protected]
Tel: +61 3 9344-9100,
Fax: +61 3 9348-1184
(Note: This HTML document has been converted from LaTeX for the purposes of the Interact workshop and consequently there are some small differences from the "official " pdf version.)
My interest in patterns began after studying software process issues and their relationship to usability. There are several difficulties in integrating human-computer interaction and software engineering:
Patterns are an important step towards resolving each of these issues:
In the past few years, many people have helped to bring the promises of usability patterns closer to reality. This section describes some of the work I have been performing as part of my PhD, in conjunction with my supervisor Lorraine Johnston.
Most usability pattern collections to date have been broadly-applicable, which can help provide patterns which are well-proven (because there are many examples to choose from) and aid practitioners, because they can reuse patterns in different situations. However, there is also a need to study usability patterns in more constrained contexts. The main advantage is that several patterns should fit together in a more cohesive manner if they are drawn from systems where the patterns are often applied in tight combination with each another. Thus, it is easier to produce collections of patterns which are more like the Alexandrian notion of a language, as opposed to a bunch of patterns.
In our work, two forms of constraint have been considered. Firstly, we have looked at constraining the patterns according to a particular user characteristic, namely cultural background. Thus, we have developed a high-level pattern language to help developers produce internationalised software. The language has definitive entry points and a clear path towards the final product. A central pattern, Online Repository is shown in the appendix.
A second constraint is domain. To this end, we have been considering usability of safety-critical systems, in conjunction with Andrew Hussey from the Software Verification Research Centre at the University of Queensland. An example is the Conjunction pattern, which suggests critical tasks should be performed more than once. This leads to another task organisation pattern, Transaction, which lets users specify a sequence of tasks before any of them are executed. A strong sense of connectedness arises from the fact that well-designed safety-critical systems usually contain similar features, and these features are combined in similar ways.
I mentioned earlier that patterns can help to resolve the tension between usability and other software factors. In working towards this goal, I have considered how we can produce patterns of detailed software design which facilitate usability. In fact, many software design patterns already do this to some extent. The Command Processor [Buschmann et al., 1996] pattern supports undo, which certainly improves usability, and it is still sympathetic to other design issues.
However, software design patterns which do support usability generally do so when the feature is well-established, such as Undo. As usability patterns emerge, there will be more opportunity to investigate how user-centered concepts can be effectively implemented in software. The constrained-context pattern languages mentioned above are a useful starting point for producing these kinds of patterns. We have also looked at activities which recur across different applications, with a view to capturing ways in which software designers can support those activities.
This pattern is part of the high-level Planet pattern language for providing software to users from diverse cultural backgrounds.
Problem: As you start accumulating Culture Models, you will realise the need to organise them together. How can a collection of culture models be organised in a manner which is useful for software projects?
Forces:
Solution: Create an online repository, accessible to the entire organisation. Compose it of Culture Models all based on the same .
The following guidelines make it easy to access information in the repository:
The following guidelines make it easy to update the repository:
Large repositories can group Culture Models together, e.g. according to continent. This approach can follow the Composite pattern [Gamma et al., 1995], e.g. a model of Europe contains its own information and also contains child models (France, Italy, etc.). When a user looks up a model, information about its ancestor models are also shown.
Rationale: Like pattern languages, repositories of this nature help people reuse existing, tested, knowledge. Reuse of proven concepts involving human-computer interaction are particularly helpful, because people's reactions can be difficult to predict. In the case of interaction with international systems, the case for reuse is even stronger, because more work is required to obtain original knowledge (e.g. travelling overseas, establishing partnerships with foreign consultants).
Examples: Fernandes [Fernandes, 1995] contains some tables showing factors versus culture. However, the text stops short of exhaustively listing this information. One table might show cultures A, B, and C, and a table on other factors might show A, D, and E.
Ito and Nakakoji [Ito and Nakakoji, 1996] discussed a knowledge base for software development organised according to culture.
The authors are currently undertaking a project to build a web-based repository. The intention is that developers and users from around the world will use and contribute to the database.
Resulting Context: The repository enables developers to easily access a corpus of culture-specific information. You can use this information to specify Flexible Functions, an Elastic User-Interface, and Targeted Elements. Incorporate all culture-specific variants of each feature with .
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. A System of Patterns. John Wiley & Sons, Chichester, 1995.
T. Fernandes. Global Interface Design. AP Professional, Chesnut Hill, MA, 1995.
E. Gamma, R. Helm, R. Johnson, and R. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
H. R. Hartson and D. Boehm-Davis. User interface development processes and methodologies.
Ito, M. and Nakakoji, K. (1996). Impact of culture on user interface design. In del Galdo, E. M. and Nielson, J. (Eds.), International User Interfaces, 105-126. John Wiley & Sons, New York. Behaviour & Information Technology, 12(2):98-114, March 1993.
M. J. Mahemoff and L. J. Johnston. Principles for a usability-oriented pattern language. In P. Calder and B. Thomas, editors, OZCHI '98 Proceedings, pages 132-139. IEEE Computer Society, Los Alamitos, CA, 1998.
Position Paper for ``Usability Pattern Language: Creating a Community'' (Interact 1999 Workshop)
This document was generated using the LaTeX2HTML translator Version 96.1 (Feb 5, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split 0 interact1999position.tex.
The translation was initiated by Michael John MAHEMOFF on Tue Jul 27 17:21:16 EST 1999