Abstract
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.
- Thomas Berlage. 1994. A selective undo mechanism for graphical user interfaces based on command objects. Transactions on Computer Human Interaction 1, 3 (September 1994), 269--294. Google ScholarDigital Library
- Joel Brandt, Philip J. Guo, Joel Lewenstein, Mira Dontcheva, and Scott R. Klemmer. 2009. Opportunistic programming: Writing code to prototype, ideate, and discover. IEEE Software 26, 5 (September 2009), 18--24. Google ScholarDigital Library
- Jill Cao, Kyle Rector, Thomas H. Park, Scott D. Fleming, Margaret Burnett, and Susan Wiedenbeck. 2010a. A debugging perspective on end-user mashup programming. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 149--156. Google ScholarDigital Library
- Jill Cao, Yann Riche, Susan Wiedenbeck, Margaret Burnett, and Valentina Grigoreanu. 2010b. End-user mashup programming: Through the design lens. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 1009--1018. Google ScholarDigital Library
- Ping Chen, Matt Critchlow, Akash Garg, Chris Van Der Westhuizen, and André Van Der Hoek. 2003. Software Product-Family Engineering. Springer Verlag, 269--281.Google Scholar
- Ron Cody. 1988. SAS Workbook. Vol. 1. SAS Publishing.Google Scholar
- Allen Cypher, Mira Dontcheva, Tessa Lau, and Jeffrey Nichols. 2010. No Code Required: Giving Users Tools to Transform the Web. Morgan Kaufmann. Google ScholarDigital Library
- Mark Derthick and Steven F. Roth. 2001. Enhancing data exploration with a branching history of user operations. In Knowledge Based Systems. 65--74.Google Scholar
- Matthew D. Dinmore and C. Curtis Boylls. 2010. Empirically-observed end-user programming behaviors in Yahoo! Pipes. In Psychology of Programming Interest Group.Google Scholar
- Shirley Dowdy, Stanley Wearden, and Daniel Chilko. 2004. Statistics for Research, 3rd ed. Wiley.Google Scholar
- W. Keith Edwards, Takeo Igarashi, Anthony LaMarca, and Elizabeth D. Mynatt. 2000. A temporal model for multi-level undo and redo. In Proceedings of the ACM Symposium on User Interface Software and Technology. 31--40. Google ScholarDigital Library
- May Eric, Eric Z. Ayers, and John T. Stasko. 1995. Using graphic history in browsing the world wide web. In International World Wide Web Conference. 11--14.Google Scholar
- Marc Fisher, Gregg Rothermel, Darren Brown, Mingming Cao, Curtis R. Cook, and Margaret Burnett. 2006. Integrating automated test generation into the WYSIWYT spreadsheet testing methodology. ACM Transactions on Software Engineering and Methodology 15 (April 2006), 150--194. Google ScholarDigital Library
- Sue Fitzgerald, Renée McCauley, Brian Hanks, Laurie Murphy, Beth Simon, and Carol Zander. 2010. Debugging from the student perspective. Transactions on Education 53, 3 (April 2010), 390--396. Google ScholarDigital Library
- Lars Grammel and Margaret-Anne Storey. 2008. An End User Perspective on Mashup Makers. Technical Report DCS-324-IR. Department of Computer Science, University of Victoria.Google Scholar
- Valentina Grigoreanu, James Brundage, Eric Bahna, Margaret M. Burnett, Paul Elrif, and Jeffrey Snover. 2009. Males’ and Females’ Script Debugging Strategies. In Proceedings of the International Symposium on End-User Development. 205--224. Google ScholarDigital Library
- Björn Hartmann, Sean Follmer, Antonio Ricciardi, Timothy Cardenas, and Scott R. Klemmer. 2010a. d.note: revising user interfaces through change tracking, annotations, and alternatives. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 493--502. Google ScholarDigital Library
- Björn Hartmann, Daniel MacDougall, Joel Brandt, and Scott R. Klemmer. 2010b. What would other programmers do: suggesting solutions to error messages. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 1019--1028. Google ScholarDigital Library
- Paul Heckel. 1978. A technique for isolating differences between files. Commun. ACM 21, 4 (April 1978), 264--268. Google ScholarDigital Library
- Jeffrey Heer, Jock D. Mackinlay, Chris Stolte, and Maneesh Agrawala. 2008. Graphical histories for visualization: Supporting analysis, communication, and evaluation. Transactions on Visualization and Computer Graphics 14 (November 2008), 1189--1196. Google ScholarDigital Library
- Ron R. Hightower, Laura T. Ring, Jonathan I. Helfman, Benjamin B. Bederson, and James D. Hollan. 1998. PadPrints: Graphical multiscale web histories. In Proceedings of the ACM Symposium on User Interface Software and Technology. 58--65. Google ScholarDigital Library
- Angus F. M. Huang, Shin Bo Huang, Evan Y. F. Lee, and Stephen J. H. Yang. 2008. Improving end-user programming with situational mashups in Web 2.0 environments. In IEEE International Symposium on Service-Oriented System Engineering. 62--67. Google ScholarDigital Library
- Adam Jatowt, Yukiko Kawai, Hiroaki Ohshima, and Katsumi Tanaka. 2008. What can history tell us?: Towards different models of interaction with document histories. In Proceedings of the Hypertext and Hypermedia. 5--14. Google ScholarDigital Library
- Michael Jones and Christopher Scaffidi. 2011. Obstacles and opportunities with using visual and domain-specific languages in scientific programming. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 9--16.Google ScholarCross Ref
- M. Cameron Jones and Elizabeth F. Churchill. 2009. Conversations in developer communities: A preliminary analysis of the Yahoo! Pipes community. In Proceedings of the International Conference on Communities and Technologies. 51--60. Google ScholarDigital Library
- Shaun Kaasten and Saul Greenberg. 2001. Integrating back, history and bookmarks in web browsers. In Extended Abstracts on Human Factors in Computing Systems. 379--380. Google ScholarDigital Library
- Scott R. Klemmer, Michael Thomsen, Ethan Phelps-Goodman, Robert Lee, and James A. Landay. 2002. Where do web sites come from?: capturing and interacting with design history. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 1--8. Google ScholarDigital Library
- Andrew J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, Brad Myers, Mary Beth Rosson, Gregg Rothermel, Mary Shaw, and Susan Wiedenbeck. 2011. The state of the art in end-user software engineering. Comput. Surveys 43, 3 (April 2011), 21:1--21:44. Google ScholarDigital Library
- Andrew J. Ko and Brad A. Myers. 2004. Designing the whyline: a debugging interface for asking questions about program behavior. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 151--158. Google ScholarDigital Library
- Andrew J. Ko, Brad A. Myers, and Htet Htet Aung. 2004a. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 199--206. Google ScholarDigital Library
- Andrew J. Ko, Brad A. Myers, and Htet H. Aung. 2004b. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 199--206. Google ScholarDigital Library
- Sandeep Kaur Kuttal, Anita Sarma, and Gregg Rothermel. 2011a. History repeats itself more easily when you log it: Versioning for mashups. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 69--72.Google ScholarCross Ref
- Sandeep Kaur Kuttal, Anita Sarma, Amanda Swearngin, and Gregg Rothermel. 2011b. Versioning for mashups—An exploratory study. In Proceedings of the International Symposium on End-User Development. 25--41. Google ScholarDigital Library
- Clayton H. Lewis. 1982. Using the “Thinking Aloud” Method In Cognitive Interface Design. RC 9265. IBM.Google Scholar
- Henry Lieberman, Fabio Paterno, and Volker Wulf. 2006. End User Development. Vol. 9. Springer Netherlands.Google Scholar
- Akhil Mehra, John Grundy, and John Hosking. 2005. A generic approach to supporting diagram differencing and merging for collaborative design. In Proceedings of the International Conference on Automated Software Engineering. 204--213. Google ScholarDigital Library
- Chii Meng, Motohiro Yasue, Atsumi Imamiya, and Xiaoyang Mao. 1998. Visualizing Histories for Selective Undo and Redo. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 459--464. Google ScholarDigital Library
- Don Norman. 1996. The Psychology of Everyday Things. Vol. 1. Basic Books.Google Scholar
- Dirk Ohst, Michael Welle, and Udo Kelter. 2003. Differences between versions of UML diagrams. In Proceedings of the International Symposium on the Foundations of Software Engineering. 227--236. Google ScholarDigital Library
- Mary Beth Rosson and John M. Carroll. 1993. Active programming strategies in reuse. In Proceedings of the 7th European Conference on Object-Oriented Programming. Springer-Verlag, London, UK, 4--20. Google ScholarDigital Library
- Mary Beth Rosson and John M. Carroll. 1996. The reuse of uses in Smalltalk programming. Transactions on Computer Human Interaction 3, 3 (September 1996), 219--253. Google ScholarDigital Library
- Christopher Scaffidi, Mary Shaw, and Brad A. Myers. 2005. Estimating the numbers of end users and end user programmers. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 207--214. Google ScholarDigital Library
- Arne Schipper, Hauke Fuhrmann, and Reinhard von Hanxleden. 2009. Visual Comparison of Graphical Models. In Proceedings of the International Conference on Engineering of Complex Computer Systems. 335--340. Google ScholarDigital Library
- Katie Stolee, Sebastian Elbaum, and Anita Sarma. 2011. End-User programmers and their communities: An artifact-based analysis. In Proceedings of the International Symposium on Empirical Software Engineering and Measurement. 147--156. Google ScholarDigital Library
- Kathryn T. Stolee and Sebastian Elbaum. 2011. Refactoring pipe-like mashups for end-user programmers. In Proceedings of the International Conference on Software Engineering. 81--90. Google ScholarDigital Library
- Jaime Teevan, Susan T. Dumais, and Daniel J. Liebling. 2010. A longitudinal study of how highlighting web content change affects people’s web interactions. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 1353--1356. Google ScholarDigital Library
- Jaime Teevan, Susan T. Dumais, Daniel J. Liebling, and Richard L. Hughes. 2009. Changing how people view changes on the web. In Proceedings of the ACM Symposium on User Interface Software and Technology. 237--246. Google ScholarDigital Library
- Walter F. Tichy. 1985. RCS-A system for version control. Software: Practice & Experience 15, 7 (July 1985), 637--654. Google ScholarDigital Library
- Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2000. Experimentation in Software Engineering: An Introduction. Springer. Google ScholarDigital Library
- Allison Woodruff, Andrew Faulring, Ruth Rosenholtz, Julie Morrsion, and Peter Pirolli. 2001. Using thumbnails to search the Web. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 198--205. Google ScholarDigital Library
- Nan Zang and Mary B. Rosson. 2008. What’s in a mashup? And why? Studying the perceptions of web-active end users. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 31--38. Google ScholarDigital Library
- Nan Zang and Mary B. Rosson. 2009. Playing with information: How end users think about and integrate dynamic data. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 85--92. Google ScholarDigital Library
Index Terms
- On the benefits of providing versioning support for end users: An empirical study
Recommendations
Debugging support for end user mashup programming
CHI '13: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsProgramming for the web can be an intimidating task, particularly for non-professional ("end-user") programmers. Mashup programming environments attempt to remedy this by providing support for such programming. It is well known, however, that mashup ...
Identification, Impact, and Refactoring of Smells in Pipe-Like Web Mashups
With the emergence of tools to support visual mashup creation, tens of thousands of users have started to access, manipulate, and compose data from web sources. We have observed, however, that mashups created by these users tend to suffer from ...
A survey of mashup development environments
The smart internetThis chapter presents a survey of six mashup development environments and looks at how mashups fit into the vision of the smart internet. The fast-paced expansion of mashup development environments has resulted in a wealth of features and approaches. To ...
Comments