Peer-Reviewed Conference and Workshop Papers
- Programs for People: What We Can Learn from Lab ProtocolsIEEE Int. Symp. on Visual Languages and Human-Centric Computing (VL/HCC), 2015
Humans play an active role in the execution of certain kinds of programs, such as spreadsheets, workflows and interactive notebooks. Interacting closely with execution is especially useful when end-users are learning from examples while doing their work. In order to better understand the language features needed to support this kind of use, we investigated a particularly rigid and formalized category of “program” people write for each other: lab protocols. These protocols present a linear, idealized process despite the complex contingencies of the lab work they describe. However, they employ a variety of techniques for limiting or expanding the semantic interpretation of individual steps and for integrating outside protocols. We use these observations to derive implications for the design of interactive and mixed-initiative programming languages.