Where does Morphic stand out?
Last updated at 12:59 pm UTC on 28 February 2019
Citation from Juan Manuel Vuletich (with minor typos fixed)
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 a 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 is 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 implemented 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 learn about them). And the framework is open and 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 allow us to do. Morphic is the future of user interfaces.
Note: Cuis has a reduced version of Morphic. So it might be an idea to look at Cuis also to learn about Morphic.