This mirrors the situation in industry, where people trained in software design and programming are increasingly required to design user interfaces utilising all the possibilities inherent in sophisticated GUI tools. The result can be the software equivalent of the do-it-yourself interior design boom of the late 50’s and 60’s, where the use of new materials—particularly hardboard and Formica, resulted in ugly and dysfunctional spaces. In architecture, it has been suggested, the major take up of Alexander’s patterns has been by do-it-yourselfers designing their own environments (which is what Alexander would want). Perhaps the same is appropriate in HCI design.
This is the aspect of patterns and pattern language which I find most intriguing; that they are an efficient and effective way of encoding and transmitting an aesthetic—a particular set of sensibilities, appreciations and values (in Alexander’s case apparently Taoist, or in the Western tradition, Stoic). The form of patterns and their assembly into a pattern language is a technique that is useful for organising complex design spaces. I suspect that this is the key characteristic that many in the object-oriented community have latched onto. Superficially a pattern language can be regarded as a generalised post-facto design rationale—which of course it is However, for Alexander, it must also accord with a ‘natural order’, that is, capture an ‘invariant’. Presumably, the form of A Pattern Language could be used to structure a design space which accords with a completely different aesthetic—or maybe not, perhaps there is an inevitability in confronting and documenting the “... field of physical and social relationships which are required to solve the stated problem in the stated context.” which leads to a ‘natural’ conclusion.
Hence, for me, it is the very idea of pattern language in HCI design that is important, more than the adoption of any particular pattern language. That is, the acknowledgement that each design decision is required to resolve a constellation of social and technological forces, and that there is an interlocking of high and low level design details. The development of exemplary HCI design pattern languages will be valuable in promoting this idea, but should certainly be represented as highly tentative. Humans interacting with computers has just not been going on as long as humans interacting with buildings!
“We have spent years trying to formulate this language, in the hope that when a person uses it, he will be so impressed by its power, and so joyful in its use, that he will understand again, what it means to have a living language of this kind. If we only succeed in that, it is possible that each person may once again embark on the construction and development of his own language—perhaps taking the language printed in this book as a point of departure,” (“A Pattern Language”, p. xvii)Alexander et al. had to publish their work cast into print. Now, a HCI pattern language can be disseminated in easily mutable form. Multiple pattern languages could be easily accessed, compared, merged and interwoven, and contribute to “... the countless thousands of other languages we hope that people will make for themselves, in the future.” (Ibid. p. xvi) On the other hand, we could develop proprietary pattern languages.........