Morphic -
The Squeak User Interface
by Juan Manuel Vuletich
Back to Juan's studio
Morphic and conventional GUI builders
Most commercial programming tools encourage constructing user interfaces
by arranging some standard controls on a form or panel. This way you can
build visual metaphors that represent the control panes usually found in
real world machines. You can build an UI that looks and acts like the panel
of a stereo system, the panel of a microwave oven, the dashboard of a car,
etc. (including buttons, meters, knobs, and such). But you can't make a
decent visual metaphor of any other kind object, natural or made by man.
So, you can't build in this way a good metaphor for:
-
a letter
-
a photograph
-
the board of a game
-
a melody
-
a movie
-
a map
-
a sound s envelope
Even so, there are good and usable applications to manage these kinds of
objects. In these applications, the panels with buttons and checkboxes
are only auxiliary control panels, but not the main metaphor. For example,
the word processor where I m writing this has a big window full of WYSIWYG
text. That s the main metaphor. The toolbars are secondary to this. All
the applications I mentioned have a strong and good visual metaphor for
the objects they manage.
But when it comes to programming tools, this is forgotten. Very little
is spoken about this because it s difficult to generalize. Programming
tool vendors only give us several standard controls or widgets. And they
want to convince us that the only visual metaphor our objects need is a
catatonic icon.
This is where Morphic stands out.
The framework is fully in Smalltalk; there are no "primitive" widgets
or hidden functionality. This means that there are no restrictions to how
a morph will appear and react. There are morphs that behave like the widgets
usually found, and therefore conventional interfaces can be built. But
there are more interesting visual metaphors like CurveMorph, FishEyeMorph,
EnvelopeEditorMorph, or SpectrumAnalyzerMorph (see the next section with
a Squeak at hand to know them). And the framework is open end extensible.
It s not difficult to make new visual metaphors for our own objects, which
are perfectly integrated in the system.
This makes Morphic the ideal environment to experiment, learn and write
new styles in user interfaces, breaking away from what commercial programming
tools allows us to do. Morphic is the future of user interfaces.