MVC vs. Morphic (was Re: Shrinking)
Ned Konz
ned at squeakland.org
Mon Aug 30 21:24:18 UTC 2004
On Monday 30 August 2004 8:34 am, Avi Bryant wrote:
> It would be nice to see some kind of proof of concept of a
> Morphic-without-windows, even a very rough one...
If you think about what windows do for us, you'll see that there have to be
other ways to do what they do.
What overlapping windows do (off the top of my head):
* they provide single grabbable object that acts as a container and may be
moved or overlapped with others to save pixels and limit what you have to
look at at any instant
* they bundle several related UI elements together and often let you resize
the areas that those elements occupy
This isn't really very much.
We've seen many environments that don't use overlapping windows at all,
ranging from the very task specific (CAD programs, etc.) to different user
interface models (like the visual languages) to all-text environments like
some versions of Emacs.
If the problem is just being able to re-use pixels and organize what you see
at any instant, then all we need is some facile way to remember the various
arrangements of things that we've constructed, rearranged, or had
pre-constructed.
Instead of having to stick things in windows (or other containers), if there
was a more general way to specify the arrangement constraints of UI elements
(along with wiring up the events, etc.) then that could be used both to glue
UI elements together into tools and to glue those tools into task-oriented
snapshots of a workbench or desktop configuration. Windows themselves aren't
needed for this purpose, though it is nice to have common UI elements for
resizing and grabbing.
The ownership relationship in Morphic is an example of a global policy for
such constraints that mostly seems to work well but can be limiting
sometimes. I just added the ability for Connectors to attach to submorphs;
this introduced the necessity to add new accessors to EToys so that the
embedded pins and their owners could talk with each other.
--
Ned Konz
http://bike-nomad.com/squeak/
More information about the Squeak-dev
mailing list
|