skip to main content
10.1145/1125451.1125472acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
Article

Invited research overview: end-user programming

Published: 21 April 2006 Publication History

Abstract

In the past few decades there has been considerable work on empowering end users to be able to write their own programs, and as a result, users are indeed doing so. In fact, we estimate that over 12 million people in American workplaces would say that they "do programming" at work, and almost 50 million people use spreadsheets or databases (and therefore may potentially program), compared to only 3 million professional programmers. The "programming" systems used by these end users include spreadsheet systems, web authoring tools, business process authoring tools such as Visual Basic, graphical languages for demonstrating the desired behavior of educational simulations, and even professional languages such as Java. The motivation for end-user programming is to have the computer be useful for each person's specific individual needs. While the empirical study of programming has been an HCI topic since the beginning the field, it is only recently that there has been a focus on the End-User Programmer as a separate class from novices who are assumed to be studying to be professional programmers. Another recent focus is on making end-user programming more reliable, using "End-User Software Engineering." This paper gives a brief summary of some current and past research in the area of End-User Programming.

References

[1]
Abraham, R. and Erwig, M. "Header and unit inference for spreadsheets through spatial analyses," in IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Sept. 27-30, 2004. pp. 165--172.]]
[2]
Bolin, M., et al. "Automation and Customization of Rendered Web Pages," in ACM Conference on User Interface Software and Technology (UIST). October 23-27, 2005. Seattle, WA: pp. 163--172.]]
[3]
Burnett, M., "Visual Programming," in Encyclopedia of Electrical and Electronics Engineering, J.G. Webster, Editor 1999, John WIley & Sons Inc.]]
[4]
Burnett, M., Chekka, S., and Pandey, R. "FAR: An End-User Language to Support Cottage E-Services," in Proc. Human-Centric Computing Languages and Environments. Sept. 5-7, 2001. Stresa, Italy: pp. 195--202.]]
[5]
Burnett, M., Cook, C., and Rothermel, G., "End-User Software Engineering." CACM, Sept, 2004. 47(9): pp. 53--58.]]
[6]
Burnett, M., Goldberg, A., and Lewis, T., Visual Object-Oriented Programming: Concepts and Environments. 1995, Prentice-Hall/Manning Publications.]]
[7]
Curtis, B., "Fifteen Years of Psychology in Software Engineering: Individual Differences and Cognitive Science," in Proceedings of the 7th International Conference on Software Engineering, 1984, IEEE Computer Society Press. pp. 97--106.]]
[8]
Cypher, A. "EAGER: Programming Repetitive Tasks by Example," in CHI. April, 1991. New Orleans, LA: pp. 33--39. Proceedings SIGCHI'91.]]
[9]
Cypher, A., ed. Watch What I Do: Programming by Demonstration. 1993, MIT Press: Camb., MA.]]
[10]
Deursen, A.v., Klint, P., and Visser, J., Domain-Specific Languages: An Annotated Bibliography. 1998. http://homepages.cwi.nl/~arie/papers/dslbib/.]]
[11]
Glinert, E.P., ed. Visual Programming Environments: Paradigms and Systems and Visual Programming Environments: Applications and Issues. 1990, IEEE Computer Society Press: Los Alamitos, CA.]]
[12]
Green, T.R.G. and Petre, M., "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework." Journal of Visual Languages and Computing, 1996. 7(2): pp. 131--174.]]
[13]
Haibt, L.M. "A Program to Draw Multi-Level Flow Charts," in Proceedings of the Western Joint Computer Conference. March 3-5, 1959. San Francisco, CA: 15. pp. 131--137.]]
[14]
Halbert, D.C., Programming by Example. Computer Science Division, Dept. of EE&CS, University of California, 1984, Berkeley, CA. 84. PhD thesis. Also: Xerox Office Systems Division, Systems Development Department, TR OSD-T8402, December, 1984. PhD thesis. Also: Xerox Office Systems Division, Systems Development Department, TR OSD-T8402, December, 1984.]]
[15]
Hoc, J.-M., et al., eds. Psychology of Programming. 1990, Academic Press: London.]]
[16]
Hoc, J.-M. and Nguyen-Xuan, A., "Language Semantics, Mental Models and Analogy," in Psychology of Programming, J.-M. Hoc, et al., Editors. 1990, Academic Press. London. pp. 139--156.]]
[17]
Kahn, K., "ToonTalk -- An Animated Programming Environment for Children." Journal of Visual Languages and Computing, 1996. 7(2): pp. 197--217.]]
[18]
Kandogan, E., et al. "A1: end-user programming for web-based system administration," in UIST '05: Proceedings of the 18th annual ACM symposium on User interface software and technology. 2005. Seattle, WA: pp. 211--220.]]
[19]
Kelleher, C. and Pausch, R., "Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers." ACM Comput. Surv., 2005. 37(2): pp. 83--137.]]
[20]
Ko, A.J. and Myers, B.A. "Development and Evaluation of a Model of Programming Errors," in IEEE EUP/VL/HCC. 2003. New Zealand: pp. 7--14.]]
[21]
Ko, A.J. and Myers, B.A. "Designing the Whyline, A Debugging Interface for Asking Why and Why Not questions about Runtime Failures," in CHI. 2004. pp. 151--158.]]
[22]
Ko, A.J., Myers, B.A., and Aung, H.H. "Six Learning Barriers in End-User Programming Systems," in IEEE VL/HCC. Sep 26-29, 2004. pp. 199--206.]]
[23]
Lewis, C. and Olson, G. "Can principles of Cognition Lower the Barriers to Programming?" in Empirical Studies of Programmers: Second Workshop. 1987. Norwood, NJ: Ablex Publishing Corporation.]]
[24]
Li, Y. and Landay, J.A. "Informal prototyping of continuous graphical interactions by demonstration," in UIST '05: Proceedings of the 18th annual ACM symposium on User interface software and technology. 2005. Seattle, WA: pp. 221--230.]]
[25]
Lieberman, H. "Constructing Graphical User Interfaces by Example," in Proceedings Graphics Interface. May, 1982. Toronto, Ontario, Canada: pp. 295--302. GI'82.]]
[26]
Lieberman, H., ed. Your Wish is My Command. 2001, Morgan Kaufmann: San Francisco.]]
[27]
Lin, J., et al. "DENIM: finding a tighter fit between tools and practice for Web site design," in CHI. Apr 1-6, 2000. The Hague, The Netherlands: pp. 510--517. Proceedings CHI'2000.]]
[28]
McDaniel, R.G. and Myers, B.A. "Getting More Out Of Programming-By-Demonstration," in Proceedings CHI'99: Human Factors in Computing Systems. May 15-20, 1999. Pittsburgh, PA: pp. 442--449.]]
[29]
Miller, P., et al., "Evolution of Novice Programming Environments: The Structure Editors of Carnegie Mellon University." Interactive Learning Environments, 1994. 4(2): pp. 140--158.]]
[30]
Miller, R.C. and Myers, B.A. "Interactive Simultaneous Editing of Multiple Text Regions," in Proceedings of USENIX 2001 Annual Technical Conference. June, 2001. Boston, MA: pp. 161--174.]]
[31]
Minas, M. "Diagram Editing with Hypergraph Parser Support," in 1997 IEEE Symposium on Visual Languages (VL). Sept. 23-26, 1997. Capri, Italy: pp. 226--233.]]
[32]
Modugno, F. and Myers, B.A., "Visual Programming in a Visual Shell -- A Unified Approach." Journal of Visual Languages and Computing, 1997. 8(5/6): pp. 276--308.]]
[33]
Myers, B.A., "Taxonomies of Visual Programming and Program Visualization." Journal of Visual Languages and Computing, Mar, 1990. 1(1): pp. 97--123.]]
[34]
Myers, B.A., Smith, D.C., and Horn, B. "Report of the `End-User Programming' Working Group," in Languages for Developing User Interfaces. 1992. Boston, MA: Jones and Bartlett. pp. 343--366.]]
[35]
Nardi, B.A., A Small Matter of Programming: Perspectives on End User Computing. 1993, Cambridge, MA: The MIT Press. 162.]]
[36]
Pane, J.F. and Myers, B.A., Usability Issues in the Design of Novice Programming Systems. School of Computer Science Technical Report, Carnegie Mellon University, CMU-CS-96-132, August, 1996. Pittsburgh, PA. http://www.cs.cmu.edu/~pane/tr96/. Also appears as Carnegie Mellon University Human-Computer Interaction Institute Technical Report CMU-HCII-96-101.]]
[37]
Pane, J.F. and Myers, B.A. "Tabular and Textual Methods for Selecting Objects from a Group," in Proceedings of VL 2000: IEEE International Symposium on Visual Languages. September 10-13, 2000. Seattle, WA: IEEE Computer Society. pp. 157--164.]]
[38]
Pane, J.F., Ratanamahatana, C.A., and Myers, B.A., "Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems." International Journal of Human-Computer Studies, February, 2001. 54(2): pp. 237--264. http://www.cs.cmu.edu/~pane/IJHCS.html.]]
[39]
Papert, S., Teaching Children Thinking. MIT, AI Memo No. 247 and Logo Memo No. 2, 1971. Cambridge, MA.]]
[40]
Papert, S., Mindstorms: Children, Computers, and Powerful Ideas. 1980, New York: Basic Books. 230.]]
[41]
Pausch, R., et al., "Alice: A Rapid Prototyping System for 3D Graphics." IEEE Computer Graphics and Applications, 1995. 15(3): pp. 8--11. May.]]
[42]
Pea, R.D. and Kurland, D.M., "On the Cognitive Effects of Learning Computer Programming," in Mirrors of Minds: Patterns of Experience in Educational Computing, R.D. Pea and K. Sheingold, Editors. 1986, Ablex Publishing Corp. Norwood, NJ. pp. 147--177.]]
[43]
Raz, O., Koopman, P., and Shaw, M. "Semantic Anomaly Detection in Online Data Sources," in 24th International Conference on Software Engineering (ICSE). May 19-25, 2002. Orlando, FL: pp. 302-312.]]
[44]
Resnick, M. and Silverman, B. "Some Reflections on Designing Construction Kits for Kids," in Proceedings of Interaction Design and Children conference. 2005. Boulder, CO:]]
[45]
Rode, J. and Rosson, M.B. "Programming at Runtime: Requirements and paradigms for nonprogrammer web application development," in IEEE Symposium on Human-Centric Computing Languages and Environments. 2003.]]
[46]
Rosson, M.B., Carroll, J.M., and Bellamy, R.K.E., "Smalltalk Scaffolding: A Case Study of Minimalist Instruction," in Proceedings of ACM CHI'90 Conference on Human Factors in Computing Systems, 1990, pp. 423--429.]]
[47]
Scaffidi, C., Shaw, M., and Myers, B. "Estimating the Numbers of End Users and End User Programmers," in IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05). 20-24 September, 2005. Dallas, Texas: pp. 207--214.]]
[48]
Shirky, C., Economics & Culture, Media & Community, Open Source. March 30, 2004. http://www.shirky.com/writings/situated_software.html. (First published on the "Networks, Economics, and Culture" mailing list).]]
[49]
Shneiderman, B., Software Psychology: Human Factors in Computer and Information Systems. 1980, Cambridge, MA: Winthrop Publishers.]]
[50]
Shu, N.C., Visual Programming. 1988, New York: Van Nostrand Reinhold Company.]]
[51]
Sime, M.E., Green, T.R.G., and Guest, D.J., "Scope Marking in Computer Conditionals: A Psychological Evaluation." International Journal of Man-Machine Studies, 1977. 9: pp. 107--118.]]
[52]
Smith, D.C., Pygmalion: A Computer Program to Model and Stimulate Creative Thought. 1977, Basel, Stuttgart: Birkhauser Verlag. PhD Thesis, Stanford University Computer Science Department, 1975.]]
[53]
Smith, D.C., Cypher, A., and Spohrer, J., "KidSim: Programming Agents Without a Programming Language." CACM, Jul, 1994, 1994. 37(7): pp. 54--67.]]
[54]
Soloway, E., Guzdial, M., and Hay, K.E., "Learner-Centered Design: The Challenge for HCI in The 21st Century." interactions, 1994. 1(2): pp. 36--48.]]
[55]
Soloway, E., et al. "Learning Theory in Practice: Case Studies of Learner-Centered Design," in Proceedings CHI'96: Human Factors in Computing Systems. April 14-18, 1996. Vancouver, BC, Canada: pp. 189--196.]]
[56]
Soloway, E. and Spohrer, J.C., eds. Studying the Novice Programmer. 1989, Lawrence Erlbaum Associates: Hillsdale, NJ.]]
[57]
Teitelbaum, T. and Reps, T., "The Cornell Program Synthesizer: A Syntax-Directed Programming Environment." CACM, 1981. 24(9): pp. 563--573.]]
[58]
Wiedenbeck, S. "Facilitators and inhibitors of end-user development by teachers in a school environment," in IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). Sept. 20-24, 2005. Dallas, TX: pp. 215--222.]]
[59]
Wulf, V., Paterno, F., and Lieberman, H., eds. End User Development. 2006, Kluwer Academic Publishers.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CHI EA '06: CHI '06 Extended Abstracts on Human Factors in Computing Systems
April 2006
1914 pages
ISBN:1595932984
DOI:10.1145/1125451
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 April 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. empirical studies of programmers (ESP)
  2. end-user software engineering
  3. natural programming
  4. programming by demonstration
  5. programming by example
  6. psychology of programming
  7. visual programming

Qualifiers

  • Article

Conference

CHI06
Sponsor:
CHI06: CHI 2006 Conference on Human Factors in Computing Systems
April 22 - 27, 2006
Québec, Montréal, Canada

Acceptance Rates

Overall Acceptance Rate 6,164 of 23,696 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)70
  • Downloads (Last 6 weeks)9
Reflects downloads up to 02 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media