Understanding Version Control as Material Interaction with Quickpose

Whether a programmer with code or a potter with clay, practitioners engage in an ongoing process of working and reasoning with materials. Existing discussions in HCI have provided rich accounts of these practices and processes, which we synthesize into three themes: (1) reciprocal discovery of goals and materials, (2) local knowledge of materials, and (3) annotation for holistic interpretation. We then apply these design principles generatively to the domain of version control to present Quickpose: a version control system for creative coding. In an in-situ, longitudinal study of Quickpose guided by our themes, we collected usage data, version history, and interviews. Our study explored our participants’ material interaction behaviors and the initial promise of our proposed measures for recognizing these behaviors. Quickpose is an exploration of version control as material interaction, using existing discussions to inform domain-specific concepts, measures, and designs for version control systems.

[1]  E. Paulos,et al.  Towards Creative Version Control , 2022, Proc. ACM Hum. Comput. Interact..

[2]  P. Dalsgaard,et al.  How Researchers Manage Ideas , 2022, Creativity & Cognition.

[3]  Nadya Peek,et al.  p5.fab: Direct Control of Digital Fabrication Machines from a Creative Coding Environment , 2022, Conference on Designing Interactive Systems.

[4]  César Torres,et al.  Glaze Epochs: Understanding Lifelong Material Relationships within Ceramics Studios , 2022, TEI.

[5]  Wendy E. Mackay,et al.  Generative Theories of Interaction , 2021, ACM Trans. Comput. Hum. Interact..

[6]  Daragh Byrne,et al.  Probing Documentation Practices: Reflecting on Students’ Conceptions, Values, and Experiences with Documentation in Creative Inquiry , 2021, Creativity and Cognition.

[7]  Robert DeLine,et al.  Fork It: Supporting Stateful Alternatives in Computational Notebooks , 2021, CHI.

[8]  Fanny Chevalier,et al.  multiverse: Multiplexing Alternative Data Analyses in R Notebooks , 2021, CHI.

[9]  Jingyi Li,et al.  What We Can Learn From Visual Artists About Software Development , 2021, CHI.

[10]  Jeffrey Heer,et al.  Boba: Authoring and Visualizing Multiverse Analyses , 2020, IEEE Transactions on Visualization and Computer Graphics.

[11]  Daniel Cardoso Llach,et al.  Stamper: An Artboard-Oriented Creative Coding Environment , 2020, CHI Extended Abstracts.

[12]  Steve Oney,et al.  Callisto: Capturing the "Why" by Connecting Conversations with Computational Narratives , 2020, CHI.

[13]  Maneesh Agrawala,et al.  Supporting Visual Artists in Programming through Direct Inspection and Control of Program Execution , 2020, CHI.

[14]  Eli Alshanetsky Articulating a Thought , 2020 .

[15]  J. Elkins What Painting Is: How to Think about Oil Painting Using the Language of Alchemy , 2019 .

[16]  Peter Dalsgaard,et al.  Strategies in Creative Professionals' Use of Digital Tools Across Domains , 2019, Creativity & Cognition.

[17]  Andruid Kerne,et al.  Multiscale Design Curation: Supporting Computer Science Students' Iterative and Reflective Creative Processes , 2019, Creativity & Cognition.

[18]  Soya Park,et al.  Post-literate Programming: Linking Discussion and Code in Software Development Teams , 2018, UIST.

[19]  Rob Miller,et al.  Glanceable code history: visualizing student code for better instructor feedback , 2018, L@S.

[20]  Peter Dalsgaard,et al.  Understanding Craft-Based Inquiry in HCI , 2018, Conference on Designing Interactive Systems.

[21]  Holger Winnemöller,et al.  Charrette: Supporting In-Person Discussions around Iterations in User Interface Design , 2018, CHI.

[22]  Daniela Karin Rosner,et al.  Lessons from the Woodshop: Cultivating Design with Living Materials , 2018, CHI.

