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

goran.hultgren at goran.hultgren at
Tue Feb 11 09:38:18 UTC 2003

Hi all!

It is interesting to read this thread because there are background
history here that people either forget or don't know about. SqC that
built most of Morphic where doing research. They where very focused on
getting interactive graphical environments running for kids. Sure, a lot
of eggs got broken during that time and probably rightly so in order for
them to reach their goals.

But their goal was never AFAIK to produce an industrial strenght

Just remember this guys. And one more thing. Talking is one thing but
code is another - this is OpenSource (well, almost :-) guys - *nobody*
is going to do anything *for* you. You need to do it *yourself*. So you
want to clean up Morphic? Hey, you are *more* than welcome!

Now for some details:

Daniel Joyce <daniel.a.joyce at> wrote:
> But it's merely due to poor oversight. People allow one-off hacks, etc, 
> to make it into the image. I'd like to see a 'pure' morphic, which 

No. "People" don't do that. Doug Way is the chief harvester at the
moment and we are reconstructing this whole process during the 3.5
iteration (new tools etc).

But I can assure you that the harvesters have never been "slacking" in
this respect. Much of the silly code got hacked at SqC I think. And
again - that is *fine* because they had other goals.

And btw - you just try to get something "hackish" into the image now and
you'll see how easy that is. Practically *nothing* goes into the image
currently because we are focused on breaking stuff *out* of the image
into packages.

Only good improvements or bugfixes get in. New stuff doesn't get in - it
should be in packages.

> people can make ugly all they want through squeak-map add-ons, etc. 
> Buut, the examplar would still be there, maintained and cleaned up.

Sure, agree.
> The problem is no-one takes ownership of anything. People keep adding on 
> and on, and nothing changes.

No. Things are changing. We are moving SqueakMap forward and we are
focused on breaking the image into packages and letting people *take
ownership* of them.

We all agree that as Squeak turns into a collection of Packages rather
than an image we can promote personal package ownership and get a lot of
leverage from that since people really take care of stuff that they are
responsible for.

But things take time! Please read the mission statement of the guides
for the overall plan:
> Sometimes code cleanups are needed. One can write ugly crufty libraries 
> in C, but one shouldn't. I know, I worked on a ugly crufty C product. 
> So saying 'cruftiness is a failure of the language' is a poor excuse. 
> Crufty code is always the failure of the programmer.
> Either he's a) rushed b) lazy or c) hacking together a prototype.
> None of the above should make it into core-morphic.

> It seems changes get harvested from the list willy-nilly, and rolled in 
> without a code review for "does it look good, and is it crufty"?
> "It works" seems more important than "It will cause headaches in the 
> future".

Again no. Show us an example. And another thing: You and everyone else
is welcome to help us with the Harvesting process. Want to help out?
> Part of the reason why MORPHIC is crufty is someone let in that first 
> hack. Then someone extended that hack, then someone worked around an 
> issue raised by those previous hacks. No one fixed the original 
> problem.
> And it's not just morphic folks, it's the whole system.

Yes. I agree that there are many crufty parts of Squeak. No doubt about
But I hardly think much of it got in during the time that the Harvesters
been active.

Of course there are always exceptions but I have great respect for the
people that have been involved in harvesting and I know that they really
take care reviewing and are really good Smalltalkers.

> Any language can lead to crufty programs. You can't blame SmallTalk for 
> it. What's needed is someone saying "No, this won't go in".

Don't write Smalltalk with capital T. It will just make people think
that you don't know much about it.

> Pehaps we can isolate the cruft from Morphic, and let people load in 
> what cruft they like from Squeak Map.
> -Daniel

Of course we can! Just go ahead. Pick a piece of cruft, isolate it, post
the ChangeSet for the removal and the ChangeSet for the cruft package on
SqueakMap. It has been done by others:


Anyway - I hope I haven't spurred the flames here too much. Let's get
focused on creative ideas. Ned's idea of building a parallell clean and
lean Morphic is very good. I have had a similar idea earlier about doing
the same for the Collection hierarchy but it didn't take off.

And of course, helping out with breaking out stuff from the image is
very welcome. I think that we will start really ripping out parts from
the base image during 3.5. 3.4 was in this respect an interim release
where we simply needed to calm down and get it nailed down without
stirring up too much dust.

In 3.5 things will start to shake.

regards, Göran

More information about the Squeak-dev mailing list