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

Ned Konz ned at
Tue Feb 11 03:32:49 UTC 2003

On Monday 10 February 2003 06:20 pm, Steven Swerling wrote:

> It's not the Morph tree that's the problem, it's the enormous bush
> that's sitting on top of it.


> The problem isn't what people have put in the subclasses of
> Morphic. It's what people have put in the Morphic class:
> Applications. The Morphic class (along with the other core classes)
> is really Morphic + EToys + Piano Rolls + Stack Morph + Flaps + a
> few other things that have suited SqueakC and nobody else, but are
> not Morphic. In it an unholly mess, I don't care what language.


> Morphic, as it exists in Squeak, is,
> simply put, *the* messiest UI framework I have ever seen in any
> language, and it's mostly *because* of eToys. Factor it out!

As you probably know, our current direction and intention is to break 
Squeak into separately loadable packages.

And since I'm supposed to be guiding the image breakout effort, here's 
a great place to ask for volunteers:

We should be able to take all these things and make them separately 
loadable packages. EToys, Piano Rolls, Stack Morph, Flaps, and the 
rest are all things that are not part of a minimal Squeak system.

Who wants to tackle some part of this?

> I dare anyone
> whose initials are not DI, AR, RA, DW, or NK to streamline this
> code and submit a change set, and see if it get's in.

If you or anyone else submits a change set that will fix this "cruft" 
or move it to a separately loadable package, I'm sure it'll have a 
good chance of being accepted. You're not the only one who has 
complained about the "extra parts" in Squeak.

One direction I was recently thinking about is this: it wouldn't take 
too much to make a "separate but equal" Morphic hierarchy, with some 
minimal behavior to make it play with the existing Morphic API. Start 
at NewMorph or something, and build the widgets you really want. Then 
move, copy, or port over the bits of the existing Morphic that you 
want to keep.

This way you can keep Morphic itself running (the World loop, the 
event handling, etc.) while making new, lean & mean, stuff.

There is no reason, after all, that you have to inherit from Morph. 
(yes, I think that the isKindOf: tests in HandMorph need to go).

Anyone up for this?
Ned Konz

More information about the Squeak-dev mailing list