Sketchpad

A short demo of Alex’s Sketchpad remake running on iPad, showcasing the two-handed GUI and reusable instances.

Ivan Sutherland’s Sketchpad is a seminal work in computer science, one of the very first computer systems with a graphical user interface. It pioneered the use of objects with its “masters” and “instances”, and nonprocedural programming with automatically-enforced geometric constraints. Originally developed for the TX-2, an experimental computer the size of a football field that unfortunately no longer exists, Sketchpad paved the way for the fields of Human-Computer Interaction and Computer-Aided Design.

Lab researcher Alex Warth is working on a recreation of Sketchpad that runs on iPad and in the browser. Without the actual TX-2 hardware it’s not possible to faithfully recreate the original interface, comprising a vector display flanked by knobs with a light-sensing stylus on a cable. So for this remake the visual design, pen-and-finger gestures, and system functionality largely honor the original but deviate in a few key spots to improve usability.

Why remake Sketchpad?

The project has two overarching goals. First, its an opportunity for us to better understand the design of the original. How did it feel to use? How does it differ from the GUI tools that came afterward? Have our modern tools fully surpassed it, or might it still offer lessons for us 60+ years later? A second goal is to help people appreciate the historical significance of Sketchpad. The record is limited to short video clips, a few photos, Sutherland’s writings, and a few contemporary descriptions. No running implementation is known to exist. The remake allows this historical piece of software to be understood in its truest form — as running software.

Speaking personally, Alex shared another benefit of remaking Sketchpad: the system is from a time so early in history of computing that, by modern standards, it’s strikingly simple. This makes it useful as environment for running experiments. One such experiment had Alex rework the data model in terms of Worlds, and then build a new graphical interface for scrubbing through tree-shaped graphs of edit history, an idea he plans to reference in future work.

What’s next?

The project is still work-in-progress. When finished, we’ll expand this page with more findings and references. Until then, you can track the development in the repo and by following Alex.

Alex would like to thank the following people for their help with the project: Alan Borning, Vanessa Freudenberg, Dan Ingalls, Ted Kaehler, Alan Kay, and Yoshiki Ohshima.