Computer-supported cooperative work has come to signify a process by which a computer system supports the activities of geographically dispersed participants and enables them to share ideas and artefacts. This paper aims to dispel this unified approach to the definition of and in turn the design of aids to cooperative work. The paper starts by surveying the history of the field of computer-supported cooperative work and design. Then, the paper presents three tasks and their associated aids. The first system helps designers to create and discuss a hierarchical building program and share schematic drawings. The second system allows a jury to anonymously review a set of submissions. The third system allows a hierarchically organised group of participants to search, retrieve, organise and share a set of digital media assets. All systems are web-based and use the same underlying object-oriented technology. The paper provides a brief case study that describes the main features of the three pieces of software as an example of the need for a variety of approaches in the support of cooperative work and design. The paper concludes by advocating an object-oriented, domain-specific approach to creating computer-supported cooperative systems based on the analysis of the task at hand.