Morphic - The Squeak User Interface

by Juan Manuel Vuletich

Back to Juan's studio


John Maloney and Randy Smith originally developed Morphic as the Self user interface framework. The Self project was developed at Sun Microsystems. Basically, it was like a Smalltalk system but without classes. The development was officially stopped, but it had a strong influence on other systems. That version of the framework is described in [7]. Later, John joined Squeak Central, and Morphic was ported to Squeak.

 Morphic in Self

As stated above, Self is an object environment similar to Smalltalk. But it has no classes. So, objects are created by copying a prototype object, and modifying it. Variables and methods can be added. The way to build a new morph in Self is therefore to clone some existing one, and by manipulating with Morphic tools, to add submorphs and methods as needed. (There are some administrative details to make this new morph available for further reuse by copying it.) If you are interested in the Self project and its Morphic implementation, you can read the Self Morphic paper, or look in

Adapting the Morphic framework to Squeak Smalltalk

Smalltalk is a class based language. This shows the need for a class hierarchy. As Self Morphic had clearly separated prototype morphic object from the morphs you actually use, it was possible to turn each one into a Smalltalk class. This gave the basic Morphic hierarchy for Squeak.