A Pattern Approach
Jan O. Borchers
Telecooperation Research Group, University of Linz, 4040 Linz, Austria
Music is a structurally very complex type of multimedia information. Today, computer systems easily play back music in high quality, but an ideal system should offer many more, media-appropriate ways to interact with musical data. Users should be able to hum a melody to locate the tune they want, then conduct it, or play to it with adjustable computer support, alone or with others via the Internet. Such interactivity would encourage musical creativity, and let users learn about musical concepts by playing with them. This paper shows how we used a pattern language approach for software design, interaction design, and the application domain "music" to build a system with these qualities.
Designing such a system requires expertise from software engineering, user interface design, and music to be brought together. We used pattern languages to capture and describe this knowledge for all three domains in a uniform way. Pattern languages were originally developed to capture proven solutions to common design problems in urban architecture ( Alexander et al. 1977, 1979). Each pattern captures one such "guideline"; the pattern language connects them into a structure, helping the designer to create an overall design of high quality.
The idea has been adapted successfully by software engineering ( Coplien & Schmidt 1995), and is currently beginning to find its way into human-computer interaction (HCI) design ( Bayle et al. 1997, Tidwell 1998).