[Morphic] Some challenges for the morphic team

Juan Vuletich jmvsqueak at uolsinectis.com.ar
Fri May 19 02:02:53 UTC 2006


Hi Stef


>> I'm a bit disappointed that after some initial interest, nobody  seems to 
>> be interested in my objectives for Morphic anymore. I want  to simplify, 
>> clean and remove stuff. But nobody except for me sent  any contribution 
>> in that direction. (Except for Edgar. He did send  some stuff, that I 
>> rejected). And somehow recently, additional  'Diego's look' stuff got in. 
>> And I see people believing that for  Squeak to be 'serious' or something, 
>> we need native widgets or  migrate to wxWidgets or such. So my ideas 
>> don't seem popular anymore.
>
> I think that if you have a vision keeps it and continue.

That's what I'm after. My shrinked 3.7 image includes my first experiments
on a serious redesign of Morphic itself. (more on this at the end).

> If you  improve something we will incorporate it.
> I would love to help. Now my time is so short that I cannot even  program.

You have always been of great help to every squeaker. It is me who
doesn't have enough time and energy for working more on Squeak.

>> I also believe that we are having serious problems in setting the 
>> direction for Squeak.
>> Even though we all agree we want a small basic image with optional  stuff 
>> in SqueakMap, every release gets bigger and bigger.
>
> But where are the cool shrinkers? Where is the code that I can  unload. 
> Did you have a look at the scriptloader?
> There is a category of methods for checking which package can unload 
> (just unload not even cleanly). So do you
> think that if you provide some repakaging we will ignore it? No so what?

The fact is that it is muuuuch easier to simply remove the stuff I don't 
want
from my image, than making it possible to unload (and reload) packages.
It only makes sense to work on the latter if enough people really uses it
to justify the effort. I believe this is not the case. Besides, I don't have 
the
time and energy to finish the work I started in Morphic / MorphicExtras /
Etoys.

>> The community has people with very different interests and it's not  easy 
>> to satisfy all of them. And we are failing at setting teams  for these 
>> different areas, with the objective of REMOVING their  stuff from the 
>> basic distribution, to manage it outside the image.  People seem to think 
>> that if something is taken off the image it  won't be maintained anymore.
>
> I do not know. What I see is that lot of packages are not maintained. 
> Network fixes seem to be lost. May be network is not interesting  after 
> all.

