Bad Aspects of Morphic?

Aaron J Reichow squeak-dev at lists.squeakfoundation.org
Fri Sep 27 19:40:31 UTC 2002


On Fri, 27 Sep 2002, Ned Konz wrote:

> > 1. Speed
> >    * Solution: ?
>
> Which speed? There are things that are done inefficiently in some
> Morphs (witness the recent CSs improving big ListMorphs); there's
> also the speed of the underlying framework.

Both I suppose, but I was specifically speaking of the underlying
framework.  There are point-specific problems (and related speedups) like
we've seen on the list lately, and those certainly are needed as well.  On
an iPAQ, for instance, a great many actions are slower than seems natural-
when I click on a button, there is a pause before the button realizes it's
been tapped, usually shown to the user by the fact that it changes its
color; opening any menu takes a bit of time; opening even a simple
(Workspace) window takes a couple seconds and so on.

The bottom line is, to a user, Morphic can *feel* mighty slow. This is
dependent on hardware of course.  On my iBook 500 or my Windoze Celery 400
MHz at work, Squeak mostly fast enough as a user and development
environment. Faster than OS X, for me.  But on something slower, like a
206 MHz StrongARM, it's quite sluggish.  I'm not sure what the percentages
are, but a lot of people have hardware faster than this (equivalent to a
133 MHz P5?), but it would still be beneficial to have a fast Morphic.
We developers almost always have faster machines, so it's no a priority-
but it's still an issue.

Don't get me wrong, I'm not complaining, but I'm interested in an
enumeration of what's not quite great about Morphic.

> Agreed. One of the popular FAQ's has to do with "how can I make a
> simple, traditional GUI?".

I personally really like Prefab.  I asked if others used it a while back,
and there wasn't much in the way of responses.  For those who want to
create "average" apps now, it looks as if it were the best thing going.
But because there are a few other options, and developers are spread
between them, Prefab and the others will most likely not end up to be
really great toolkits.

Scott Jaederholm is out of computer range now, but he narrated his journey
whilst creating a *commercial* app with Dynapad using the included Prefab.
He started doing it using the regular morphs, but was seriously -wowed-
when he discovered Prefab, and it sped up his development time quite a
bit.  So few people even know about Prefab, but it is a good tool.

> Which events? There's a few layers:

As I said, this I'm just told.  In the applications and tools I've created
so far, I've not had a problem with Morphic's events, other than that what
is meant is a little unclear sometimes.  Brian Rice may be able to speak
about what he sees wrong about Morphic's event system.

> 4. (apparent) complexity. The Morph interface is big, and it's hard to
> tell at first glance what is important, what should be overridden in
> subclasses, what's pluggable, etc. This may be a documentation
> problem, and it's possible that tools can help (like Browsers that
> know to restrict visibility to different categories of methods, and
> Morph builder wizards).

I agree.  I think deciding on which "normal" widget set to endorse would
help as well- that way, when a newbie asks "How to I make a GUI app?" you
can point her to a document on making such an app with Prefab or whatever.
Once one gets the hang of Smalltalk, Morphic's lack of documentation isn't
as bad, IMHO.  I'm sure there are those that disagree with that statement.
Morphic was a big PIA at first, because I had no idea what was going on,
and with so very few docs at which to look.  I didn't even know what kinds
of questions to ask the list.  But as I figured out the basics, it all
"bloomed" and made sense, mostly.

In some ways, I think this style of learning imparts the student with a
lot more working and general knowledge than being told how to do it.  I am
glad I learned Morphic and Smalltalk "the hard way."  After all, the
system is nothing but objects, one just have to figure out how to plug
them into eachother. Of course, not everyone learns in the same way, and
many simply don't have the time to spend hours just poking around in a
Browser without being productive.

Regards,
Aaron

  Aaron Reichow  ::  UMD ACM Pres  ::  http://www.d.umn.edu/~reic0024/
  "civilization is a limitless multiplication of
                unnecessary necessities."                :: mark twain






More information about the Squeak-dev mailing list