[DISCUSSION] Hidden and Open: O'Keefe as "everyman"
Alan.Kay at squeakland.org
Thu Feb 13 19:08:38 UTC 2003
Etoys were made specifically for children and specifically for a few
hundred projects that would be neat for them to do. Squeak is made
for experts and for pretty much every kind of project. The user
environment we didn't get done was the one in the middle: etoylike
but with very large scope, especially for media. This is the one you
need, but it isn't there (yet).
However, we also used etoys to try out a few ideas about object
organization and object building. Andreas, being an European, has a
better command of English than most of us. Andreas did not say that
you should try to do every project in etoys. He *did* say that there
are a lot of very useful ways of thinking about doing projects "in
the manner of etoys". Someday there will be "the middle environment"
mentioned above. Until then, you really need to do most projects
using the expert environment.
At 9:19 AM -0800 2/13/03, Bill Spight wrote:
>> That sounds like what I did. Just to make sure, I tried again. I made a
>> new RectangleMorph, opened a viewer on it, and dragged out the script.
>> Then I made a new GoMorph, opened a viewer on it, got its tile, and
>> dropped in on the script.
>> Maybe my problem yesterday was not dropping it on the Rectangle tile. I
>> dropped it right on there. Nothing happened to the script, except it had
>> the Go tile sitting on in. No matter where I dropped, no effect.
>> What's wrong?
>After a couple of more emails from Ned Konz, I tried again. As he
>suggested, an empty script (^ self) is not enough. This time I made the
>script, 'Rectangle hide', then dropped the Go tile over the Rectangle
>tile, and made the replacement. So far so good.
>I am doing this because I want to send a message to the GoMorph that I
>see no way to do with the tiles available. So I switch the script to
>written form and replace 'hide' with 'board: 5 at 5'. I am telling the Go
>morph to change the size of its board to 5 by 5. To my surpise (having
>tried something like this before) the script is accepted. Now to run it.
>Oops! Debug time. 'Message not understood'. The message, OC, is 'board:
>5 at 5'. The object that does not understand it is Player51. Well, that's
>not surprising. Why should it understand? And it's not too surprising,
>but a bit dismaying, that all is not what it seems. Wheels within
>However, this whole excursion was in response to Andreas's notes
>> The point was usability and
>> Don't you realize that the Morphic that is perfect for
>> eToys *is* the one that is perfect for programmers?
>> To me, this is the logical result of many of the shortcomings of Smalltalk.
>> For example, subclassing for using the framework.
>> Given this, any attempt to "clean up" Morphic is doomed to fail if it does
>> not address the "usability issues" for the programmer. The best you can hope
>> for is a temporary effect but any newbie can (and therefore will!) write
>> code that breaks the framework. Some of this code will either be cool or
>> needed enough so that someone else is going to use it and you'll end up
>> exactly where we are right now.
>> Documentation, tests, etc. will (while being useful) not solve this problem.
>> Bridging this gap, making the "system
>> level" part of Squeak more like eToys is the thing that needs to be done. In
>> particular in the UI area since that's what most people will look at and
>> play with first, so it's the place where strong fences are most needed
>> (present in eToys).
>I would love to work within the framework (whatever that is, exactly). I
>like Morphic, it's why I'm here. :-)
>But I need instance variables of types not among the 9 that are not
>quite obviously available for scripting. I need more functionality (at
>least, I think I do). I need better communication with Morphs than I
>have seen. (It's probably available, but where?)
>I'm a newbie, I made some Morphic subclasses, I broke the framework. So
>sue me. Did I want to do that? No. Is Smalltalk the problem? Not for me.
>Without it how could I have gone oven the fence to get done what needed
>to be done? Is documentation or the lack thereof a problem? Not so much
>for some people, but definitely for me.
>I have a functioning GoBoardMorph (subclass), and a GoMorph (another
>subclass) that is not fully functional yet, but it's getting there. Are
>you cool with what I have done and am doing? Fine. No problem. If not,
>and there seem to be those who are not, then help me out. I'm perfectly
>willing to redo everything. Is that too much time and trouble? (It would
>be for me.) OK, give me some good documentation. Is that too much time
>and trouble? If so, what can I say?
>Thanks for listening,
More information about the Squeak-dev