ABSTRACT

Software rarely satisfies all of the needs of its users. For this reason, many software packages provide mechanisms for user customization (such as specifying colors) and extensions (such as providing a mechanism to bind

368 Guzdial, Reppy, and Smith

a special function key to a series of commands). The final extrapolation of this customizability is for users to actually program their applications, to add extensions or even to create new applications. This can be an intellectually challenging task. One proposed technique, promoted in Chapters 2 and 3 of this book, is to build applications from independent components, that can be individually purchased and combined by users. Our working group was charged with the task of examining the barriers (social, psychological, and technical) that hinder users from programming their applications. In particular, we discussed the component approach and dealt with factors that might enhance or impede its success.