[23]  Adrian Friday,et al.  Evaluating HCI Research beyond Usability , 2018, CHI Extended Abstracts.

[24]  Mikael Wiberg,et al.  The Materiality of Interaction: Notes on the Materials of Interaction Design , 2018 .

[25]  Mary Beth Kery Tools to support exploratory programming with data , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[26]  Brad A. Myers,et al.  Exploring exploratory programming , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[27]  Takeo Igarashi,et al.  Micro-Versioning Tool to Support Experimentation in Exploratory Programming , 2017, CHI.

[28]  Brad A. Myers,et al.  Variolite: Supporting Exploratory Programming by Data Scientists , 2017, CHI.

[29]  Peter Dalsgaard,et al.  Instruments of Inquiry: Understanding the Nature and Role of Tools in Design , 2017 .

[30]  Daniel Jackson,et al.  Purposes, concepts, misfits, and a redesign of git , 2016, OOPSLA.

[31]  Jan O. Borchers,et al.  Chronicler: Interactive Exploration of Source Code History , 2016, CHI.

[32]  Shinpei Hayashi,et al.  Slicing Fine-Grained Code Change History , 2016, IEICE Trans. Inf. Syst..

[33]  Brad A. Myers,et al.  2015 Ieee Symposium on Visual Languages and Human-centric Computing (vllhcc) Semantic Zooming of Code Change History , 2022 .

[34]  C. Schunn,et al.  The importance of iteration in creative conceptual combination , 2015, Cognition.

[35]  J. Thiel Vibrant Matter , 2015 .

[36]  Brad A. Myers,et al.  Selective Undo Support for Painting Applications , 2015, CHI.

[37]  Naghmi Shireen,et al.  GEM-NI: A System for Creating and Managing Alternatives In Generative Design , 2015, CHI.

[38]  Philip J. Guo,et al.  OverCode , 2015 .

[39]  Daniela Karin Rosner,et al.  Resisting Alignment: Code and Clay , 2015, TEI.

[40]  Philip J. Guo,et al.  OverCode: visualizing variation in student solutions to programming problems at scale , 2014, ACM Trans. Comput. Hum. Interact..

[41]  Brad A. Myers,et al.  A demonstration of AZURITE: Backtracking tool for programmers , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[42]  Brad A. Myers,et al.  A longitudinal study of programmers' backtracking , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[43]  Robert Woodbury,et al.  CAMBRIA: a tool for managing multiple design alternatives , 2014, DIS Companion '14.

[44]  Mikael Wiberg,et al.  Methodology for materiality: interaction design research through a material lens , 2014, Personal and Ubiquitous Computing.

[45]  Björn Hartmann,et al.  Authoring multi-stage code examples with editable code histories , 2013, UIST.

[46]  L. Malafouris How Things Shape the Mind: A Theory of Material Engagement , 2013 .

[47]  Brian P. Bailey,et al.  ReflectionSpace: an interactive visualization tool for supporting reflection-on-action in design , 2013, Creativity & Cognition.

[48]  T. Ingold Making: Anthropology, Archaeology, Art and Architecture , 2013 .

[49]  David Kirsh,et al.  Embodied cognition and the magical future of interaction design , 2013, TCHI.

[50]  Jie Qi,et al.  Microcontrollers as material: crafting circuits with paper, conductive ink, electronic components, and an "untoolkit" , 2013, TEI '13.

[51]  Toby Schachman,et al.  Alternative programming interfaces for alternative programmers , 2012, Onward! 2012.

[52]  Erik Stolterman,et al.  Digital form and materiality: propositions for a new approach to interaction design research , 2012, NordiCHI.

[53]  Kristina Höök,et al.  Strong concepts: Intermediate-level knowledge in interaction design research , 2012, TCHI.

[54]  Andrés Lucero,et al.  Framing, aligning, paradoxing, abstracting, and directing: how design mood boards work , 2012, DIS '12.

