End-User Programming Bibliography

Papers relevant to end users who program are found in many places. Some techniques like Visual Programming have their own conferences and journals, but other papers are scattered through the literature of programming, application areas, and product descriptions. The papers below are sorted by first author, and year.  However year, techniques, and application areas are made available in separate columns for searching and sorting the downloaded table.  Here is the key to these categories: 
Application Areas
F Forms and Spreadsheets
M Direct Manipulation
P Patterns and Components
T Text programming
V Visual Programming
X Programming By EXample/Demonstration (PBE/PBD)
B Business
C Consumer
D Database
E Education
G Geographic/Spatial Information Systems (GIS/SIS)
I Industrial and Medical
R Research
T Theory
Author(s) Date Publication Contributions Techniq Applic
[AMBLER AL 1989]  Ambler, AL, and Burnett, MM 1989 "Influence of Visual Technology on the Evolution of Language Environments", pp. 9-22 in IEEE Computer, October. Review classifies program development environments by graphical nature:from visual UI and editing to VL. Most are for programmers, but effect is to reduce computer knowledge required. V M X F T T
[BERGLAS A 1996] Berglas, A 1996 Non-Monotonic Reasoning and End User Conceptual
Modeling, PhD thesis in Computer Science at the University of Queensland, Brisbane, Australia.
 Waterfall-model CASE tools convert the schema to code which programmers modify.  Berglas presents a formal definition for annotating conceptual models with code; so final application programs can be generated directly from the schema.  Keeps consistency when power end-users modify the schema at any time. F P T B D
