Self-disclosing design tools: a gentle introduction to end-user programming

Programmable tools for design offer users an expressive new medium for their work, but becoming acquainted with the tool’s language can be a daunting task. To address this problem. WC present a framework for the design of selfdisclosing tools which provide incremental. situated language learning opportunities for designers in the context of authentic activity. By way of example, we present Chat-f ‘II’ At-f, ;1 programmable application for the creation of graphs and information displays. Chart ‘n’ Art employs a wide variety of self-disclosure techniques whose purpose is to introduce users to the system’s “domain-enrich&” dialect of Lisp. INTRODUCTION In the 1950’s and 60’s, literary critic and educator I.A. Richards published a series of books called Latzgmrge fhrough Pictures (Richards, 1973) as a teaching tool for second language learners. Each page of Richards’ book consists of a picture and one or more sentences describing the scene in the language to be learned. By following the sequence of pictures and sentences from simple to more complex situations, the reader is supposed to acquire a basic understanding of the language. Richards’ pedagogical approach is compelling in that it enables learners to teach themselves a language at their own pace simply by observing connections between images and symbols. His work raises an especially interesting-even urgent-question for the arca of computer science education: Can similar approaches bc found to support the acquisition of programming languages? This paper outlines one possible method of introducing programming concepts that not only supports self-paced learning as in Language flrrough Pictures, but also situates the Icarning expcricnce in authentic activity. What kind of activity? Our research focuses on the complex and creative process of design. since it is designers who can clearly benefit from the ability to program their tools. Programming offers designers the opportunity to transcend the built-in functionality of their software, empowering them to be more crcativc and expressive users. Tools that combine a direct manipulation interface with a domain-oriented language such as the drawing program SchemcPaint (Eisenberg, 1995) and the multimedia authoring package Permission to make digital/hard copies of all or part of this material fat pcrsonnl or classroom use is grant& without fee pnlvidcd thal the copies arc not mndc or distributed for prolit or commercial advantage, the copyri$it notice, the title of the publication and its J:ilc iippcar, and uoLi<c is glvcn that copyright is by permission of the ACM, Inc. To copy otherwise, to rcpuhlish. to post on scrvcrs or to redistribute to lists. rcqiiircs spccitic permission and/or fee. DIS 95 Ann Arbor MI USA ‘ri 1995 ACM 0-89791-673-5/95/08..$3.50 Director’ have been dubbed programmable applications. A major challenge with programmable applications is informing designers of the utility of programming and supporting them in their pursuit of programming expertise. These issues are central to the eventual acceptance and creative use of any application-oriented language, and are in fact the key problems for the entire field of end-user programming (DiGiano and Eisenberg. 1995). Although end-user programmable systems represent a burgconing class of software*. support for those users interested in becoming acquainted with their tool’s language is limited. Few organizations formally support the social channels by which experienced users can communicate the cost and benefits of programming to colleagues (Gantt and Nardi, 1992; Nardi and Miller, 1991). Furthermore, the domain specificity and granularity of many embedded languages such as Emacs Lisp (Stallman. 1981) are inappropriate for beginning users (Nardi, 1993, p. 52). With the exception of spreadsheet formulas, most end-user languages fail Nardi’s approachability test which says users should be able to readily employ a language after only limited exposure.3 Printed tutorials, on-line tutoring programs,” and training classes are some of the few support mechanisms widely available to users learning programmable tools. These resources typically have three major drawbacks: I) they require a significant time investment. 2) they expect the learner to process a large amount of information at once, and 3) they expect the learner to be able map the topics covered to his or her particular tasks. Because of the time and effort required on the part of the user, tutorials and training ‘Director and Lingo are a registered trademark of Macromedia Corporation. *Microsoft, for instance, has begun integrating its Visual BASIC language into most of its personal productivity software including Word and Excel. (Microsoft, Visual BASIC. Word, and Excel are registered trademarks of Microsoft Corporation.) “As a general heuristic, Nardi suggests that “end-user programming systems should allow users to solve simple problems within their domain of interest u~iflritz a few hours of use.” (italics in original) (Nardi. 1993. p. 45) 4Experimental intelligent tutoring systems such as the Lisp Tutor (Anderson. 1985) could hardly be called “widely available,” but they do noncthcless suffer from some of the same problems as traditional on-line tutorials.