Focused Live Programming with Loop Seeds
Authors
Live programming is a paradigm in which the programmer can visualize the runtime values of the program each time the program changes. The promise of live programming depends on using test cases to run the program and thereby provide these runtime values. In this paper we show that in some situations test cases are insuffcient in a fundamental way, in that there are no test inputs that can drive certain incomplete loops to produce useful data, a problem we call the loop-datavoid problem. The problem stems from the fact that useful data inside the loop might only be produced after the loop has been fully written. To solve this problem, we propose a paradigm called Focused Live Programming with Loop Seeds, in which the programmer provides hypothetical values to start a loop iteration, and then the programming environment focuses the live visualization on this hypothetical loop iteration. We introduce the loop-datavoid problem, present our proposed solution, explain it in detail, and then present the results of a user study.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 67%
TutoAI: a cross-domain framework for AI-assisted mixed-media tutorial creation on physical tasks
CHI '24· AI-Assisted Creative Writing +2
- 60%
How Social Dynamics and the Context of Digital Content Impact Workplace Remix
CHI '18· Creative Collaboration & Feedback Systems +1
- 60%
Improving Discoverability and Expert Performance in Force-Sensitive Text Selection for Touch Devices with Mode Gauges
CHI '18· Force Feedback & Pseudo-Haptic Weight +1
- 60%
Doppio: Tracking UI Flows and Code Changes for App Development
CHI '18· Knowledge Worker Tools & Workflows +1
- 60%
Training Person-Specific Gaze Estimators from User Interactions with Multiple Devices
CHI '18· Eye Tracking & Gaze Interaction +1
- 60%
Computational Support for Functionality Selection in Interaction Design
CHI '18· User Research Methods (Interviews, Surveys, Observation) +1
- 60%
AdaM: Adapting Multi-User Interfaces for Collaborative Environments in Real-Time
CHI '18· Mixed Reality Workspaces +1
- 60%
Crowdsourcing Interface Feature Design with Bayesian Optimization
CHI '19· Crowdsourcing Task Design & Quality Control +1
- 60%
TapNet: The Design, Training, Implementation, and Applications of a Multi-Task Learning CNN for Off-Screen Mobile Input
CHI '21· Foot & Wrist Interaction +1
- 60%
Varv: Reprogrammable Interactive Software as a Declarative Data Structure
CHI '22· Prototyping & User Testing +1
Based on Jaccard similarity of research subtopics & professions (≥60%)