[sldev] Mouse on 3D object
Lawson English
lenglish5 at cox.net
Tue Jan 26 16:49:37 PST 2010
Lawson English wrote:
>
> Once I understand the TeaTime stuff a bit better (JUST a "bit") it
> should be possible to share literally any kind of updates p2p between
> squeak/cobalt plugins. All TObjects have connections to the TeaTime
> collaboration architecture built into them and if I'm reading the wiki
> correctly, teatime is actually responsible for updating the local object
> as well as the remote clients, so if it works properly with the local
> drawing board, it should with 2 people. And if it works with 2, it
> should with arbitrary n once they establish a connection. I think it
> automatically shares the current state of the object upon login, so
> everyone should literally be on the same page, after the connection is
> established.
>
> http://www.opencroquet.org/index.php/System_Overview
> http://www.opencroquet.org/index.php/TeaTime_Architecture#TeaTime_Overview
>
>
To clarify, TeaTime handles distribution between TObjects. Croquet is a
3D world built of TObjects. If, instead of a 3D world, you create a 2D
Whiteboard out of TOBjects and keep the appropriate network stuff
available, TeaTime will happily serve updates about 2D drawing boards to
other clients instead of/in addition to, 3D virtual worlds.
My first order approximation of it is that TeaTime is a P2P server
infrastructure where every smalltalk object based on a TObject becomes a
nano-server embedded within the system. Tell YOUR cube to rotate, and
everyone else's does. Tell YOUR drawing board to draw a line from A to
B, and everyone else's gets the same drawing message. It is built into
the TObject class (which could be made the base class for any other
smalltalk class) which means, in principle, any smalltalk
class/container/thingie could be a distributed object.
Hook these TObjects up to a SL plugin and you have instant (I hope) P2P
between SL clients for any conceivable tool, leaving aside network lag
and VM speed issues. If users don't want pure P2P, a GUI-less smalltalk
server could act as the hosting client and simply forward messages to
everyone else. All drawing and other input would then be done by the
"guests" rather than the host and security shouldn't be an issue in that
situation since no-one but the adminstrator has access to the underlying
smalltalk installation.
see http://www.seaside.st for an example of how smalltalk can act like
a normal web server (nothing to do with TeaTime/Cobalt, just to show
that it can be reasonably speedy as a server).
Lawson
More information about the SLDev
mailing list