Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3411764.3445265acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article
Open access

TweakIt: Supporting End-User Programmers Who Transmogrify Code

Published: 07 May 2021 Publication History

Abstract

End-user programmers opportunistically copy-and-paste code snippets from colleagues or the web to accomplish their tasks. Unfortunately, these snippets often don’t work verbatim, so these people—who are non-specialists in the programming language—make guesses and tweak the code to understand and apply it successfully. To support their desired workflow and facilitate tweaking and understanding, we built a prototype tool, TweakIt, that provides users with a familiar live interaction to help them understand, introspect, and reify how different code snippets would transform their data. Through a usability study with 14 data analysts, participants found the tool to be useful to understand the function of otherwise unfamiliar code, to increase their confidence about what the code does, to identify relevant parts of code specific to their task, and to proactively explore and evaluate code. Overall, our participants were enthusiastic about incorporating TweakIt in their own day-to-day work.

Supplementary Material

VTT File (3411764.3445265_videofigurecaptions.vtt)
MP4 File (3411764.3445265_videofigure.mp4)
Supplemental video

References

[1]
Andrew P Black, Oscar Nierstrasz, Stéphane Ducasse, and Damien Pollet. 2010. Pharo by example. Lulu. com.
[2]
Tracey Booth and Simone Stumpf. 2013. End-user experiences of visual and textual programming environments for Arduino. In International symposium on end user development. Springer, 25–39.
[3]
Joel Brandt, Mira Dontcheva, Marcos Weskamp, and Scott R Klemmer. 2010. Example-centric programming: integrating web search into the development environment. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 513–522.
[4]
Joel Brandt, Philip J Guo, Joel Lewenstein, and Scott R Klemmer. 2008. Opportunistic programming: How rapid ideation and prototyping occur in practice. In Proceedings of the 4th international workshop on End-user software engineering. 1–5.
[5]
Julia Brich, Marcel Walch, Michael Rietzler, Michael Weber, and Florian Schaub. 2017. Exploring end user programming needs in home automation. ACM Transactions on Computer-Human Interaction (TOCHI) 24, 2(2017), 1–35.
[6]
Margaret Burnett, Simone Stumpf, Jamie Macbeth, Stephann Makri, Laura Beckwith, Irwin Kwan, Anicia Peters, and William Jernigan. 2016. GenderMag: A method for evaluating software’s gender inclusiveness. Interacting with Computers 28, 6 (2016), 760–787.
[7]
John M Carroll and Mary Beth Rosson. 1987. Paradox of the active user. In Interfacing thought: Cognitive aspects of human-computer interaction. 80–111.
[8]
Souti Chattopadhyay, Ishita Prasad, Austin Z. Henley, Anita Sarma, and Titus Barik. [n.d.]. What’s Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (2020). 1–12.
[9]
Ian Drosos, Titus Barik, Philip J Guo, Robert DeLine, and Sumit Gulwani. 2020. Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data Scientists. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. 1–12.
[10]
James R Eagan and John T Stasko. 2008. The buzz: supporting user tailorability in awareness applications. In Proceedings of the sigchi conference on human factors in computing systems. 1729–1738.
[11]
Wai-Tat Fu and Wayne D Gray. 2004. Resolving the paradox of the active user: Stable suboptimal performance in interactive tasks. Cognitive science 28, 6 (2004), 901–935.
[12]
Philip J. Guo, Sean Kandel, Joseph M. Hellerstein, and Jeffrey Heer. [n.d.]. Proactive Wrangling: Mixed-Initiative End-User Programming of Data Transformation Scripts. In Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology (2011). 65–74.
[13]
Björn Hartmann, Mark Dhillon, and Matthew K Chan. 2011. HyperSource: bridging the gap between source and code-related web sites. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 2207–2210.
[14]
Andrew Head, Fred Hohman, Titus Barik, Steven M. Drucker, and Robert DeLine. [n.d.]. Managing Messes in Computational Notebooks. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (2019). 1–12.
[15]
Raphael Hoffmann, James Fogarty, and Daniel S Weld. 2007. Assieme: finding and leveraging implicit references in a web search interface for programmers. In Proceedings of the 20th annual ACM symposium on User interface software and technology. 13–22.
[16]
Helge Kahler. 2001. Supporting collaborative tailoring. Ph.D. Dissertation. Roskilde Universitetscenter, Department of Communication, Journalism and ….
[17]
Mary Beth Kery, Amber Horvath, and Brad A Myers. 2017. Variolite: Supporting Exploratory Programming by Data Scientists. In CHI, Vol. 10. 3025453–3025626.
[18]
Mary Beth Kery and Brad A Myers. 2017. Exploring exploratory programming. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 25–29.
[19]
Mary Beth Kery, Marissa Radensky, Mahima Arya, Bonnie E. John, and Brad A. Myers. [n.d.]. The Story in the Notebook: Exploratory Data Science Using a Literate Programming Tool. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (2018). 1–11.
[20]
Mary Beth Kery, Donghao Ren, Fred Hohman, Dominik Moritz, Kanit Wongsuphasawat, and Kayur Patel. 2020. mage: Fluid Moves Between Code and Graphical Work in Computational Notebooks. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology. 140–151.
[21]
Kimia Kiani, George Cui, Andrea Bunt, Joanna McGrenere, and Parmit K. Chilana. [n.d.]. Beyond” One-Size-Fits-All” Understanding the Diversity in How Software Newcomers Discover and Make Use of Help Resources. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (2019). 1–14.
[22]
Amy J Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, Brad Myers, 2011. The state of the art in end-user software engineering. ACM Computing Surveys (CSUR) 43, 3 (2011), 1–44.
[23]
Amy J Ko and Brad A Myers. 2004. Designing the whyline: a debugging interface for asking questions about program behavior. In Proceedings of the SIGCHI conference on Human factors in computing systems. 151–158.
[24]
Amy J Ko, Brad A Myers, and Htet Htet Aung. 2004. Six learning barriers in end-user programming systems. In 2004 IEEE Symposium on Visual Languages-Human Centric Computing. IEEE, 199–206.
[25]
Sorin Lerner. 2020. Projection Boxes: On-the-fly Reconfigurable Visualization for Live Programming. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. 1–7.
[26]
Tom Lieber, Joel R. Brandt, and Rob C. Miller. 2014. Addressing Misconceptions about Code with Always-on Programming Visualizations. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Toronto, Ontario, Canada) (CHI ’14). Association for Computing Machinery, New York, NY, USA, 2481–2490. https://doi.org/10.1145/2556288.2557409
[27]
Zhicheng Liu and Jeffrey Heer. 2014. The effects of interactive latency on exploratory visual analysis. IEEE transactions on visualization and computer graphics 20, 12(2014), 2122–2131.
[28]
Brad A Myers, Amy J Ko, and Margaret M Burnett. 2006. Invited research overview: end-user programming. In CHI’06 extended abstracts on Human factors in computing systems. 75–80.
[29]
Bonnie A Nardi. 1993. A small matter of programming: perspectives on end user computing. MIT press.
[30]
Mary Beth Rosson and John M Carroll. 1996. The reuse of uses in Smalltalk programming. ACM Transactions on Computer-Human Interaction (TOCHI) 3, 3(1996), 219–253.
[31]
Sruti Srinivasa Ragavan, Sandeep Kaur Kuttal, Charles Hill, Anita Sarma, David Piorkowski, and Margaret Burnett. 2016. Foraging among an overabundance of similar variants. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. 3509–3521.
[32]
Steven L Tanimoto. 1990. VIVA: A visual language for image processing. Journal of Visual Languages & Computing 1, 2 (1990), 127–139.
[33]
Randall H Trigg and Susanne Bødker. 1994. From implementation to design: tailoring and the emergence of systematization in CSCW. In Proceedings of the 1994 ACM conference on Computer supported cooperative work. 45–54.
[34]
April Y. Wang, Ryan Mitts, Philip J. Guo, and Parmit K. Chilana. [n.d.]. Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (New York, NY, USA, 2018-04-21) (CHI ’18). Association for Computing Machinery, 1–13. https://doi.org/10.1145/3173574.3174085
[35]
Jeffrey Wong and Jason I Hong. 2007. Making mashups with marmite: towards end-user programming for the web. In Proceedings of the SIGCHI conference on Human factors in computing systems. 1435–1444.
[36]
Annie TT Ying and Martin P Robillard. 2013. Code fragment summarization. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. 655–658.
[37]
YoungSeok Yoon, Brad A Myers, and Sebon Koo. 2013. Visualization of fine-grained code change history. In 2013 IEEE Symposium on Visual Languages and Human Centric Computing. IEEE, 119–126.
[38]
Xiong Zhang and Philip J. Guo. [n.d.]. DS.Js: Turn Any Webpage into an Example-Centric Live Programming Environment for Learning Data Science. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology (New York, NY, USA, 2017-10-20) (UIST ’17). Association for Computing Machinery, 691–702. https://doi.org/10.1145/3126594.3126663

