________________________________________________________________________________________________
Author Addresses:
J.A. van Biljon, School of Computing, University of South Africa, P O Box 392, UNISA, 0003, South Africa; vbiljja@unisa.ac.za
P Kotze, School of Computing, University of South Africa, P O Box 392, UNISA, 0003, South Africa; kotzep@unisa.ac.za
K. V. Renaud, Department of Computing Science, The University of Glasgow, 17 Lilybank Gardens, Glasgow, G12 8RZ, United Kingdom;
karen@dcs.gla.ac.uk.
M. McGee, Department of Computing Science, The University of Glasgow, 17 Lilybank Gardens, Glasgow, G12 8RZ, United Kingdom;
mcgeemr@dcs.gla.ac.uk
A Seffah, Department of Computer Science, Concordia University, Montreal, Canada seffah@cs.concordia.ca
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that the copies are
not made or distributed for profit or commercial advantage, that the copies bear this notice and the full citation on the first page. Copyrights for
components of this work owned by others than SAICSIT or the ACM must be honoured. Abstracting with credit is permitted. To copy otherwise, to
republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.
© 2004 SAICSIT
Proceedings of SAICSIT 2004, Pages 111 –113
THE USE OF ANTI-PATTERNS IN HUMAN COMPUTER
INTERACTION – WISE OR ILL-ADVISED?
JUDY VAN BILJON & PAULA KOTZÉ
University of South Africa
KAREN RENAUD & MARILYN MCGEE
University of Glasgow
AHMED SEFFAH
Concordia University
______________________________________________________________________________________________
In this paper the tenability of anti-patterns in Human-Computer Interaction is explored. Patterns have been accepted as being useful in software
development and more recently also in Human-Computer Interaction. A concerted effort is being made in Software Engineering to identify and
document anti-patterns. Patterns and anti-patterns are essentially about transferring captured expert knowledge, therefore compatibility between the
nature of anti-patterns and the nature of the learner’s internal knowledge representation and processing is crucial. This paper addresses the differences
and similarities between patterns and anti-patterns and how this impacts on the mental models and cognitive processing of patterns and anti-patterns.
We present evidence from theories of mental modelling and reasoning that highlight possible significant dangers in the use of anti-patterns to teach
novices Human-Computer Interaction principles. If the notion that the current representation of anti-patterns is not supporting cognitive processing, is
correct, a new approach to structuring anti-patterns is needed.
Categories and Subject Descriptors: H5.2 [Information Interfaces and Presentation]: User Interfaces - User-centered design; Interaction styles;
Theory and methods
General Terms: Design, Human Factors, Performance
Additional Key Words and Phrases: Human-computer interaction, Patterns, Anti-patterns, Mental models
________________________________________________________________________________________________
INTRODUCTION
The use and value of patterns is accepted in the field of Software Engineering (SE) [Coplien 2004, Jézéquel et al 1999].
Patterns for Human-Computer Interaction (HCI) design were first discussed in the late nineties and since then the HCI
community has increasingly promoted HCI patterns as a design tool for user interfaces [Zajicek 2004]. A user interface
pattern, also called an HCI pattern, is generally defined as a proven solution for a common user or usability problem
that occurs in a specific context of work [Dearden 2000, Bergin 2002]. HCI patterns for supporting the design process
and as an alternative/complementary design tool to produce guidelines for designers is slowly gaining momentum [Van
Welie 2003]. Many HCI experts have devoted themselves to the development of HCI pattern languages and patterns,
which are generally perceived to be a useful design tool [Borchers 2000].
An anti-pattern is something that looks like a good idea, but which backfires badly when applied [Mc Cormick
2004]. The use of anti-patterns are gaining general acceptance in Software Engineering [Brown 1998]. The idea of
patterns and anti-patterns can be seen in other domains as well, such as in design guidelines commonly issued by
system manufacturers, which can be categorised as describing what should be done (i.e. prescribe a design model) or
describing what should not be done (i.e. discourage a particular implementation) [Sinnig et al. 2004]. This echoes the
notion of patterns versus anti-pattern