In the early 1990s I gave presentations on using graphics in software development, several times with Alan Kay in the audience. At one point, I believe to remember, he mentioned he hadn’t seen that kind of vision or clarity since Sutherland‘s Sketchpad. Two decades later I downloaded Sutherland’s 1963 thesis, and read some of it.
Recently I searched Sutherland’s Sketchpad thesis for the word “constraint” and found it 127 times in 143 pages.
To quote verbatim from Chapter I, Introduction:
As the work has progressed, several simple and very widely applicable facilities have been discovered and implemented. They provide a subpicture capability for including arbitrary symbols on a drawing, a constraint capability for relating the parts of a drawing in any computable way, and a definition copying capability for building complex relationships from combinations of simple atomic constraints. When combined with the ability to point at picture parts given by the demonstrative light pen language, the subpicture, constraint, and definition copying capabilities produce a system of extraordinary power. As was hoped at the outset, the system is useful in a wide range of applications, and unforseen uses are turning up.
That made me think, Adj really does provide something fundamental. Other than Adj, constraints aren’t readily available, easy to use, and free of charge. Not in generally available, general purpose, zero or low-cost drawing software.
In publishing this post I am risking ridicule: Maybe I have overlooked something similar. Please let me know. I would look at whatever you suggest and, just as I did before I bothered making Adj, try to analyze whether it facilitates or enables doing what I want to do with Adj and SVG, the same kind of drawings, with the same kind of features and efficiency.