Re-doing Morphic ( Was: Re: Traits prototype image )

Joshua 'Schwa' Gargus schwa at
Sat Feb 8 16:03:41 UTC 2003

On Fri, Feb 07, 2003 at 10:33:29PM -0500, Joshua 'Schwa' Gargus wrote:
> On Fri, Feb 07, 2003 at 09:48:29PM -0600, Daniel Joyce wrote:
> > On Friday 07 February 2003 09:20 am, Brent Vukmer wrote:
> > > Daniel why don't you head up a team to re-do Morphic?
> > 
> > Sure, I'd be up for it. Should we hold a list vote for a new list?
> I vote against a vote, at least until we have generated sufficient
> discussion to justify a whole new list.
> The interaction model in Croquet is being written by Andreas and Dave,
> and certainly incorporates the lessons learned from writing and living
> with Morphic.  Much of the event-handling and scripting code would
> work fine in a 2D context as well.  I'm inclined to sit back and wait
> for the real Croquet release (is there still a summer release target?)

After a sleep, I think that it is not too early to think about
reworking parts of Morphic, but still think that event-handling and
scripting should be left off the list.

So what parts?  What is most wrong with Morphic?  Do we want to keep
the functionality the same, and focus on cleaning up the code, or do
we want to support new functionality?  What new functionality?  In
order to make this decision, we need to understand the functionality
that Morphic already has, and how its different parts interact.

Two classes that unquestionably can use some attention are HandMorph
and HaloMorph.  This code has grown continually since the introduction
of Morphic, and is difficult to understand and modify.  Design
decisions are embedded in the code, and must be understood in context
in order to decide whether to agree with the decision, or to make a
better one now that time has granted us a better perspective.  There
have been numerous small tweaks to improve the UI behavior of Morphic;
can we recognize underlying similarites in the motivation for and
implementation of these tweaks (which first need to be identified,
lest they be forgotten in the Morphic reimplementation) in order to
support the same behavior in a cleaner, more extensible fashion?

This is a difficult task.  It is made more difficult if backwards
compatability is to be (mostly) maintained, since the natural tendency
is to follow the design decisions that have already been made.

The concerns listed here only scratch the surface.  What is the
high-level plan that will allow progress to be made while addressing
such concerns?


> Joshua
> > -Daniel

More information about the Squeak-dev mailing list