[BORNING AH 1981]  Borning, AH 1981 "The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory", pp. 353-387 in ACM Transactions on Programming Languages and Systems, 3:4, October. ThingLab is a general object-oriented constraint programming system for modelling physical systems. Prototype objects (e.g. a schematic resister) are copied and modified by changing the constraints that determine their shape and behavior. V M T T R
[BORNING AH 1986]  Borning, AH 1986 "Graphically Defining New Building Blocks in ThingLab", pp. 269-295 in Human-Computer Interaction, 2:4 Three-tier system: basic system with no domain features, domain toolkit of building blocks prepared by domain expert, and specific simulations prepared by more casual users. V M T T R
[BOUWMAN P 1994] Bouwman, P, de Bruin, H, and van den Bos, FEW 1994 "Visually Specifying Human-Computer Dialogues in DIGIS", pp. 171-172 in VL'94: IEEE VL Sympos., St. Louis, Missouri. DIGIS performs Interaction by Example + post-editing. V M X  R I
[CARDELLI L 1983] Cardelli, L 1983 "Two-Dimensional Syntax for Functional Languages", pp. 107-119 in Proceedings of Integrated Interactive Computing Systems, Elsevier Publishers, Amsterdam. Manipulate boxes with programming symbols to define functional programs. V M  R
[CHANG S-K 1986]  Chang, S-K 1986 "Introduction:  Visual Languages and Iconic Languages", pp. 1-7 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York.  Introduction to the subject, brief classification of visual languages, and introduction to articles.
[CHANG S-K 1994]  Chang, S-K, Costabile, MF, and Levialdi, S. 1994 "Reality Bites -- Progressive Querying and Result Visualization in Logical and VR Spaces", pp. 100-109 in VL'94: IEEE VL Sympos., St. Louis, Missouri. VQRH. Progressive query, history slices, VR. V M T R D
[CHANG S-K 1986]  Chang, S-K, Ichikawa, T, and Ligomenides, PA (Eds) 1986 Visual Languages, Plenum, New York, 1986. (articles indexed separately by their authors.) V M X F T T R E C I B D
[CHANG S-K 1987]  Chang, S-K 1987 "Visual Languages: A Tutorial and Survey", pp. 29-39 in IEEE Software, January State of VP art and theory in 1987. V M X F T T R E 
[CHANG S-K 1994]  Chang, S-K, Korfhage, RR, Levialdi, S, and Ichikawa, T 1994 "Banquet: Ten Years of Visual Languages Research", pp. 195-205 in VL'94: IEEE VL Sympos., St. Louis, Missouri. History of the field since the first VL conference (1984 in Hiroshima.)    
[CHORAFAS DN 1997]  Chorafas, DN 1997 Visual Programming Technology, McGraw-Hill, New York. Trendy, confused. End-User Progr. is now being hyped! V M X F C B D
[CLARISSE O 1986]  Clarisse, O, and Chang, SK 1986 "VICON; a Visual Icon Manager", pp. 151-190 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York, 1986. VICON. Icons as basis for general programming. V M F T R
[CORDY JR 1992]  Cordy, JR  1992 "Why the User Interface is Not the Programming Language -- and How It Can Be", pp. 91-100 in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Demonstrates that specification of a user interface requires all the features of a programming language. V M X T R
[COX PT 1988] Cox, PT, and Pietrzykowski, T 1988 "Using a Pictorial Representation to Combine Dataflow and Object-Orientation in a Language-Independent Programming Mechanism", pp. 695-704 in Proceedings International Computer Science Conference. PROGRAPH 2 is a general visual programming language in which data flow and class hierarchies are entirely pictorial. Text is eliminated except for labels and comments: variables and logic syntax are replaced by graphical connections. V M  R
[CRUZ I 1994] Cruz, I 1994 "User-Defined Visual Query Languages", pp. 224-231 in VL'94: IEEE VL Sympos., St. Louis, Missouri. DOODLE. Rule constraint visual metalanguage. V M X T R D
[DERTOUZOS ML 1992] Dertouzos, ML 1992 "The User Interface is The Language", pp. 21-30 in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Proposes, "My Virtual Computer" with common infrastructure for I/O and programming objects that would both make canned applications leaner and enable routine end-user customization and programming. T
[DIAZ-HERRERA JL 1980] Diaz-Herrera, JL, and Flude, RC 1980 "Pascal/HSD: A Graphical Programming System", in IEEE Proceedings COMPSAC, pp. 723-728. Flowchart programming: Enter Pascal statements into Hierarchical Structured Diagram boxes that display as program executes. V M T R
[DUISBERG RA 1988] Duisberg, RA 1988 "Animation Using Temporal Constraints: An Overview of the ANIMUS System", pp. 275-307 in Human-Computer Interaction, 3:3. ANIMUS, like Thinglab, is a constraint-driven modelling system: for algorithms in ordinary software, or electronic circuits, etc. Models time-dependent behavior. V M T R
[EDEL M 1986] Edel, M 1986 "The Tinkertoy Graphical Programming Environment", pp. 466-471 in IEEE Proceedings COMPSAC. Build LISP programs by interactively hooking together suggestively-shaped icons (e.g. the EQ icon has 2 input sockets for operands and one plug to connect output to something else.) V M T R
[FINZER W 1984] Finzer, W, and Gould, L 1984 "Programming by Rehearsal", pp. 187-210 in Byte, 9:6, June. Rehearsal World enables teachers to design educational software games using a stage metaphor. Troupes of actors who understand cues correspond to Smalltalk objects and messages. V X M R E C
[FREI HP 1978] Frei, HP, Weller, DL, and Williams, R 1978 "A Graphics-based Programming-Support System", pp. 43-49 in ACM Computer Graphics (Proceedings SIGGRAPH), 12:3, August. Flowchart programming: enter Nassi-Shneiderman diagrams using their Picture Building System; compiles to PL/I. V M T R D
[GLINERT EP 1984] Glinert, EP, and Tanimoto, SL 1984 "Pict: An Interactive Graphical Programming Environment", pp. 7-25 in IEEE Computer, November. Fully interactive iconic flowchart programming system designed for non-programmers and beginning programmers. Tested on 60 students. Good literature review, discussion of tradeoffs. V M T R
[GLINERT EP 1990] Glinert, EP (Ed) 1990 Visual Programming Environments: Paradigms and Systems. IEEE Computer Society Press, Los Alamitos, California. (articles indexed separately by their authors.) V
[GLINERT EP 1994] Glinert, P, Blattner, MM, Chang, SK, and Kurlander, DJ 1994 "Panel: Visual Languages and Programming in the Year 2004", pp. 162-166 in VL'94: IEEE VL Sympos., St. Louis, Missouri. What VP is & is good for. Illustration of a medical PDA in an environment of TeleAccess Objects. Custom componentware. V M X T F T
[GRAF M 1990] Graf, M 1990 "VERDI: The Architecture of a Visual Environment for Distributed System Design", pp. 591-599 in Visual Programming Environments, Paradigms and Systems, EP Glinert, Ed., IEEE Computer Society Press, Los Alamitos, California. Designer graphically produces a model of a distributed computing system. Model can be interpretively executed, made visible by animation of the visual design. V M T R I
[GROSS MD 1994] Gross, MD 1994 "Stretch-A-Sketch: a Dynamic Diagrammer", pp. 232-238 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Stretch-A-Sketch, Cocktail Napkin Recognizer. V M X T R
[GUZDIAL M 1992A] Guzdial, M, Reppy, J, and Smith, RB 1992 "Report of the 'User/Programmer Distinction' Working Group" (CHI'91), pp. 367-383 in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. User programmers have specific goals and limited domain, but lack capabilities of professionals.  Environments to support them include  components, embedded languages like Elisp and Tcl, and demonstrational programming.
[GUZDIAL M 1992B] Guzdial, M, Weingrad, P, Boyle, R, and Soloway, E 1992 "Design Support Environments for End Users", pp. 57-78in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Problems novice programmers face and environment features required to support them.  Experience teaching high-school students to program multimedia presentations in MediaText. V M T R E
[HANSEN WJ 1994] Hansen, WJ, Bell, B, McKaskle, GA, Smedley, G, Kimura, D, and Poswig, J 1994 "The 1994 Visual Languages Comparison", pp. 90-99 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Compares visual languages on sample tasks. V M R E B
[HIRAKAWA M 1986] Hirakawa, M, Monden, N, Yoshimoto, I, Tanaka, M, and Ichikawa, T 1986 "HI-VISUAL: a Language Supporting Visual Interaction in Programming", pp. 233-259 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York, 1986. HI-VISUAL. Extensible icon general programming. Hierarchical multi windows. V M T T R I B D
[JACOB RJK 1986] Jacob, RJK 1986 "A Visual Programming Environment for Designing User Interfaces", in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York      
[KIMURA TD 1990] Kimura, TD, Choi, JW, and Mack, JM 1990 "Show and Tell: a Visual Programming Language", pp 397-404 in Visual Programming Environments, Paradigms and Systems, EP Glinert, Ed., IEEE Computer Society Press, Los Alamitos, California. VP language for school children. "Box graph" is dataflow model with modifications for childrens' cognition: eliminate cycles and Boolean values. V M T R E
[KOPACHE ME 1988] Kopache, ME, and Glinert, EP 1988 "C2: A Mixed Textual/Graphical Environment for C", pp. 231-238 in VL'88: IEEE Workshop on Visual Languages in Pittsburgh, Pennsylvania. Build and debug C programs by connecting BLOX tile icons that indicate allowable connections. V M T R
[LAKIN F 1986] Lakin, F 1986 "Spatial Parsing for Visual Languages", pp. 35-85 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York.   V T
[LARSON JA 1986] Larson, JA 1986 "Visual Languages for Database Users", pp. 127-147 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York, 1986. Entity-Response graph, prompted query construct. V M F T T R B D
[LEVI-STRAUSS C 1962] Levi-Strauss, C 1962 1966 La Pensée sauvage, Paris, 1962. English tr. The Savage Mind, Univ. of Chicago Press, Chicago, 1966. 1 Describes thought of people in primitive cultures as "intellectual bricolage": creating with available components by their apparent properties. Concept used today to describe end-user programmers who use tools without understanding how they work.   T
[LEVY S 1984] Levy, S 1984 "A Spreadsheet Way of Knowledge", pp. 58-64 in Harper's. November Classic introduction to spreadsheets, and account of the revolutionary impact of this form of end-user programming on the business world. F T B
[LEWIS C 1990] Lewis, C 1990 "NoPumpG: Creating Interactive Graphics with Spreadsheet Machinery", pp. 526-546 in Visual Programming Environments, Paradigms and Systems, EP Glinert, Ed., IEEE Computer Society Press, Los Alamitos, California. Relatively minor additions to the spreadsheet model enable building interactive graphics. Proposes that people's demonstrated success at solving many problems with spreadsheets implies there may be a large class of solutions close to that simple model. V M F T R 
[LUDOLPH F 1988] Ludolph, F, Chow, Y-Y, Ingalls, D, Wallace, S, and Doyle, K 1988 "The FABRIK Programming Environment", pp. 222-230 in VL'88: Proceedings of the Workshop on Visual Languages, Pittsburgh, Pennsylvania. General graphical dataflow programming in a circuit board metaphor. Components from a parts bin have pins for connecting each input and output. V X M T R
[MCCATNEY TP 1994] McCatrney, TP, and Goldman, KJ 1994 "Visual Specification of Interprocess and Intraprocess Communication", pp. 80-87 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Graphical configuration based on tool Programmers' Playground V  
[MCWHIRTER JD 1994] McWhirter, JD, and Nutt, GJ 1994 "Escalante: An Environment for the Rapid Construction of Visual Language Applications", pp. 15-22 in VL'94: IEEE VL Sympos., St. Louis, Missouri. The visual language generator Escalante described by some of its products: BooleanCircuit, Verdi, TuringMachine, etc.    
[MEYER B 1994] Meyer, B  1994 "Pictorial Deduction in Spatial Information Systems", pp. 23-30 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Sketch   G
[MODUGNO F 1994] Modugno, F, and Myers, BA 1994 "A State-Based Visual Language for a Demonstrational Visual Shell", pp. 304-311 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Pursuit, Garnet. Demonstrate desired actions; then edit comic-strip representation. V M X T F T R
[MODUGNO F 1997] Modugno, F and Corbett, A T 1997 "Graphical Representation of Programs in a Demonstrationsal Visual Shell -- An Empirical Evaluation", pp. 276-308 in ACM Transactions on Computer-Human Interaction 4:3, September. User study comparing graphical (comic strip) and textual representation of PBD programs.  Users comprehended the comic-strip representation somewhat better, and produced programs twice as fast.  M T V X R T
[MYERS BA 1986] Myers, BA 1986 "Visual Programming by Example, and Program Visualization: A Taxonomy", pp. 59-66 in CHI '86 Proceedings: Human Factors in Computing Systems, Addison-Wesley, Reading Massachusetts. (ignoring the last here:) classifies tools by orthogonal critera: VP or not, PBE or not, and Interactive or Batch. V M X F T T
[MYERS BA 1987] Myers, BA  1987 "Creating Interaction Techniques by Demonstration", pp. 51-60 in IEEE Computer Graphics and Applications, 7:9, September Peridot is a User Interface Management System (UIMS) that allows a designer to design graphical interaction objects like scroll bars and property sheets, including their behavior and exception handling, by demonstration. V X M T R
[MYERS BA 1988] Myers, BA 1988 Creating User Interfaces by Demonstration. Perspectives in Computing Vol. 22, Rheinholdt, W, and Siewiorek, D, (Eds). Academic Press, Boston. Peridot: a User Interface Management System implementing PBD. Handles loops, conditionals, and constraints. V M X T R
[MYERS BA 1992] Myers, BA, Smith, DC, and Horn, B 1992 "Report of the 'End-User Programming' Working Group" (CHI'91), pp. 343-366 in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Unless end-users can program, much of the power of personal computers will be wasted.  Two levels:  combining components and low-level programming.  Emulate user successeses like Lego blocks (!), spreadsheets, and the Macintosh UI. V M X F T T
[NARDI B 1993] Nardi, B 1993 A Small Matter of Programming; Perspectives on End User Computing. MIT Press, Cambridge, Massachusetts Best current exposition of the topic.  Makes the case that users can program; that unleashing your users' human intelligence  is frequently more effective than trying to invent artificial intelligence.  Based on user studies with tools such as spreadsheets and CAD scripts, alone and in collaboration. V X F T T R E B
[NELSON G 1985] Nelson, G 1985 "JUNO: A Constraint-Based Graphics System", pp. 235-243 in Proceedings of SIGGRAPH'85, San Francisco. Combines WYSIWYG graphics with textual constraints. Graphical artists of the time apparently found this usable. V M T R
[PANE JF 1997] Pane, JF 1997 "A Programming System for Children that is Designed for Usability," presented at the 7th Workshop on Empirical Studies of Programmers: Graduate Student Workshop, Alexandria, VA, October 24, 1997.  abstract+text "My thesis is that a programming system that uses a card game metaphor for computation, and embodies principles from the psychology of programming and human-computer interaction, will enable children and other non-programmers to create sophisticated programs containing animations, simulations and multi-media." F M P T V X  C E R T
[PONG MC 1983] Pong, MC, and NG, N 1983 "PIGS: A System for Programming with Interactive Graphical Support", pp. 847-855 in Software -- Practice and Experience, 13:9, September. John Wiley and Sons, New York. Directly interprets Nassi-Shneiderman diagrams with embedded Pascal statements, highlighting executing portion on screen, with interactive edit and debug. V M T R
[REISS SP 1985] Reiss, SP  1985 "PECAN: Program Development Systems that Support Multiple Views", pp. 276-285 in IEEE Transactions on Software Engineering, SE-11:3, March. View and modify program via multiple views: syntax-directed editor, Nassi-Schneiderman diagram, module interconnection, and data views.  V M T R D
[REISS SP 1987] Reiss, SP  1987 "Working in the Garden Environment for Conceptual Programming", pp. 16-27 in IEEE Software, November. Comprehensive program development environment. Edit common internal representation using multiple text or graphic views. V M T T R D
[REISS SP 1989] Reiss, SP, Meyers, S, and Duby, C 1989 "Using GELO to Visualize Software Systems", pp. 149-157 in UIST'89: Proceedings of the Second Annual Symposium on User Interface Software and Technology. Edit program and data structures by manipulating constraint-driven graphical objects. V M
[REPENNING A 1994] Repenning, A  1994 "Bending Icons: Syntactic and Semantic Transformations of Icons", pp. 296-303 in VL'94: IEEE VL Sympos., St. Louis, Missouri. AgentSheets. Automatically generate related icons. V M T T R I B D
[REPENNING A 1997] 1997 "Behavior Processors:  Layers between End-Users and Java Virtual Machines", pp. 402-409 in VL'97:  IEEE Symposium on Visual Languages, Isle of Capri, Italy, September. The AgentSheets "behavior processor" enables users to build programs by combining pieces (bricolage.) M P V C E R T
[ROBINSON R 1995] Robinson, R, Cook, D, and Tanimoto, S 1995 "Programming Agents with Visual Ruiles", pp. 13-20 in VL'95:  11th IEEE Symposium on Visual Languages, Darmstadt, Germany, September. Adds ability t9o specify a new icon's behavior in AgentSheets. M P V C E R T
[SASSIN M 1994] Sassin, M  1994 "Creating User-Intended Programs with Programming by Demonstration" pp. 153-160 in VL'94: IEEE VL Sympos., St. Louis, Missouri. ProDeGE+, Garnet. Dialog-based Learning. V M X T R C I
[SHU NC 1986] Shu, NC 1986 "Visual Programming Languages: A Perspective and a Dimensional Analysis", pages 11-34 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York. PECAN, SDMS, PV V F T
[SMITH DC 1977] Smith, DC  1977 Pygmalion: a computer program to model and stimulate creative thought. In Interdisciplinary Systems Research 40, Birkhauser Verlag, Basel. Pioneer PBE system. Visual, interactive; do rather than tell. Program by manipulating icons: "remembering editor" saves and attaches to another icon, which can be manipulated, . Multiple levels of detail; incremental completion. V M X R
[SMITH DC 1992] Smith, DC, and Susser, J 1992 "A Component Architecture for Personal Computer Software", pp. 31-56 in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Proposes a component architecture with modules residing on servers and chosen by developers or users at any time. Prototype was implemented by Apple Computer's Advanced Technology Group. V M X T R 
[SMITH RB 1987] Smith, RB 1987 "Experiences with the Alternate Reality Kit: An Example of the Tension between Ljiteralism and Magic", pp. 42-50 in IEEE Computer Graphics and Applications, 7:9, September. The Alternate Reality Kit lets some users create interactive simulations and others manipulate them: e.g. a teacher designing a virtual lab experiment. Purely iconic interface: grab and move or throw, or press button (send the object a message.) V M  T R
[SMITH RB 1992] Smith, RB, Ungar, D, and Chang, B-W 1992 "The Use-Mention Perspective on Programming for the Interface", in Languages for Developing User Interfaces, Myers, BA, Ed., Jones and Bartlett Publishers, Boston. Argues that direct-manipulation interface reality should be taken seriously.  Their Alternate Reality Kit (ARK) has mechanisms for editing the interface without the disruption inherent in switching to text names for interface objects. and operations. V M T R
[SUGIHARA JM 1986] Sugihara, JM, Takayama, M, Kikuno, T, and Yoshida, N 1986 "A Visual Language for Forms Definition and Manipulation", pp. 109-125 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York, 1986. FOSTER. Form type vs. instance; logical scheme & visual template. F T T R D B
[SUTHERLAND IE 1963] Sutherland, IE 1963 "Sketchpad: A Man-Machine Graphical Communication System", pp. 2-19 of AFIPS Conference Proceedings, Spring Joint Computer Conference". Pioneer direct-manipulation graphics program could animate linkages and calculate forces. V M  R
[TANIMOTO SL 1986] Tanimoto, SL, and Runyan, MS 1986 "PLAY: an Iconic Programming System for Children", pp. 191-205 in Visual Languages, S. Chang, T. Ichikawa, and P. A. Ligomenides (Eds.), Plenum, New York, 1986. PLAY. Playgoer, Director, Playwright. Iconic script lang. V M T T R E C
[WOODRUFF A 1994] Woodruff, A, Wisnovsky, P, Taylor, C, Stonebraker, M, Paxson, C, Chen, J, and Aiken, A 1994 "Zooming and Tunneling in Tioga: Supporting Navigation in Multidimensional Space", pp 191-193 in VL'94: IEEE VL Sympos., St. Louis, Missouri. Tioga. Boxes & arrows, user-written recipes. Elevation maps, zooming, nested browsers, wormholes. V M T R D G

Other End-User Programming Bibliographies:

  1. Programming By Demonstration -- Lieberman and Maulsby at MIT Media Lab.
  2. Visual Programming -- Margaret Burnett's group at Oregon State.
  3. End User Programming in the HCI Bibliography -- maintained by Gary Perlman

Related Bibliographies:

  1. The HCI Bibliography

Home  New   Techniques   Tools   Bibliography   Researchers   Users   Benefits   Contribute!
Last updated 04/10/2001  Maintained by Howie Goodell