Imagine that you want to create a complex digital artifact, such as a document, spreadsheet, illustration, visualization, or web application. As an expert, you know that programming is the way to go. But you also know that, by choosing this route, you will forgo the joys of direct manipulation, graphical user interfaces. Ideally, programming systems would require less keyboard-based text-editing for tedious and error-prone tasks and, instead, allow more interactive mouse-based editing.
In this talk, I will present Sketch-n-Sketch, a direct manipulation programming system for creating vector graphic illustrations. Sketch-n-Sketch augments a traditional, unrestricted text-based programming language with two capabilities: (1) direct manipulation of output to semi-automatically prototype, repair, and refactor programs, and (2) direct manipulation of code to perform structured editing and refactoring tasks. With these features, the user spends keystrokes on more creative and difficult tasks that are harder to automate. To wrap up, I will describe plans to adapt and extend these ideas to realize direct manipulation programming systems for a variety of software engineering and application domains.
Ravi Chugh is an Assistant Professor of Computer Science at the University of Chicago, where he aims to develop and deploy programming language technology for applications in software engineering and human-computer interaction. Ravi received an NSF CAREER Award in 2017, and a Neubauer Fellowship from the University of Chicago in 2015 for innovative and effective teaching.