________________________________________________________________________________________________ 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