[55]  Brad A. Myers,et al.  An exploratory study of backtracking strategies used by developers , 2012, 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE).

[56]  Alan Dix,et al.  Externalisation and design , 2011, DESIRE.

[57]  Scott R. Klemmer,et al.  d.tour: style-based exploration of design example galleries , 2011, UIST.

[58]  Li-Yi Wei,et al.  Nonlinear revision control for images , 2011, SIGGRAPH 2011.

[59]  Daniel L. Schwartz,et al.  Prototyping dynamics: sharing multiple designs improves exploration, group rapport, and results , 2011, CHI.

[60]  Tovi Grossman,et al.  Chronicle: capture, exploration, and playback of document workflow histories , 2010, UIST.

[61]  Youngok Choi,et al.  The communication of meaning and the structuration of expectations: Giddens' “structuration theory” and Luhmann's “self-organization” , 2010 .

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

[63]  Ronen I. Brafman,et al.  Designing with interactive example galleries , 2010, CHI.

[64]  Jane Bennett Vibrant Matter: A Political Ecology of Things , 2010 .

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

[66]  Frédo Durand,et al.  Interactive Visual Histories for Vector Graphics , 2009 .

[67]  Kai Hakkarainen,et al.  A knowledge-practice perspective on technology-mediated learning , 2009, Int. J. Comput. Support. Collab. Learn..

[68]  Johnny Saldaña,et al.  The Coding Manual for Qualitative Researchers , 2009 .

[69]  Marc Downie,et al.  Field—a new environment for making digital art , 2008, CIE.

[70]  Scott R. Klemmer,et al.  Design as exploration: creating interface alternatives through parallel authoring and runtime tuning , 2008, UIST '08.

[71]  Ben Shneiderman,et al.  Creativity support tools: accelerating discovery and innovation , 2007, CACM.

[72]  Scott R. Klemmer,et al.  How bodies matter: five themes for interaction design , 2006, DIS '06.

[73]  Abigail Sellen,et al.  Getting the right design and the design right , 2006, CHI.

[74]  Elizabeth D. Mynatt,et al.  Variation in element and action: supporting simultaneous development of alternative solutions , 2004, CHI.

[75]  James D. Hollan,et al.  Distributed cognition: toward a new foundation for human-computer interaction research , 2000, TCHI.

[76]  A. Clark,et al.  The Extended Mind , 1998, Analysis.

[77]  Donald A. Schön Designing as reflective conversation with the materials of a design situation , 1992, Knowl. Based Syst..

[78]  John M. Carroll,et al.  Artifact as theory-nexus: hermeneutics meets theory-based design , 1989, CHI '89.

[79]  R. J. Bogumil,et al.  The reflective practitioner: How professionals think in action , 1985, Proceedings of the IEEE.

[80]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[81]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[82]  Donna Harawy Situated Knowledges: The Science Question in Feminism and the Privilege of Partial Perspective , 2022, Philosophical Literary Journal Logos.

[83]  Monika Richter,et al.  Cognition In The Wild , 2016 .

[84]  R. Sennett,et al.  The Craftsman , 2015, London.

[85]  James D. Hollan,et al.  Studying episodic access to personal digital activity: activity trails prototype , 2011 .

[86]  A. Blackwell,et al.  Direct Manipulation , 2009, Encyclopedia of Database Systems.

[87]  Casey Reas,et al.  Processing: a programming handbook for visual designers and artists , 2007 .

[88]  N. Cross Designerly ways of knowing , 2006 .

[89]  Ben Shneiderman,et al.  Design Principles for Tools to Support Creative Thinking , 2005 .

[90]  C. P. Goodman,et al.  The Tacit Dimension , 2003 .

[91]  Henrik Gedenryd How designers work - making sense of authentic cognitive activities , 1998 .

[92]  Malcolm McCullough,et al.  Abstracting Craft: The Practiced Digital Hand , 1996 .