End-user programming in the wild: A field study of CoScripter scripts

Although a new class of languages has emerged to enable end users to create their own Web applications, little is known about how end-user programmers actually use such languages in the real world. In this paper, we report a field study on over 1400 scripts collected from the Internet which were created by early adopters of CoScripter, a Web macro programming-by-demonstration language. We contrast these Internet scripts with those written by users inside IBM, and describe script usage and re-usage patterns, features used, and users' clever workarounds for features not present in the language. The results show how users grapple with such programming notions as repetition, generalization, and reuse, sometimes inventing their own devices for these. Finally, we discuss the many scripts we found with social implications, whose purposes were to circumvent intended rules, regulations, and usage norm assumptions of a number of Web sites.

[1]  John Zimmerman,et al.  Vio: a mixed-initiative approach to learning and automating procedural update tasks , 2007, CHI.

[2]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[3]  Susan Wiedenbeck,et al.  Facilitators and inhibitors of end-user development by teachers in a school , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[4]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[5]  Mary Beth Rosson,et al.  Design Planning in End-User Web Development , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).

[6]  Eser Kandogan,et al.  Koala: capture, share, automate, personalize business processes on the web , 2007, CHI.

[7]  John P. McDermott,et al.  Using abuse case models for security requirements analysis , 1999, Proceedings 15th Annual Computer Security Applications Conference (ACSAC'99).

[8]  Nigel McFarlane Fixing web sites with greasemonkey , 2005 .

[9]  Mary Beth Rosson,et al.  Programming at runtime: Requirements & paradigms for nonprogrammer web application development , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[10]  Eben M. Haber,et al.  CoScripter: automating & sharing how-to knowledge in the enterprise , 2008, CHI.

[11]  Mary Shaw,et al.  Dimensions Characterizing Programming Feature Usage by Information Workers , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[12]  Alan F. Blackwell,et al.  The fuzzy felt ethnography—understanding the programming patterns of domestic appliances , 2004, Personal and Ubiquitous Computing.

[13]  S. Yardi From Functional to Fun: End User Development for Teenagers , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).

[14]  C. Scaffidi,et al.  Scenario-Based Requirements for Web Macro Tools , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).

[15]  Rob Miller,et al.  Automation and customization of rendered web pages , 2005, UIST.

[16]  Mary Beth Rosson,et al.  Who, what, and how: a survey of informal and professional Web developers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[17]  C. N. Brorn,et al.  WHO? , 1896 .

[18]  Judith Segal Some Problems of Professional End User Developers , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).