Software for editing media (text, images, audio, video, etc.) faces an essential tension. Direct manipulation enables users to edit media fluidly, as the user can make changes directly to the final product rather than first describing each change programmatically. On the other hand, programming enables users to accomplish tasks that would be tedious or impossible via direct manipulation and can capture intent precisely. Problems arise when these two paradigms are combined, as in editors that support end-user programming. Such applications typically allow the user to go from direct to programmatic manipulation by creating some material directly and then transforming it programmatically (as in a spreadsheet formula). However, if the user then wishes to go back the other way by tweaking the computed output, they face a dilemma: either direct manipulation of the output is forbidden, in which case tweaks must be described programmatically by the user (sacrificing directness), or the computed output must be first copied before it can be changed, in which case the program is abandoned (sacrificing intention). TAPE, the Transformative Action-Preserving Editor, is a text-based prototype intended to suggest a general way out of the dilemma. By allowing direct edits and immediate actions in computed regions, which are automatically recorded as composable transformations, TAPE enables the user to go back and forth between direct and programmatic manipulation without sacrificing either.
Mon 21 OctDisplayed time zone: Pacific Time (US & Canada) change
14:00 - 15:30 | |||
14:00 20mTalk | Run, Build and Grow Small Systems Without Leaving Your Text Editor LIVE | ||
14:20 20mTalk | TAPE: From direct to programmatic and back LIVE Ian Clester Georgia Institute of Technology | ||
14:40 10mTalk | Diff-based interactive compiler debugging and testing LIVE Luyu Cheng Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology) Link to publication | ||
14:50 10mTalk | Example-driven development: bridging tests and documentation LIVE Link to publication DOI | ||
15:00 20mTalk | Live Programming a Live Programming Environment: An Experience Report LIVE Elliot Evans Polytope, Philippa Markovics Nextjournal, Martin Kavalar Nextjournal, Andrea Amantini Nextjournal, Jack Rusher Nextjournal |