Affiliation:
1. University of Chicago, USA
Abstract
Direct manipulation interfaces and programmatic systems have distinct and complementary strengths. The former provide intuitive, immediate visual feedback and enable rapid prototyping, whereas the latter enable complex, reusable abstractions. Unfortunately, existing systems typically force users into just one of these two interaction modes. We present a system called Sketch-n-Sketch that integrates programmatic and direct manipulation for the particular domain of Scalable Vector Graphics (SVG). In Sketch-n-Sketch, the user writes a program to generate an output SVG canvas. Then the user may directly manipulate the canvas while the system immediately infers a program update in order to match the changes to the output, a workflow we call live synchronization. To achieve this, we propose (i) a technique called trace-based program synthesis that takes program execution history into account in order to constrain the search space and (ii) heuristics for dealing with ambiguities. Based on our experience with examples spanning 2,000 lines of code and from the results of a preliminary user study, we believe that Sketch-n-Sketch provides a novel workflow that can augment traditional programming systems. Our approach may serve as the basis for live synchronization in other application domains, as well as a starting point for yet more ambitious ways of combining programmatic and direct manipulation.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Trace-Guided Inductive Synthesis of Recursive Functional Programs;Proceedings of the ACM on Programming Languages;2023-06-06
2. What We Can Learn From Visual Artists About Software Development;Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems;2021-05-06
3. Adding interactive visual syntax to textual code;Proceedings of the ACM on Programming Languages;2020-11-13
4. B2;Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology;2020-10-20
5. RealitySketch;Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology;2020-10-20