Strange Loop

Sketch-n-Sketch: Interactive SVG Programming with Direct Manipulation

Programmatic and direct manipulation systems have distinct and complementary strengths, but users must typically choose one over the other or use some ad-hoc combination of systems. As an attempt to bridge this divide, we are developing an interactive programming system called Sketch-n-Sketch for creating Scalable Vector Graphics.

Sketch-n-Sketch offers a high-level, functional programming language paired with GUI-based tools for manipulating program output: these tools help to encode user intent by semi-automatically rewriting the program with new relationships, and help to preserve existing relationships in the program when output values are directly manipulated. The resulting workflow allows for prototyping a design much like in typical GUI-based tools and then iteratively adding more structure to the program with guidance from the system.

In this talk, we will demo Sketch-n-Sketch, describe our approaches to the technical challenges, and discuss ideas for combining programmatic and direct manipulation in other settings.

Ravi Chugh

Ravi Chugh

University of Chicago

Ravi Chugh is an Assistant Professor of Computer Science at the University of Chicago. Ravi's research interests include developing and deploying programming language technology for applications in software engineering and human-computer interaction. Currently, his primary research obsession is to develop new kinds of user interfaces that allow people (programmers and non-programmers alike) to be more productive and creative. In 2015, Ravi received a Neubauer Faculty Fellowship for innovative and effective undergraduate teaching, as well as a College Research Fellows award to support undergraduate research. Before moving to Chicago, Ravi earned his Ph.D. at UC San Diego, as well as master's and bachelor's degrees from the University of Pennsylvania. More info about Ravi's research, teaching, and programming interests can be found on his website.