[Morphic] About worlds

Andreas Raab andreas.raab at gmx.de
Sat Aug 16 19:16:32 UTC 2003


> In Self you can open several windows, each with its own world. The 
> handMorph is used to drag objects across the screen between these 
> worlds, so it makes sense that something that has been picked 
> up by the hand no longer belongs to the world over which it is
> hovering.

Yes, this is one of the more interesting issues that come up in this regard.
However, one of the key questions here is where exactly is a morph if it is
being held by the hand while the hand is hovering "inbetween" those windows?

>From my POV it makes sense to distinguish between different worlds here. For
example, while a morph is being held by the hand we can consider it in an
"interim world" representing an infinite area (in which it may actually have
to aquire its own "display" in order to be visible).

Note that something quite similar has been implemented in Croquet. When you
drag a morph out of some embedded window (embedded in a 3D world) it will be
transferred into the "root world" (which is the container of the 3D area)
and when it enters another embedded world it will enter this particular
world. Other mechanisms could be used (for example, keeping the object in 3D
and simply make it "standalone") but the idea can be seen quite clearly.

One of the reasons why I am interested in having a "world" always associated
with some morph is that when we do these "across worlds" operations there is
a seriously interesting issue with respect to security and collaboration.
Should I be able to drop a virus right onto your plate and have you deal
with it? Probably not. So some identification of "where this guy belongs"
seems very important here. The "world" it is associated with seems like a
good boundary here. It would not prevent you from "importing" this guy if
you want and trust it but knowing that this guy came from a "different"
environment gives all sorts of interesting options.

Cheers,
  - Andreas



More information about the Squeak-dev mailing list