Lune

CHI2026Top-tier venue

Programming By Scaffolded Demonstration with Perpend

Angela Bi, Eric Rawn, Justin Lubin, Sarah E. Chasins

2026Year
2Citations

Abstract

Output-centric programming paradigms such as Direct Manipulation Programming, Programming By Demonstration, and Programming By Example enable users to author programs by constructing an intended output. However, sometimes the purpose of a programming interaction is to discover an “intended output” in the first place (e.g., exploratory data analysis, improvisational creative coding, early-stage prototyping). We argue that one role for output-centric programming here is scaffolding the user in demonstrating their next program editing step by selecting among possible modifications to their current program. We call this Programming By Scaffolded Demonstration (PBSD). To explore PBSD, we built Perpend, a programming environment for p5.js. In a user study with nine artists, we juxtapose Perpend with an existing Direct Manipulation editor, exploring how participants used Perpend to situate themselves within a space of possible programs, shift focus between program text and visual output, and shape their exploration by modifying their program structure.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 954c9165-8af3-4f2e-b29b-d3889ff3968d

Builds on31

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines