[Morphic] About worlds

Andreas Raab andreas.raab at gmx.de
Sat Aug 16 20:04:33 UTC 2003


> I like this. But there are some questions.

I know ;-)

> Which world would own the hand ? And which world would a 
> morph being transfered from one world to another live in ?
> A transfer world ?

That's one of the reasons why I don't like the way dragging in Morphic
works. Conceptually, I see at least two "kinds" of worlds which exist in a
single environment. One is sort of the "root" of everything, definitely
infinite in size and containing (one or more) hand(s). Within that etheral
world, there is a concrete one, constituting (one or many) authoring
environment(s), which may contain hands (or other input devices) themselves.
We actually may call the first one the "world" and the second one the
"project" which seems like a much better name for the entities (note that in
this case all references would be to the "project" instead of the "world"
because the world doesn't define any reasonable boundary anymore). But I'll
stick with the term "world" here.

When some object interacts with a hand, there is no intrinsic relationship
to any "other world" except the one the morph is in. For the vast majority
of cases we may even think about the hand as not even being in a world and
therefore most interactions can be done without ever having to referring to
some "transfer world". Drag and drop definitely don't need it by default.

Then, there may be objects which can be taken across world boundaries, to
other environments (possibly even other Squeak images). In a simplified
theory we can say that if these morphs determine that they are in fact being
dragged beyound "their" world, it is their responsibility to take the
appropriate action which might be supported by a "transfer world" but it
wouldn't have to - you could equally well make up an OS window to draw the
guy when you drag him out of Squeak's main window (note that such a window
could be associated side-ways so there is again no need to touch the
associated world of the morph).

A drop in one of these "foreign worlds" would be equivalent to a "world
switch" for some morph and may have some "interesting" implications (in lack
of a better word since I haven't thought that through - it's far beyound the
initial ideas). For example, we could imagine establishing a remote proxy
which sends messages across to another VM in order to be able to communicate
at all with this guy. We could also establish a "veil" around the object
(this is an idea which has come up in Croquet recently) in order to isolate
the object from harming the existing environment. And so on.

Cheers,
  - Andreas




More information about the Squeak-dev mailing list