TweakIt: Supporting End-User Programmers Who Transmogrify Code

Knowledge Worker Tools & WorkflowsPrototyping & User TestingSoftware Engineers & DevelopersUI/UX Designers

Document Title

TweakIt: Supporting End-User Programmers Who Transmogrify Code

Document Information

  • Topic Area: Design of programming tools for non-professional programmers, particularly tools for code reuse and adjustment in data analysis workflows.
  • Keywords: end-user programming, code tweaking, data analysis, data workflow, code reuse, live programming, spreadsheet tools, user experience, code visualization, human-computer interaction

Research Background and Problem Statement

  • What problems or challenges did the authors identify?

    1. End-user programmers, such as data analysts, need to perform complex data manipulation tasks despite having limited programming expertise.
    2. They often rely on code snippets obtained from colleagues or the internet, but these snippets typically require adjustments to function correctly.
    3. Current tools fail to adequately support users in intuitively understanding code logic and cannot integrate seamlessly into familiar environments (e.g., spreadsheet applications).
  • Why is this problem important?

    1. Flexibility in handling specific tasks is increasingly critical in data analysis and scientific research, and code reuse is a key method for achieving this.
    2. Limitations in existing tools lead to inefficient and unintuitive workflows, such as frequent code import/export and trial-and-error processes.
    3. Improving tools designed for end-user programmers can enhance productivity and reduce dependence on programming expertise.
  • Motivation and Related Work

    1. Existing research primarily focuses on supporting end-user programming activities (e.g., code debugging or program comprehension) but provides insufficient support for code adjustment processes.
    2. Current code reuse tools are often expert-oriented, neglecting the needs of non-professional programmers.
    3. While live programming technologies facilitate interactive code manipulation, their usability in non-professional programming contexts remains limited.

Solution

  • What methods or solutions did the authors propose? The authors introduced a prototype tool called TweakIt, designed to help non-professional programmers efficiently adjust and reuse code through intuitive live code previews and comparison features integrated into their existing workflows.

  • What are the innovative aspects of this solution?

    1. Embedding code manipulation and preview functionalities into familiar spreadsheet applications (e.g., Excel), eliminating workflow interruptions.
    2. Implementing real-time code expression previews based on abstract syntax trees (AST), enabling users to understand code effects without fully executing it.
    3. Providing real-time comparison of code outputs, allowing users to intuitively grasp the impact of different code modifications.
  • What are the implementation steps and key technologies used?

    1. Tool Design and Implementation: Built on Microsoft Excel and the Office JavaScript API, enabling Python code execution within a browser environment.
    2. Code Parsing: Utilized abstract syntax trees to parse code expressions, identify user-selected code blocks, and offer immediate output previews.
    3. Output Display:
      • Presented intermediate Python results directly within spreadsheets, allowing users to view and compare outputs intuitively.
      • Dynamically calculated data input ranges, integrating with Excel spreadsheet data.
    4. Error Fixing and Package Management: Automatically detected and corrected common syntax errors (e.g., missing parentheses) and installed missing Python packages.

Research Outcomes

  • What specific outcomes were achieved?

    1. The authors conducted user research to summarize typical challenges faced by end-user programmers when adjusting code and translated these insights into design goals for TweakIt.
    2. User studies revealed that participants found the tool significantly improved their ability to understand code functionality.
    3. TweakIt’s output preview and comparison features were perceived as enhancing confidence in code exploration and reducing uncertainty about "black-box" code.
  • What advantages does it have compared to existing solutions?

    1. Strong Integration: Eliminates the need for additional tools or data exports, seamlessly integrating code manipulation into spreadsheet workflows.
    2. High Real-Time Capability: Supports real-time previews of code segments rather than requiring full execution, reducing trial-and-error time.
    3. User-Friendliness for Non-Professionals: Focuses on lowering the technical barrier to programming rather than requiring users to master complex tools or concepts.
  • What were the experimental or evaluation results?

    1. User experiments showed that compared to traditional code reuse workflows, TweakIt significantly increased users’ trust in understanding and exploring code functionality.
    2. While TweakIt did not substantially increase the number of tasks completed during experiments, users reported significant improvements in their experience and confidence.
    3. Users utilized TweakIt’s code preview feature more frequently, averaging 226 code output views compared to 27.6 views in the control group.
  • Limitations and Future Directions

    1. Current Limitations:
      • Insufficiently user-friendly error indications for syntax and runtime issues, limiting users’ ability to correctly adjust code.
      • Lack of support for large-scale data comparisons or efficient visualization of outputs.
    2. Future Research Directions:
      • Develop more comprehensible error messaging systems.
      • Integrate code suggestions and example generation to further lower the usage barrier.
      • Expand application scenarios to support other development environments and user groups.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/47918/2021

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3411764.3445265
At a Glance

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2021
emoji_events
Award
No award tagged
group
Authors
5 authors
sell
Subtopics
Knowledge Worker Tools & Workflows, Prototyping & User Testing
work
Professions
Software Engineers & Developers, UI/UX Designers
article
Content Status
Full text indexed
hub
Related Papers
10 related papers