| 1.1 | Why User Interfaces Matter | 1 |
| 1.2 | Interdisciplinary Design and Its Problems | 3 |
| 1.3 | Capturing Experience | 5 |
| 1.4 | A Pattern Framework | 6 |
| 1.5 | How This Book Is Organized | 7 |
| 2.1 | Pattern Languages in Architecture | 9 |
| 2.2 | Pattern Languages in Software Engineering | 22 |
| 2.3 | Pattern Languages in HCI | 26 |
| 2.4 | Pattern Languages in Other Disciplines | 43 |
| 2.5 | A Comparison of Central Pattern Collections | 46 |
| 2.6 | Pattern Language Framework Requirements | 47 |
| 3.1 | A Formal Model of Pattern Languages | 52 |
| 3.2 | Pattern Languages in the Software Lifecycle | 54 |
| 3.2.1 | The Usability Engineering Lifecycle | 57 |
| 3.2.2 | The Pattern Framework in the Lifecyle | 58 |
| 3.3 | Time in Patterns | 63 |
| 3.4 | Patterns and Their Components in Detail | 64 |
| 3.4.1 | Name | 65 |
| 3.4.2 | Ranking | 66 |
| 3.4.3 | Illustration | 66 |
| 3.4.4 | Problem and Forces | 68 |
| 3.4.5 | Examples | 69 |
| 3.4.6 | Solution | 70 |
| 3.4.7 | Diagram | 71 |
| 3.4.8 | Context and References | 71 |
| 4.1 | Musical Pattern Language | 78 |
| M1 | BLUES STYLE | 81 |
| M2 | COMBO INSTRUMENTATION | 83 |
| M3 | SOLO & COMPING * | 85 |
| M4 | TWELVE-BAR PROGRESSION * | 87 |
| M5 | SIXTH AND SEVENTH CHORDS | 89 |
| M6 | CHORD TRANSITIONS | 91 |
| M7 | PENTATONIC SCALE ** | 93 |
| M8 | BLUE NOTES ** | 95 |
| M9 | TRIPLET GROOVE ** | 97 |
| M10 | WALKING BASS * | 99 |
| M11 | BLUES TEMPO | 101 |
| 4.2 | HCI Pattern Language | 102 |
| H1 | ATTRACT-ENGAGE-DELIVER * | 105 |
| H2 | ATTRACTION SPACE * | 109 |
| H3 | COOPERATIVE EXPERIENCE ** | 113 |
| H4 | EASY HANDOVER * | 117 |
| H5 | SIMPLE IMPRESSION * | 120 |
| H6 | INCREMENTAL REVEALING ** | 122 |
| H7 | FLAT AND NARROW TREE * | 124 |
| H8 | AUGMENTED REALITY * | 126 |
| H9 | CLOSED LOOP * | 129 |
| H10 | LANGUAGE INDEPENDENCE | 131 |
| H11 | DOMAIN-APPROPRIATE DEVICES * . | 133 |
| H12 | INNOVATIVE APPEARANCE * | 137 |
| H13 | IMMERSIVE DISPLAY * | 139 |
| H14 | INVISIBLE HARDWARE * | 141 |
| H15 | DYNAMIC DESCRIPTOR ** | 144 |
| H16 | INFORMATION JUST IN TIME ** | 147 |
| H17 | ONE INPUT DEVICE * | 149 |
| 4.3 | Software Pattern Language | 152 |
| S1 | BRANCHING TRANSFORMER CHAIN | 153 |
| S2 | METRIC TRANSFORMER * | 156 |
| S3 | IMPROVISATION HELPER ** | 161 |
| S4 | MUSICAL EVENTS * | 166 |
| 5.1 | Comparison With Framework Requirements | 170 |
| 5.2 | Pattern Peer Review | 171 |
| 5.2.1 | Summary | 176 |
| 5.2.2 | Positive Formal Aspects | 176 |
| 5.2.3 | Positive Contents Aspects | 177 |
| 5.2.4 | Format Improvement Suggestions | 177 |
| 5.2.5 | Contents Improvement Suggestions | 178 |
| 5.2.6 | Conclusion: Main Advantages | 179 |
| 5.3 | Comparison With CHI 2000 Workshop Results | 179 |
| 5.4 | Evaluation of a Resulting System: WorldBeat | 180 |
| 5.4.1 | Project Background | 181 |
| 5.4.2 | System Features | 182 |
| 5.4.3 | Implementation | 183 |
| 5.4.4 | Usage Scenario | 185 |
| 5.4.5 | Evaluation | 187 |
| 5.5 | Reusing Patterns | 189 |
| 5.5.1 | The Interactive Fugue | 189 |
| 5.5.2 | Personal Orchestra and Virtual Vienna | 191 |
| 5.6 | Study of Didactic Usefulness | 193 |
| 5.7 | Publishing Peer Review | 195 |
| 5.8 | PET: A Pattern Editing Tool | 195 |
| 6.1 | Motivation | 203 |
| 6.2 | Main Contributions | 204 |
| 6.3 | Further Research | 206 |
| B.1 | WorldBeat: Interacting With Music | 221 |
| B.2 | Scenario: A Screen, And Two Batons | 221 |
| B.3 | Start Page: Entering the Exhibit | 222 |
| B.4 | Choosing From Six Components | 222 |
| B.5 | Virtual Baton | 223 |
| B.6 | Joy-Sticks | 223 |
| B.7 | Musical Memory | 224 |
| B.8 | Query By Humming | 224 |
| B.9 | Musical Design Patterns | 225 |
| B.10 | NetMusic | 226 |
| B.11 | Leaving the Exhibit | 226 |
Jan Borchers <borchers@stanford.edu> • Last modified Apr 10, 2001 10:01 AM