On Fri, 27 Sep 2002, Ned Konz wrote:
- 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.
- (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