Cited By

View all
  • (2024)Spreadsheets on Interactive Surfaces: Breaking through the Grid with the PenACM Transactions on Computer-Human Interaction10.1145/363009731:2(1-33)Online publication date: 29-Jan-2024
  • (2024)A Choice-Based Programming Learning Method to Develop Problem-Solving SkillsIEEE Access10.1109/ACCESS.2024.344387912(119550-119562)Online publication date: 2024
  • (2024)A qualitative assessment of using ChatGPT as large language model for scientific workflow developmentGigaScience10.1093/gigascience/giae03013Online publication date: 19-Jun-2024
  • Show More Cited By

Index Terms

  1. TweakIt: Supporting End-User Programmers Who Transmogrify Code
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        CHI '21: Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems
        May 2021
        10862 pages
        ISBN:9781450380966
        DOI:10.1145/3411764
        This work is licensed under a Creative Commons Attribution International 4.0 License.

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 07 May 2021

        Check for updates

        Author Tags

        1. End-user programming
        2. data analysts
        3. data workflows
        4. live programming
        5. opportunistic code reuse

        Qualifiers

        • Research-article
        • Research
        • Refereed limited

        Conference

        CHI '21
        Sponsor:

        Acceptance Rates

        Overall Acceptance Rate 6,199 of 26,314 submissions, 24%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)240
        • Downloads (Last 6 weeks)50
        Reflects downloads up to 29 Sep 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)Spreadsheets on Interactive Surfaces: Breaking through the Grid with the PenACM Transactions on Computer-Human Interaction10.1145/363009731:2(1-33)Online publication date: 29-Jan-2024
        • (2024)A Choice-Based Programming Learning Method to Develop Problem-Solving SkillsIEEE Access10.1109/ACCESS.2024.344387912(119550-119562)Online publication date: 2024
        • (2024)A qualitative assessment of using ChatGPT as large language model for scientific workflow developmentGigaScience10.1093/gigascience/giae03013Online publication date: 19-Jun-2024
        • (2023)Will Code Remain a Relevant User Interface for End-User Programming with Generative AI Models?Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3622758.3622882(153-167)Online publication date: 18-Oct-2023
        • (2023)What’s (Not) Working in Programmer User Studies?ACM Transactions on Software Engineering and Methodology10.1145/358715732:5(1-32)Online publication date: 24-Jul-2023
        • (2023)Detangler: Helping Data Scientists Explore, Understand, and Debug Data Wrangling Pipelines2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00031(189-198)Online publication date: 3-Oct-2023
        • (2023)COLDECO: An End User Spreadsheet Inspection Tool for AI-Generated Code2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00017(82-91)Online publication date: 3-Oct-2023
        • (2023)End-User Programming is WEIRD: How, Why and What to Do About It2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00013(41-50)Online publication date: 3-Oct-2023
        • (2022)A Language-Parametric Approach to Exploratory Programming EnvironmentsProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567527(175-188)Online publication date: 29-Nov-2022
        • (2022)Revealing the Semantics of Data Wrangling Scripts With COMANTICSIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2022.3209470(1-11)Online publication date: 2022

        View Options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format.

        HTML Format

        Get Access

        Login options

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media