"Open Implementation and Flexibility in CSCW Toolkits", Paul Dourish, PhD thesis, University College London, 1996. (pdf) Beyond CSCW this thesis is interesting generally for contributions to distributed systems and to open implementation software architectures.
The term Computer Supported Cooperative Work (CSCW) was coined in the early 1980s. "The use of computer-based tools to enhance and facilitate the performance of collaborative work, potentially distributed in space or time"
The ACM conferences continue to this day. CSCW is interdisciplinary and has branched out to sub-disciplines such as workflow and business process automation.
Anthropologists and sociologists observe that collaborative work...
...is improvised moment-to-moment, according to the particulars of the situation. The sequential structure of behavior is locally organized, and is situated in the context of particular settings and times.
They note...
...the distinctions between the formal processes and procedures which are often encoded in CSCW systems and the informal, flexible and opportunistic practices by which work and interaction actually take place. The flexibility required of systems to support the development of these working practices is, then, a key feature of their design.
Dourish highlights the interdependence between top-down sociological flexibility and bottom-up technical systems flexibility.
In general, the detail of collaborative activity, as explored by the ethnomethodological perspective, is rooted in the detail of the technology available, whether that technology is comprised of everyday physical artifacts or computational ones.
...far from being completely independent concerns, the issues of infrastructure flexibility and usage flexibility are closely related.
This thesis provides "a cross-cutting view of flexibility":
- The evidence of empirical and naturalistic studies of cooperative work demonstrates that usage issues and system issues are fundamentally linked.
- The re-evaluation of abstraction in software engineering, set out by research in Open Implementation, applies to these issues as encountered in CSCW.
- OI/reflective principles can be used to design a novel CSCW toolkit.
- A toolkit built along these lines yields significant improvements in design (and hence, usage) flexibility.
"Collaboration transparency", e.g. allowing single-user applications to be shared, is distinguished from "collaboration awareness", possibly via multiple modes of operation in the same application. Dourish expands on the need for both but his primary concern is collaboration awareness.
The second chapter of the thesis provides a useful overview of a handful of CSCW applications of the 1980s and early 1990s, including how each provides flexibility. The chapter explores in-depth genericity, extensibility, revision, and flexibility in structure and semantics.
The majority of the thesis explores open implementation, computational reflection, and meta-object protocols in support of synchrony and divergence flexibility in the Prospero toolkit for Computer Supported Cooperative Work. Studying this thesis is worthwhile for people interested in open implementation architectures generally and CSCW in particular.