Prodirect Manipulation: Bidirectional Programming for the Masses
Ravi Chugh

TL;DR
This paper proposes a new approach called prodirect manipulation that combines programmatic and direct manipulation interfaces to enhance user flexibility and system capabilities, aiming to bridge the gap between expert and end-user programming.
Contribution
It introduces two strategies—real-time program synthesis and domain-specific synthesis of general-purpose programs—to integrate programmatic and direct manipulation systems.
Findings
Conceptual framework for prodirect manipulation
Two proposed strategies for implementation
Discussion of evaluation metrics
Abstract
Software interfaces today generally fall at either end of a spectrum. On one end are programmable systems, which allow expert users (i.e. programmers) to write software artifacts that describe complex abstractions, but programs are disconnected from their eventual output. On the other end are domain-specific graphical user interfaces (GUIs), which allow end users (i.e. non-programmers) to easily create varied content but present insurmountable walls when a desired feature is not built-in. Both programmatic and direct manipulation have distinct strengths, but users must typically choose one over the other or use some ad-hoc combination of systems. Our goal, put simply, is to bridge this divide. We envision novel software systems that tightly couple programmatic and direct manipulation --- a combination we dub prodirect manipulation --- for a variety of use cases. This will require…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Advanced Malware Detection Techniques
