What is wu - and how did it arise?

Browse the language Look at an example pattern sequence Structure of the patterns
Comment on Wu Contributors Return to TriReme home page Links to related sites

Because the language is concerned with web usability and because we want to emphasize that it is a language rather than a pattern catalogue, it is tempting to call it wu, acronymically. This is serendipitous since Wu is a natural language, or perhaps rather a group of dialects, spoken in eastern China. The best known of these is Shanghaihua (Shanghainese). Wu is also a common family name and the designation for one of the historic Three Kingdoms (A.D. 220-265). If you ever find the need to say it out loud, beware. Pronounce it as though it were followed by a question mark: i.e. with a rising tone. Otherwise you could be saying something quite different – and possibly improper. To avoid embarrassment and ambiguity we have used the simplified Chinese character for Wu as a graphical motif throughout this text: signifying nothing in particular! So, with no apology to those of you who couldn’t care less, back to business.

Using the language
The simplest way to use the wu language is to consider pattern number one (ESTABLISH THE BUSINESS OBJECTIVES) first and then follow the links to the other patterns. It is best to have a concrete problem in mind when doing this. Eventually you will reach patterns that are terminal. You can also construct sublanguages to deal with specific design problems or specific kinds of site (click on 'Look at an example pattern sequence' above).
The language consists of a network of highly interconnected patterns. Generally speaking these links represent the order in which one would use or consider the patterns in the design process. In order to simplify the language as much as possible, we have tried to stick as closely as possible to a hierarchical structure. However, to do so everywhere would take away some of the language’s power.
To assist in presentation and navigation we have divided the language into four sections, representing roughly the temporal order in which one might use them. These sections have been labelled as patterns for:
o getting started on your site (diagram 1);
o enhancing usability (diagram 2);
o adding detail (diagram 3); and
o dealing with workflow and security (diagram 4).
Pattern numbering is continuous across these sections to emphasize their rather arbitrary nature. Each section starts with a map of that section of the language that provides a high level overview of the section and – on the web site – provides primary navigation. The maps, although not the sections, may overlap slightly. In these maps, the patterns are classified into abstract, concrete and terminal patterns as shown by their colour coding.

Abstract, concrete and terminal patterns
Abstract patterns represent the codification of principles, often derived from subjects such as cognitive psychology or ergonomics. Unlike concrete patterns, they usually have no initial context. An example of an abstract pattern that derives more from common sense than from scientific endeavour is KISS (38). This pattern encodes the principles of simplicity that Jakob Nielsen has argued for so cogently and passionately over the last few years. There can be no context for such a principle; its just always a useful one and informs the way downstream patterns are applied and interpreted.
Concrete patterns are patterns in the usual sense and we discuss their structure in detail at the beginning of Section 3.1.
Finally, some patterns are terminal with this language.

The scope and boundaries of the language
Patterns being terminal does not mean that design thinking stops with them – merely that the language considers the further design issues as beyond its scope or ambitions. For example, we do not consider patterns that do not concern usability specifically. Such patterns evidently exist: detailed patterns for attracting more visitors to your site or upping advertising revenue for instance. The other cases where the language terminates abruptly usually concern areas of some complexity that, in our opinion are deserving of pattern language in their own right. The examples that spring to mind are designing sites for the physically or mentally handicapped and making the site attractive to look at – the sort of thing that you need a good graphic designer for. Clearly, both areas concern usability but we quail at including the complexities of these topics. First, it would make the language large and large things are generally unwieldy and hard to use. Secondly, we do not feel especially competent in these areas. We would encourage those others who are competent to set about building languages for these important topics.
Personalization is a borderline case. It is clear that personalization influences usability but it is not clear exactly how. One can state that when personalization works usability should be enhanced but it is possible that badly thought out personalization could make a site less usable for some of its users. For example, we recall being irritated by Amazon’s ‘recommendations’ on several occasions – not a very serious defect admittedly but bad nevertheless. We decided not to include it within wu because we felt that not enough was known about it at this time to justify its ossification in a pattern. So, while it is an important and interesting topic it remains out of scope at present. Work on a pattern language for personalization has been started by Koch and Rossi (2002).
Another case is borderline. Veen (2001) commends the use of cascading style sheets (CSS) to help separate presentation from content, thus assisting with maintenance and usability. CSS is a standard for describing how content should appear on HTML pages by adding tags and instructions to the browser as to how these tags should be rendered. One can control things like founts and margins very effectively in this way – though not as well as with the projected XML tags of Tim Berners-Lee’s semantic web we suspect. In the end we decided that CSS was a technique just outside of the scope of wu, if we had included it we would have called it, following Veen, GETTING STYLISH.
Abstract patterns are never terminal of course.
References to patterns are hyperlinks to the patterns concerned.
Rules are made to be broken. The patterns may be regarded as rules for successful design but it is better to think of them as providing suggestions, guidance and checklists of things not to forget to think about. If you do find yourself treating the patterns as rules then pause. Always consider the likely effects of breaking the rules and ensure that you understand the rules that you are going to break and the justification for doing so.

The origins of wu
This pattern language originated when this author organized a workshop at the OT2001 conference in Oxford, England. He suggested the names and outlines of about 70 patterns based on his own work (Graham, 2001) and other references, notably Nielsen (2000) and Spool et al. (1999). These references were made available to participants during the workshop, so that they could get more detail on patterns that had been inspired by these books.
Everyone was given a hard copy of a list consisting of just the names and, in some cases, very brief descriptions of the putative patterns and a bunch of copies of a blank pattern proforma. They were asked to choose the pattern(s) they had an opinion about or interest in from this list, and find the proforma(s) to go with them. They then had to ‘fight’ for the filled-in forms for the patterns they chose to work on, on a first come first served basis. Participants worked in pairs but these pairs often interacted with each other. They added new patterns using blank proformas. People were asked to classify their patterns and, especially, to note any related patterns. Could these patterns form sequences in the language with respect to some particular web design problem? One pair, for example, focused on workflow-oriented sites. A few completely new patterns emerged and we found some overlap among the starting set. Ian Graham then undertook to write up the work done and publish it on the www.trireme.com site for discussion among the group and comment by other interested parties. It was suggested that the material would appear in book form when it had assumed some degree of completeness.
As a result of the origins of wu, the author’s opinions are often expressed in the first person plural. This is not the royal ‘we’ by any means; it expresses his humility in the face of the realization of how few of these ideas are original. Rather it represents the we of collective ownership and origin. Of course he also uses the ‘conspiratorial’ we to convey a shared understanding or effort by reader and author.

Acknowledgements
Those in attendance at the original workshop, are listed in 'contributors with other, subsequent reviewers. My thanks to all their contributions, which are acknowledged pattern-by-pattern.Four of the patterns were subjected to a rigorous critique at EuroPLop 2002.