Sketch-n-Sketch: Output-Directed Programming for SVG

360° Video & Panoramic ContentCreative Coding & Computational ArtSoftware Engineers & DevelopersVisual Artists & Designers

For creative tasks, programmers face a choice: Use a GUI and sacrifice flexibility, or write code and sacrifice ergonomics? To obtain both flexibility and ease of use, prior work on a system called Sketch-n-Sketch proposed a workflow that we call output-directed programming, in which direct manipulation of the program's graphical output corresponds to writing code in a general-purpose programming language, and where edits not possible with the mouse can still be affected through ordinary text edits to the program. Sketch-n-Sketch demonstrated that output-directed programming is feasible in the domain of vector graphics: some parametric designs can be created entirely by output-directed interactions, without any textual programming. In this paper, we propose that output-directed programming be viewed not just as manipulation of output alone, but as actions taken with respect to the entire program execution history. Within this new conceptual framework, we explore a variety of novel techniques that extend the expressive power of output-directed programming in Sketch-n-Sketch. We relax syntactic restrictions, expose intermediate execution states for manipulation, and add new program transformations for SVG tasks. To demonstrate the improved expressiveness, we implement a dozen new parametric designs (without text-based edits), including the first demonstration of recursion in an output-directed programming setting.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/uist/3485/2019

AdRecommended

Learn AI Coding at CodeNow

At a Glance

Paper Snapshot

fact_check
dataset
Source
UIST
calendar_month
Year
2019
emoji_events
Award
No award tagged
group
Authors
3 authors
sell
Subtopics
360° Video & Panoramic Content, Creative Coding & Computational Art
work
Professions
Software Engineers & Developers, Visual Artists & Designers
article
Content Status
Abstract only
hub
Related Papers
1 related papers