Tactile programming: a unified manipulation paradigm supporting program comprehension, composition and sharing

Although visual programming techniques have been used to lower the threshold of programming for end users, they are not sufficient for creating end user programming environments that are both easy to use and powerful. To achieve this, an environment must support the definition of programs that are not just static representations of behavior, but are instead dynamic collections of program objects which can be applied in a number of contexts rather than just a program editor. We describe an approach to end user programming called tactile programming which extends visual techniques with a unified program manipulation paradigm that makes programs easy to comprehend, compose and, most importantly, share over the World Wide Web. Tactile programming's inherent ability to support the social context in which programming takes place along with its ability to ease program comprehension and composition is what differentiates this approach from others. In the context of the Agentsheets programming substrate, we have created an instance of a tactile programming environment called Visual AgenTalk which is used to create interactive simulations.

[1]  Brigham Bell,et al.  ChemTrains: a language for creating behaving pictures , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[2]  Alexander Repenning,et al.  Bending the rules: steps toward semantically enriched graphical rewrite rules , 1995, Proceedings of Symposium on Visual Languages.

[3]  Alexander Repenning,et al.  LEGOsheets: a rule-based programming, simulation and manipulation environment for the LEGO Programmable Brick , 1995, Proceedings of Symposium on Visual Languages.

[4]  Annette Wagner,et al.  Drag me, drop me, treat me like an object , 1995, CHI '95.

[5]  Michael Travers LiveWorld: a construction kit for animate systems , 1994, CHI '94.

[6]  Roy D. Pea,et al.  Distributed Multimedia Learning Environments: Why and How? , 1992, Interact. Learn. Environ..

[7]  James C. Spohrer,et al.  KidSim: programming agents without a programming language , 1994, CACM.

[8]  George W. Furnas,et al.  New graphical reasoning models for understanding graphical interfaces , 1991, CHI.

[9]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[10]  Jean Underwood,et al.  Learning graphical programming: an evaluation of KidSim , 1995, PPIG.

[11]  Andrea A. diSessa An Overview of Boxer. , 1991 .

[12]  Ephraim P. Glinert,et al.  Visual tools for generating iconic programming environments , 1992, Proceedings IEEE Workshop on Visual Languages.

[13]  A. Collins,et al.  Situated Cognition and the Culture of Learning , 1989 .

[14]  Daniel C. Halbert SmallStar: programming by demonstration in the desktop metaphor , 1993 .

[15]  Nancy Wogrin,et al.  Rule-Based Programming With Ops 5 , 1988 .

[16]  Bonnie A. Nardi,et al.  A small matter of programming , 1993 .

[17]  J. Roschelle Learning by Collaborating: Convergent Conceptual Change , 1992 .

[18]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[19]  Curtis R. Cook,et al.  An analysis of the on-line debugging process , 1987 .

[20]  Alexander Repenning,et al.  Remote exploratoriums: combining network media and design environments , 1995 .

[21]  McCoy Sharon Carver,et al.  Improving children's debugging skills , 1987 .

[22]  Brigham Bell,et al.  Usability testing of a graphical programming system: things we missed in a programming walkthrough , 1991, CHI '91.