Thinking about a better UI

Leandro Caniglia caniglia at
Thu Apr 15 12:54:28 UTC 1999

Les wrote:
>> Les, have you played with MathMorphs?
>> Mark
>Yes- in my system, I'm doing something along those lines, but rather
>than expose the raw methods I expose an object's services.  Unary
>messages are easy, but services requiring additional arguments require
>a bit more support.  In my scheme you would request a service, which
>would present itself within the user interface, and then you would
>interact with that service by either specifying or dragging arguments
>into the presentation of the service.  When it is ready, the service
>can be activated to obtain its result.

Les. The package that Mark is talking about exposes object's services too.
You can drag arguments and then select a service (i.e., a message). We
call them MorphicWrappers. We use MW to teach and work in Squeak in
general and more intensively in the MathMorphs project.

What is nice with MW is the way you use them to create new objects:
all you need is start typing 'on the air' (i.e. on the World) any Squeak
expression that makes sense. Immediately a floating Balloon appears.
You edit your expression inside the Balloon. Hitting enter the expression
gets evaluated and PLOP!! the resulting object suddenly appears
shaking attached to your hand.

By placing the hand on an object the Squeak expressions you write
interpret self as the focused object. The MorphicWrappers also
provide programming capabilities as you have noticed. If you use
MWs, you don't need workspaces nor browsers. This eliminates
many of the windows we are used to work on.

Moreover, in order to minimize typing, MW doesn't use
menus. Instead of menus MW uses a history of typed expressions.
Different histories are remembered for different situations so you can
easily find the expression you are looking for and use it 'as is' or edit
it to suit your new needs. Histories are better than menus because
they are dynamic and may be effortless modified.

We really love the MorphicWrappers and would appreciate very
much any contributions to enhance them.

/Leandro (for the MW fans club)

PD: The current version of MW works nice with 2.3. We are
currently working to provide the 2.4 version.

More information about the Squeak-dev mailing list