## A Differential Approach to Graphical Interaction

Michael Gleicher
School of Computer Science
Carnegie Mellon University
November, 1994

My thesis, A Differential Approach to Graphical Interation, discusses the use of numerical constraint solving as a basis for the creation of direct manipulation graphical interfaces. It presents mathematical methods for constraint solving, numerical methods for implementation, system architecture design for encapsulating the methods, and examples of interaction techniques and applications created with the approach.

The complete abstract is available online.

This lamp image is one of my favorite examples from the thesis. It's in Chapter 1. For your viewing pleasure, I've made a bunch of the images from the thesis available in a gallery of pictures from the thesis. This might be your only opportunity to see the pictures in color.

Tinkertoys was an example application.
A Differential Approach to Graphical Interation, is a 250 page monstrosity. You can grab the huge postscript or acrobat file, but you are probably better off just grabbing it in pieces. Save a tree and view it on the screen.

(update, 10/16/2006) The thesis was typeset in a way (using a bizarre set of LaTeX macros) that I cannot recreate. In fact, most PS->PDF converters still have assorted problems with it. Today, I tried using a newer ghostscript-based ps2pdf, and it seems to work better (Acrobat 7 doesn't work at all!) so the file "thesis-all.pdf" seems to be OK (I haven't checked the whole thing, but many of the problematic pages look OK.) I have not yet converted all of the chapter files.

Chapter 1: Introduction
(Postscript) (Acrobat)
Chapter 2: Related Work
(Postscript) (Acrobat)
Chapter 3: Differential Techniques
This is the chapter that talks about the math.
(Postscript) (Acrobat)
Chapter 4: Efficient Solving
How to solve constraints fast.
(Postscript) (Acrobat)
Chapter 5: Snap-Together Math
How to hook things together on the fly.
(Postscript) (Acrobat)
Chapter 6: Controllers
How to describe interaction techniques using constraints.
(Postscript) (Acrobat)
Chapter 7: A Graphics Toolkit
How to simplify the process of building applications.
(Postscript) (Acrobat)
Chapter 8: Interaction Techniques
Some things you can do with constraints
(Postscript) (Acrobat)
Chapter 9: Example Applications
The things I built.
(Postscript) (Acrobat)
Chapter 10: Evaluation and Future Work
(Postscript) (Acrobat)
Appendix A: The Whisper Programming Language
My own dialect of LISP that I used.
(Postscript) (Acrobat)
Appendix B: Performance of the Implementation
Statistics on how fast things really were.
(Postscript) (Acrobat)
Bibliography
Pretty comprehensive for the date (summer 1994).
(Postscript) (Acrobat)