ABSTRACT

T he history of interactions between computational machinery and humans has been one of increasing specicity, from the complete generality of machine languages to specialized domain-oriented design environments. However, as designers, we need to balance the ease of use of specic tools with the exibility and scope of general ones. Our research over the last 2 decades has been focused on creating sociotechnical environments to empower human beings as designers and users of computational artifacts. This chapter explores the issues involved with creating environments that broadly support domain activities yet are open enough to accommodate changing user and task needs.