On the benefits of providing versioning support for end users: An empirical study

End users with little formal programming background are creating software in many different forms, including spreadsheets, web macros, and web mashups. Web mashups are particularly popular because they are relatively easy to create, and because many programming environments that support their creation are available. These programming environments, however, provide no support for tracking versions or provenance of mashups. We believe that versioning support can help end users create, understand, and debug mashups. To investigate this belief, we have added versioning support to a popular wire-oriented mashup environment, Yahoo! Pipes. Our enhanced environment, which we call “Pipes Plumber,” automatically retains versions of pipes and provides an interface with which pipe programmers can browse histories of pipes and retrieve specific versions. We have conducted two studies of this environment: an exploratory study and a larger controlled experiment. Our results provide evidence that versioning helps pipe programmers create and debug mashups. Subsequent qualitative results provide further insights into the barriers faced by pipe programmers, the support for reuse provided by our approach, and the support for debugging provided.

[1]  Xiaoyang Mao,et al.  Visualizing histories for selective undo and redo , 1998, Proceedings. 3rd Asia Pacific Computer Human Interaction (Cat. No.98EX110).

[2]  Ping Chen,et al.  Differencing and Merging within an Evolving Product Line Architecture , 2003, PFE.

[3]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

[4]  Susan T. Dumais,et al.  Changing how people view changes on the web , 2009, UIST '09.

[5]  Matthew Dinmore,et al.  Empirically-Observed End-User Programming Behaviors in Yahoo! Pipes , 2010, PPIG.

[6]  Sean Follmer,et al.  d.note: revising user interfaces through change tracking, annotations, and alternatives , 2010, CHI.

[7]  Mary Beth Rosson,et al.  Active Programming Strategies in Reuse , 1993, ECOOP.

[8]  Frank J. van der Linden Software Product-Family Engineering , 2003, Lecture Notes in Computer Science.

[9]  Adam Jatowt,et al.  What can history tell us?: towards different models of interaction with document histories , 2008, HT '08.

[10]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[11]  Elizabeth F. Churchill,et al.  Conversations in developer communities: a preliminary analysis of the yahoo! pipes community , 2009, C&T.

[12]  Kwok-Bun Yue Experience on Mashup Development with End User Programming Environment , 2010, J. Inf. Syst. Educ..

[13]  Takeo Igarashi,et al.  A temporal model for multi-level undo and redo , 2000, UIST '00.

[14]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[15]  Margaret M. Burnett,et al.  A Debugging Perspective on End-User Mashup Programming , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[16]  Jeffrey Heer,et al.  Graphical Histories for Visualization: Supporting Analysis, Communication, and Evaluation , 2008, IEEE Transactions on Visualization and Computer Graphics.

[17]  Scott R. Klemmer,et al.  What would other programmers do: suggesting solutions to error messages , 2010, CHI.

[18]  Thomas Berlage,et al.  A selective undo mechanism for graphical user interfaces based on command objects , 1994, TCHI.

[19]  Saul Greenberg,et al.  Integrating back, history and bookmarks in web browsers , 2001, CHI Extended Abstracts.

[20]  Gregg Rothermel,et al.  Integrating automated test generation into the WYSIWYT spreadsheet testing methodology , 2006, TSEM.

[21]  Philip J. Guo,et al.  Writing Code to Prototype, Ideate, and Discover , 2009, IEEE Software.

[22]  Mary Beth Rosson,et al.  The reuse of uses in Smalltalk programming , 1996, TCHI.

[23]  D. Norman The psychology of everyday things , 1990 .

[24]  Gregg Rothermel,et al.  History repeats itself more easily when you log it: Versioning for mashups , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[25]  Steven F. Roth,et al.  Enhancing data exploration with a branching history of user operations , 2001, Knowl. Based Syst..

[26]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.

[27]  Brad A. Myers,et al.  Studying the language and structure in non-programmers' solutions to programming problems , 2001, Int. J. Hum. Comput. Stud..

[28]  Brad A. Myers,et al.  Six Learning Barriers in End-User Programming Systems , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[29]  Philip J. Guo,et al.  Opportunistic Programming: Writing Code to Prototype, Ideate, and Discover end-us e r soft war e e ngine e ring , 2009 .

[30]  Kathryn T. Stolee,et al.  End-User Programmers and their Communities: An Artifact-based Analysis , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[31]  Henry Lieberman,et al.  End-User Development (Human-Computer Interaction Series) , 2006 .

[32]  Reinhard von Hanxleden,et al.  Visual Comparison of Graphical Models , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[33]  Gregg Rothermel,et al.  Versioning for Mashups - An Exploratory Study , 2011, IS-EUD.

[34]  Stephen J. H. Yang,et al.  Improving End-User Programming with Situational Mashups in Web 2.0 Environment , 2008, 2008 IEEE International Symposium on Service-Oriented System Engineering.

[35]  John T. Stasko,et al.  Using Graphic History in Browsing the World Wide Web , 1995, World Wide Web J..

[36]  Scott R. Klemmer,et al.  Where do web sites come from?: capturing and interacting with design history , 2002, CHI.

[37]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[38]  Margaret M. Burnett,et al.  End-user mashup programming: through the design lens , 2010, CHI.

[39]  William A. Brenneman Statistics for Research , 2005, Technometrics.

[40]  Robert DeLine,et al.  Information Needs in Collocated Software Development Teams , 2007, 29th International Conference on Software Engineering (ICSE'07).

[41]  Sue Fitzgerald,et al.  Debugging From the Student Perspective , 2010, IEEE Transactions on Education.

[42]  Michael Jones,et al.  Obstacles and opportunities with using visual and domain-specific languages in scientific programming , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[43]  Mary Shaw,et al.  Estimating the numbers of end users and end user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[44]  Henry Lieberman,et al.  End-User Development , 2015, Lecture Notes in Computer Science.

[45]  S. Dowdy,et al.  Statistics for Research: Dowdy/Statistics , 2005 .

[46]  K. Gegenfurtner,et al.  Design Issues in Gaze Guidance Under review with ACM Transactions on Computer Human Interaction , 2009 .

[47]  Paul Heckel,et al.  A technique for isolating differences between files , 1978, CACM.

[48]  Allison Woodruff,et al.  Using thumbnails to search the Web , 2001, CHI.

[49]  Ronald P. Cody The SAS Workbook , 1996 .

[50]  Kathryn T. Stolee,et al.  Refactoring pipe-like mashups for end-user programmers , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[51]  Jeffrey Nichols,et al.  No Code Required: Giving Users Tools to Transform the Web , 2010 .

[52]  Lars Grammel,et al.  An End User Perspective on Mashup Makers , 2008 .

[53]  Margaret Burnett,et al.  End-User Development , 2013, Lecture Notes in Computer Science.

[54]  Mary Beth Rosson,et al.  Playing with information: How end users think about and integrate dynamic data , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[55]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[56]  Margaret M. Burnett,et al.  Males' and Females' Script Debugging Strategies , 2009, IS-EUD.

[57]  James D. Hollan,et al.  PadPrints: graphical multiscale Web histories , 1998, UIST '98.

[58]  William A. Brenneman Statistics for Research (3rd ed.) , 2005 .

[59]  Mary Beth Rosson,et al.  What’s in a mashup? And why? Studying the perceptions of web-active end users , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[60]  Susan T. Dumais,et al.  A longitudinal study of how highlighting web content change affects people's web interactions , 2010, CHI.