Abstract

and concrete, because so much about software seems abstract. As a result, the adaptation of pattern languages to software has lost the key contribution of Alexander's work, which was to throw attention onto the users. Software patterns, despite being inspired by Alexander's work, emphasise abstract descriptions of construction and of ornament, not abstract descriptions of user experience. It's time to change that. This article tracks down the history of where we took a wrong turning, and proposes an alternative way forward. Traditional software patterns are concerned with user experience, but mostly with the user experience of programmers. That perspective may sound strange in an HCI context, but it helps explain the popularity of pattern languages in the programming community. If we move from the object world of technical software features to the human experience of structured information - we refocus attention on ways of working, not widgets. Our aim is a pattern language in the sense intended by Christopher Alexander, but a pattern language of user experience design rather than a pattern language of user interface design. This lets us escape shallow understanding of user experience in terms of affect and passive consumption (architects describe this as ornament (3)), to the ways that users perceive and build information structures. Before the publication of the 'Gang of Four' book that popularised software patterns (4), Richard Gabriel described Christopher Alexander's patterns in 1993 as a basis for reusable object-oriented software in the following way: Habitability is the characteristic of source code that enables programmers, coders, bug­fixers, and people coming to the code later in its life to understand its construction and intentions and to change it comfortably and confidently.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call