ThingLab is a visual programming environment implemented in Smalltalk and designed at Xerox PARC by Alan Borning. A conventional system allows a user to provide inputs that produce outputs. A constraint-oriented system, such as ThingLab, allows the user to provide arbitrary inputs or outputs, then solves for whatever is unknown. ThingLab is viewed as one of the earliest constraint-oriented systems. ThingLab is credited in "Fumbling the Future" as a big reason Xerox continued to fund computer development. External links ThingLab Sources Visual programming languages Integrated development environments