So, if that was the case (of course I don't think so), what we would be
lacking is a means to decide that something is not interesting anymore, and
remove it from the image.

>> I think this is not true. A package is maintained if and only if  some 
>> guys with enough knowledge and interest take care of it, be it  in the 
>> image or in SqueakMap.
>
> Exact.
>
>> WRT the development tools and ToolBuilder, I always thought that  the 
>> migration of the Morphic tools to ToolBuilder is a task for  ToolBuilder 
>> guys, and these tools shouldn't be anymore in a Morphic  package or under 
>> the responsibility of Morphic people. Wasn't this  the idea?
>
> I do not know. I spent some nights with Cees to make sure that at  least 
> we could load the ToolsPlus in the hope that
> we could subsitute the old tools but this was not the case. So we  will 
> remove them from the image. Still we lost a lot of time.
> But we tried!

I appreciate your effort.

>> Perhaps the Morphic Stewards Team needs new people, more in line  with 
>> what the community wants.
>
> You are the community so what do you expect. Three guys having fun is 
> enough.

I agree. I want to use my little Squeak time to have fun.

>> What I'm feeling inclined to do is to focus on my Morphic cleaning  in my 
>> 3.7 image where it all began.
>
> I think that doing that will be an error. But this is your time and 
> energy.

I didn't put it correctly. The main objective is not cleaning but
redesigning. (please see at the end). The result should be a new
Morphic package that could be loaded by those who don't care
about compatibility with existing applications (Etoys, etc), but that
most likely, the community would reject as an official replacement
for not being back compatible.

> I think that I will harvest then the fixes and changes that have been 
> sent to morphic.

I would really appreciate that.

>> Perhaps it could evolve into a Squeak Distribution for programmers,  or 
>> something like that. the only thing I will really miss is Traits.

> Are you joking?
> Have you see the number of fixes and enh we harvested. This is not  only 
> traits that you will not get.

Not at all. I would also miss some small fixes, but not the bigger
improvements. It is a matter of personal interests and taste.
At my job, I work in VisualSmalltalk. Compared to current Squeak, it
is very small. The only thing I really miss there is Morphic and the
Method Finder. I really believe in Dan's Personal Mastery principle.
I can do more and better in VS than in Squeak because it is smaller.
The Squeak kernel has been pretty stable for several years. That's why
I don't care too much about most of the new stuff.

> This is exactly with this kind of behavior that nothing in the long  run 
> will happen. That we see a lot of people creating their own  images but 
> not really making sure that others can use it. I said  several times to 
> Pavel and others that if what they do is reasonable  for 3.9 (small steps) 
> then we would integrate that. With this  reasoning Diego, Traits, 
> Unicode....would still be in
> several different images. We spent a ****lot**** of times to make  sure 
> that what people did is integrated. People
> were willing to spend time improving Squeak.

I understand and agree with you, except for the first phrase. Somebody
working in his own image on the stuff he needs, is in no way "nothing
happening". If his work can be used by others, much better. But if not,
it doesn't mean it was useless. For instance, remember PhotoSqueak.
I wrote that stuff for a class lab project. I also published it in the hope
that somebody could use it. It was never considered for inclusion in the
image, but if anybody wants to do Image Processing in Squeak, he
knows he can reuse my work. That's good enough for me.

>> But I'm sure I'll be able to load it when it is mature enough for 
>> everyday use (I'm thinking basically of programmer's tools). Or  perhaps 
>> my version of Morphic is considered for loading in the  official version 
>> sometime. Or even better, we have a really small  basic image with no 
>> Morphic on it, and mine is one of the  alternatives in SqueakMap.
>
> Why don't you work on 3.9 I really do not get it.
> Do not make the mistake of the ToolsPlus, all that good energy was lost.

Because I have a lot of work already done in my 3.7 image! You know
how hard it is to move your stuff to each new Squeak version.
The difference with ToolPlus is that I'm not doing an improvement to
Squeak. What I'm doing is not meant to be compatible with other
packages in the image. I don't want to spend the little time I have on
compatibility issues. I want to express my ideas in a design, to test them.
If they are good, they will be used by others.

> I would like to get some energy to migrate all the tools to use 
> ToolsBuilder but right now I spend my days fighting, my evening  painting 
> and the rest writing articles and teaching.

I understand your frustration. Everybody is short of time, so we all
must use it with care.

> Ok so if the morphic team is dead, I suggest that we close it and  mark it 
> dormant because there is nothing more counter productive
> than to give the  impression that there is activity while nothing happen.
>
> Stef

I'm afraid you are right. Please advice on what to do.
Folks, if anybody feels like replacing me, this is the time to speak!

What follows are some ideas for a redesign of Morphic. Some of them were 
suggested by John Maloney (the main implementor of Morphic). Others are old 
ideas of mine. I did my first experiments on them in C, way before knowing 
about Smalltalk.

- Every Morph defines a space and a coordinate system. His #drawOn: method 
and the location of his submorphs are expressed in his own coordinate 
system.

- The coordinate systems are 2D but are not restricted to Cartesian. Others 
are polar, logarithmic Cartesian, and hyperbolic and map-like projections. 
The basic one is Cartesian with Float coordinates.

- There is no concept of pixel. Going from pixels to general coordinate 
systems is like going from bits to objects. All the gui is independent of 
pixel resolution. All the rendering is antialiased.

- A coordinate system + its position in an owner + its extent in an owner + 
its rotation angle in an owner together specify a translation of coordinates 
to the owner's space and coordinate system.

- The Morph hierarchy is NOT a shape hierarchy. Morphs don't have a concept 
of a border or color. There is no general concept of submorph aligning.

- The existing Morph hierarchy is renamed as OldXxxx. Anyway, most of them 
are deleted. Only kernel, a few basic, and the programming tools remain.

- Old Morphs and new Morphs can live together in a World.

Any comment on all this is welcome.

Cheers,
Juam 



More information about the Morphic mailing list