Computer applications are designed, used, and assessed by (often unstated) analogy to other tools and devices. When viewed as appliances (e.g., telephones), applications are created and judged according to standards of ease of use and rapid learnability; when viewed, by contrast, as creative media (e.g., musical instruments), standards expressiveness and flexibility become more salient. In designing this second type of application, providing the user with long-term creative power often necessitates an acceptance of various forms of complexity within the application--for example, the application may include a "task-enriched" programming environment; and further, making such an application truly collaborative suggests the inclusion of features and tools that will support users in learning both the application itself (including the programming language) and the domain of the application. This paper elaborates on these observations, discussing the design of collaborative applications for creative, longterm use (and contrasting this design strategy with the dominant current trend in application development). The paper concludes with a brief description of our own efforts in collaborative application design: namely, the programmable design environments currently being prototyped in our laboratory.