HP Labs Technical Reports
ACE: Zen and the Art of Application Building
Zarmer, Craig L.; Nardi, Bonnie A.; Johnson, Jeff A.; Miller, James R.
Abstract: Task-specific application development environments enable end users to create their own applications. This is advantageous in two ways: users can draw on their own rich task knowledge to create the applications they really want, and reliance on the scarse, expensive expertise of professional programmers is greatly reduced. Extensible systems such as spreadsheets and statistical packages provide a good model for application construction as they allow end users to create complete applications. Such environments eliminate the need for separate user interface builders; the interface is seamlessly created as the application is developed. In this "Zen" process, there is little difference between application development and user interface development. Further barriers are broken down by creating application development components that can continually be edited and refined, so that distinctions among "editing," "building," "application construction," and "finished application" begin to disappear. In this paper we describe ACE, an architecture for building task-specific applications, and the software libraries we have developed to implement this architecture. We show how ACE supports the building of task-specific applications via a range of extension mechanisms from interactive editing by end users to programmer-defined subclassing.
Back to Index