Understanding Version Control as Material Interaction with Quickpose

Cognitive Impairment & Neurodiversity (Autism, ADHD, Dyslexia)Knowledge Worker Tools & WorkflowsPrototyping & User TestingSoftware Engineers & DevelopersAI/ML Researchers & EngineersHCI Researchers

Title of the Paper

Understanding Version Control as Material Interaction with Quickpose

Bibliographic Information

  • Field of Study: Human-Computer Interaction (HCI), Version Control Systems, Creative Coding
  • Keywords: End-User Programming, Version Control Systems (VCS), Materiality, Variations, Creative Coding

Research Background and Problem Statement

  • Identified Problems or Challenges:

    • Current version control tools have limitations in supporting creative coding practices, particularly in enabling users to engage in "material interaction" with code and its historical versions.
    • These tools are typically focused on collaboration and retrospective support in software engineering, lacking features that support exploratory, annotative, and comparative practices essential for creative work.
  • Significance:

    • Understanding "material interaction" is crucial for optimizing design tools, enabling creative coders to better explore diversity and iterative processes.
    • Providing version control tools that support creative thinking could impact workflows, knowledge construction, and goal development in creative coding.
  • Research Motivation and Related Work:

    • The HCI field has extensively explored theories of "material interaction" in contexts such as education, creative practices, and cognition. However, these theories are rarely applied to specific domains.
    • Existing version control tools (e.g., Git) are widely used but are not designed to support creative behaviors and material interaction.
    • This paper aims to demonstrate Quickpose as a system that translates theory into a practical tool while exploring how to measure and support user behaviors.

Proposed Solution

  • Proposed Solution:

    • Design and implement Quickpose, a version control system tailored for creative coding.
    • Quickpose centers around an interactive canvas, allowing users to directly manipulate code versions, annotate version relationships, and support comparison and reflection through intuitive visualization.
  • Innovative Features:

    • Interactive canvas for version management: Users can explore and edit versions by clicking and dragging thumbnails.
    • Annotations linked to version states: Annotations not only analyze individual versions but also support the study of relationships between versions.
    • Support for depth (multiple iterations) and breadth (multi-branch exploration) in knowledge construction: Designed to accommodate varying levels of exploratory needs.
  • Implementation Steps and Key Technologies:

    • Developed a two-part system architecture:
      • Backend service integrated with the Processing IDE, providing version management and real-time status updates.
      • Frontend built on the Tldraw canvas library, offering an interactive version control interface for users.
    • System functionalities include:
      • Navigation between versions and branch creation (click/Shift+click).
      • Canvas annotations, version grouping, and arrangement.
      • Autosave and checkpoint creation to prevent data loss.
      • Color-coded export functionality, linking multiple versions via specific colors for export.

Research Outcomes

  • Specific Outcomes:

    1. Proposed three themes and action indicators for measuring "material interaction," including continuous goal redefinition, contextual exploration, and holistic linked annotations.
    2. Implemented Quickpose as a version control tool for creative coding, preliminarily validating these indicators.
    3. Qualitative and quantitative analyses indicate that Quickpose users can manage versions more effectively, highlighting material interaction behaviors.
  • Advantages:

    • Users can easily manage diverse exploration paths and goals during the coding process.
    • Annotations and visualizations enhance the organization and interpretability of version history.
    • Compared to existing tools, Quickpose is better suited to support creative practices and exploratory iteration.
  • Experimental or Evaluation Results:

    • The experiment collected data from 10 projects, totaling 192 hours of usage, 115 versions, and 178 annotations.
    • Data showed extensive use of version rollback and branch creation features. For instance, depth analysis of rollbacks revealed frequent user access to earlier versions.
    • Users expressed emotions and intentions regarding different versions through annotations, such as marking "final" versions or noting exploration directions.
  • Limitations and Future Directions:

    • Limitations: The study's scale was small, involving only four users over a 3-5 week period, making it difficult to capture long-term behaviors.
    • Future Directions:
      • Extend the study duration and include long-term tracking to explore the impact of version control on material interaction.
      • Expand Quickpose to other creative domains and non-visual applications, such as traditional software engineering or educational contexts.
      • Enhance support for broad exploration (e.g., better support for design galleries or automatic variable generation) to address current tool limitations.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/95934/2023

AdRecommended

Learn AI Coding at CodeNow

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

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2023
emoji_events
Award
No award tagged
group
Authors
4 authors
sell
Subtopics
Cognitive Impairment & Neurodiversity (Autism, ADHD, Dyslexia), Knowledge Worker Tools & Workflows, Prototyping & User Testing
work
Professions
Software Engineers & Developers, AI/ML Researchers & Engineers, HCI Researchers
article
Content Status
Full text indexed
hub
Related Papers
2 related papers