Semi-Automated SVG Programming via Direct Manipulation

Semi-Automated SVG Programming via Direct Manipulation
复制标题

通过直接操作进行半自动 SVG 编程

DOI:
--
复制
发表时间:
2016
期刊:
ACM Symposium on User Interface Software and Technology
影响因子:
--
通讯作者:
Ravi Chugh
Ravi Chugh
中科院分区:
--
文献类型:
--
作者:
Brian Hempel;Ravi Chugh

文献摘要

被引文献

相似文献

直接的操作接口为广泛的用户提供直观和交互的功能,但是它们经常表现出两个限制:内置功能不可能涵盖所有用例,并且内容的内部表示不容易暴露。我们认为,如果直接操纵接口是(a)使用通用程序作为表示格式,并且(b)将这些程序暴露给用户,那么专家可以以强大的新方式自定义这些系统,而非专家可以享受一些享受可编程系统的好处。在最近的工作中,我们介绍了一个名为Sketch-n-Sketch的原型SVG编辑器,该编辑为这一愿景提供了一步。在该系统中,用户在通用的lambda-calculus中编写了一个程序来生成图形设计,然后可以直接操纵输出以在操作过程中实时更改程序中间接更改设计参数(即常量的文字)。不幸的是,编程所需关系的负担完全取决于用户。在本文中,我们为Sketch-N-Sketch设计和实施新功能,以帮助编程过程本身。与典型的直接操纵系统一样,我们的扩展草图-N-Sketch现在提供了基于GUI的工具,用于绘制形状,将形状相互关联并将形状分组在一起。但是,与典型的系统不同,每个工具通过转换其通用程序来实现用户的意图。这款小说,半自动化的编程工作流程使用户可以在程序中迅速创建高级,可重复使用的抽象,同时保留直接操纵功能。在以后的工作中,我们的方法可能会以更多的图形设计功能扩展,也可以用于其他应用程序域。
Direct manipulation interfaces provide intuitive and interactive features to a broad range of users, but they often exhibit two limitations: the built-in features cannot possibly cover all use cases, and the internal representation of the content is not readily exposed. We believe that if direct manipulation interfaces were to (a) use general-purpose programs as the representation format, and (b) expose those programs to the user, then experts could customize these systems in powerful new ways and non-experts could enjoy some of the benefits of programmable systems. In recent work, we presented a prototype SVG editor called Sketch-n-Sketch that offered a step towards this vision. In that system, the user wrote a program in a general-purpose lambda-calculus to generate a graphic design and could then directly manipulate the output to indirectly change design parameters (i.e. constant literals) in the program in real-time during the manipulation. Unfortunately, the burden of programming the desired relationships rested entirely on the user. In this paper, we design and implement new features for Sketch-n-Sketch that assist in the programming process itself. Like typical direct manipulation systems, our extended Sketch-n-Sketch now provides GUI-based tools for drawing shapes, relating shapes to each other, and grouping shapes together. Unlike typical systems, however, each tool carries out the user's intention by transforming their general-purpose program. This novel, semi-automated programming workflow allows the user to rapidly create high-level, reusable abstractions in the program while at the same time retaining direct manipulation capabilities. In future work, our approach may be extended with more graphic design features or realized for other application domains.