Paul Dourish
Xerox Techncial Report
The past few years have seen a steadily increasing understanding of the need for customisation and tailorability
in a range of computational systems. This has resulted both from a greater understanding of the role of
individual and organisational work practices in human-computer interaction, and from the application of systems
to more complex domains of activity. The increasing requirement that systems provide flexible and
customisable behaviour, and that this customisation reach deeper into the system, forces a reconsideration of
the techniques by which customisable systems are constructed. This paper discusses an architectural
approach which provides a means for building systems supporting deep customisation. The approach is based
on providing an explicit reflective metalevel, allowing the design of computational systems with flexible and
dynamic behaviours. This design approach has been used primarily in the area of programming language
design; here it is considered in application to interactive systems more generally. In particular, an investigation
of the use of this approach in designing flexible CSCW systems is described, and wider implications of this
approach for the notion of deep customisation are examined.
Report number: