Analysis of “SketchPad: A Man-Machine Graphical Communication System”

Summary:

The author describes how to use SketchPad through use of a “light pen” and a pad of buttons to issues commands. The example given is an irregular hexagon that is made regular by snapping it to a circle and then removing the circle.  This hexagon is then stored and new “sheet of paper” (clearing of the screen) allows for instances of it to be used and manipulated.  The author discusses how these “subpictures”, “constraints”, and “definition copying” mirror the process a designer goes through to satisfy design conditions, listing a few domains of usefulness (repetitive drawings, circuit simulations, etc.).  The author describes the “ring” data structure that allows new points, lines, and other data to be in what appears is a linked list.  Constraints and other drawing subroutines must fit a generic data structure.

Cursor is either at the position of the light pen or snapped to a line or intersection if within its buffer area.  Basic functions are draw, move, and delete. The author discusses the implementation for display of drawings including the lines, text, handles for constraints (if desired), and the magnification of drawings that might go outside the viewport.  Discussion continues on the recursive nature of deleting and merging points (which might have lines, constraints, etc. dependent on them), and also in the rendering of an instance (must be translated, rotated, and scaled to its position relative to the original data) and “attachers” (constraints that must persist through each instance).  The behavior for copying point, attacher, or entire instance is overviewed and is pretty standard.

When applying constraints to a drawing, two methods are proposed: one-pass (fast) and relaxation (slower, used when the former fails).  One-pass works by recognizing the variables in the structure (drawing) that satisfy their constraints and declaring them “free”?

The paper concludes with multiple sample uses (patterns, bridges, linkages, artistic drawings, etc.).

Discussion:

I like the idea of drawing shapes to make instances of them, just building your own library as you go.  If you like a shape, just drag it onto some shelf or area at the bottom and it’s ready for instancing by dragging copies of it out.  Unfortunately, SketchPad only allowed one “sheet” at a time (I assume some button combination was required to returned to the base drawing).

Obvious HCI flaw in the system: its heavy use of buttons.  I’m not sure if it had capability to duplicate a drawing (not the same as copying an instance of it).

This is an interesting quote: “It is only worthwhile to make drawings on the computer if you get something more out of the drawings than just a drawing.”  Is this still true today? This may a social achievement of HCI when a young student in class will get lost in doodling on his tablet PC instead of a piece of paper for just for the sake of doodling.  Perhaps this isn’t really possible till digital paper becomes common place (”paper” will always be the ultimate medium).

Edit: I add my comment here to this discussion.

Comments Made Elsewhere:

  1. Nabeel’s Blog

2 Comments so far

  1. [...] Summary: Paper opens with summary of this paper. [...]

  2. Akshay Bhat on August 28th, 2008

    Just to take that doodling thing further. I wonder what it would be like when that boy draws a little mouse on his notebook and instantly the mouse starts prancing around wagging its tail. It might also jump into other students’ notebooks and jumble up the alphabets there(ofcourse digital paper would be networked). Well that sure would be sketch recognition… and that class would be fun!! For now I can’t imagine the same boy struggling with a dozen knobs just to make his doodle take a curve.

Leave a reply

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image