Appropriateness of Croquet for my daughter

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Appropriateness of Croquet for my daughter

Ross Boylan
Hi.  I am a long-time smalltalker who has been following Croquet, and
I'm wondering if it's at a point that would appropriate for my daughter,
12, and her friends to use.

The first issue is that they would need to communicate over the public
internet.  That could, but doesn't absolutely have to, involve NAT on
our side.  One thing that should help is that we have a fixed public IP
address we control: I can put servers on it, modify the firewall, etc.

I've seen some discussion of using the public internet (usually cast as
an issue about NAT, for reasons I don't fully understand), and it sounds
as if this issue alone might make using it a non-starter.  There have
been some notices of patches (or maybe forks?) to try to address this,
but I can't tell if there's anything really ready.

I suppose another possibility would be to allow her friends to tunnel in
so they would appear local.

The second issue, which only matters if there's a solution to the first,
is whether croquet, or something using it, would do anything useful for
them.  The minimum standard would be communication with text; VOIP would
be cool.  They do have some projects they would like to work on (making
a website).  I'm not too clear how that would go.  Are they only able to
share things from within croquet/squeak?  Or can they share random
non-squeak applications as well?  Concretely, if they wanted to work on
a document together, could they work on a document in abiword, or would
they need to work on something within squeak?

I notice the release is described as being of a software development
kit, but what my daughter needs is an environment she can work in.

Thanks.
Ross Boylan


Reply | Threaded
Open this post in threaded view
|

Re: Appropriateness of Croquet for my daughter

Erik Anderson-9
I can't call myself a smalltalker (yet), but I can give some answers based on my own attempts to get involved:

(1) There is a central server called a "router" that all croquet participants must connect to in order to share a space.
  • The "master" shortcuts in the toolbin start up not just a croquet island but also a local instance of this router.
  • If you decide to become the "master" in a croquet collaboration then others will need to be able to connect through your firewall to the croquet router.
  • There is a Croquet Concortium world available through the KAT demo with a router on the public internet, although performance in this island is a bit flakey lately.
  • The "participant" shortcuts assume and search for a router running on the local subnet.  If you are trying to connect through the open internet, you cannot use the Participant shortcuts.  One of the tutorials describes using a "TPostcard" to open a one-way portal to a remote instance.
  • I don't have any information about the protocol itself, but I would be surprised and disappointed if the protocol itself could inherently not handle NAT translation.  You people have learned from the FTP passive/active mess, right?
(2) Sharing applications
  • I have seen plenty of demos of people using an embedded VNC client to share XWindows applications inside a croquet space.  I have not seen evidence that windows applications can be virtualized into croquet at this time.
  • There are two embedded chat programs available, one that uses an in-island chat, one that uses Jabber.  Both of these are demoed in the tutorials.

On 6/19/07, Ross Boylan <[hidden email]> wrote:
Hi.  I am a long-time smalltalker who has been following Croquet, and
I'm wondering if it's at a point that would appropriate for my daughter,
12, and her friends to use.

The first issue is that they would need to communicate over the public
internet.  That could, but doesn't absolutely have to, involve NAT on
our side.  One thing that should help is that we have a fixed public IP
address we control: I can put servers on it, modify the firewall, etc.

I've seen some discussion of using the public internet (usually cast as
an issue about NAT, for reasons I don't fully understand), and it sounds
as if this issue alone might make using it a non-starter.  There have
been some notices of patches (or maybe forks?) to try to address this,
but I can't tell if there's anything really ready.

I suppose another possibility would be to allow her friends to tunnel in
so they would appear local.

The second issue, which only matters if there's a solution to the first,
is whether croquet, or something using it, would do anything useful for
them.  The minimum standard would be communication with text; VOIP would
be cool.  They do have some projects they would like to work on (making
a website).  I'm not too clear how that would go.  Are they only able to
share things from within croquet/squeak?  Or can they share random
non-squeak applications as well?  Concretely, if they wanted to work on
a document together, could they work on a document in abiword, or would
they need to work on something within squeak?

I notice the release is described as being of a software development
kit, but what my daughter needs is an environment she can work in.

Thanks.
Ross Boylan



Reply | Threaded
Open this post in threaded view
|

Re: Appropriateness of Croquet for my daughter

Mark P. McCahill-2
In reply to this post by Ross Boylan

On Jun 19, 2007, at 3:42 PM, Ross Boylan wrote:

> Hi.  I am a long-time smalltalker who has been following Croquet, and
> I'm wondering if it's at a point that would appropriate for my  
> daughter,
> 12, and her friends to use.
>
> The first issue is that they would need to communicate over the public
> internet.  That could, but doesn't absolutely have to, involve NAT on
> our side.  One thing that should help is that we have a fixed  
> public IP
> address we control: I can put servers on it, modify the firewall, etc.
>

excellent!

Here is what you can try. Run either the SimpleDemo or the Sailing
Croquet worlds. Under the tools demo on the menu bar in these worlds
is an option named "What's my location?" This displays the IP address,
port, etc. for the message router running on your machine as part of
the world.

The easiest thing to do is to copy the XML coded form of that
information (in the "postcard as XML" box) and get that to your friend
(s).
You migth e-mail it to them or send it in a IM/chat session. The XML  
will
look something like this:

<joinme><routerAddress>152.3.215.111:53696</
routerAddress><routerId>37f8dae2e7af5969a028c136ce472dd6</
routerId><routerName>Simple Demo World  
(user-152-3-215-111.wireless.duke.edu)</routerName><vpn>mainEntry</
vpn></joinme>

The person who wants to join you can then choose the "Connect to  
another world"
option from the tools menu, and past the XML location info into the  
box labeled
"postcard as XML", then click on the OK button to make a portal  
between their
world and your world.

protip: if you and your friends happen to have jabber accounts, you  
might use
the jabber client built into the SimpleDemo or Sailing worlds to  
start a text
IM session (and make sure your friend is awake) then use the "join  
me" button
to automagically send the XML encoded postcard.

What we don't do right now is handle the case where you do not know  
what you
external IP address is because you are behind a NAT box - this is why  
there has
been the muttering about NAT issues. It would be great for some  
people to taker
on fixes for that. FIxing the NAT issue is on the big list of things  
to do, of course.

> I've seen some discussion of using the public internet (usually  
> cast as
> an issue about NAT, for reasons I don't fully understand), and it  
> sounds
> as if this issue alone might make using it a non-starter.  There have
> been some notices of patches (or maybe forks?) to try to address this,
> but I can't tell if there's anything really ready.
>
> I suppose another possibility would be to allow her friends to  
> tunnel in
> so they would appear local.

that might work as well. The big thing is knowing the IP address and  
port to connect to...

>
> The second issue, which only matters if there's a solution to the  
> first,
> is whether croquet, or something using it, would do anything useful  
> for
> them.  The minimum standard would be communication with text; VOIP  
> would
> be cool.

VOIP and text chat should just work.


> They do have some projects they would like to work on (making
> a website).  I'm not too clear how that would go.  Are they only  
> able to
> share things from within croquet/squeak?  Or can they share random
> non-squeak applications as well?  Concretely, if they wanted to  
> work on
> a document together, could they work on a document in abiword, or  
> would
> they need to work on something within squeak?
>

for now they would need to do something within squeak inside the shared
croquet space. There are a number of ways to make legacy applications
appear in world - these generally involve having someone provide a  
legacy
application server and then sharing the screens and keyboard/mouse  
access
via something like VNC/RFB.

> I notice the release is described as being of a software development
> kit, but what my daughter needs is an environment she can work in.
>

she can do some limited sorts of work now - there is still some working
to be done to enable her to run pretty much any desktop application  
in-world
along with her friends, and doing that in a way that scales up.


Mark P. McCahill
Architect, Computing Systems
Duke University - Office of Information Technology
334 Blackwell Street, Suite 2107
Durham, North Carolina 27701
USA

[hidden email]
+1 919-724-0708  (mobile)
+1 929 668 2964  (fax)


Reply | Threaded
Open this post in threaded view
|

Re: Appropriateness of Croquet for my daughter

Ross Boylan
In reply to this post by Erik Anderson-9
Thanks for the info.  A couple of comments/questions follow.
On Tue, 2007-06-19 at 13:12 -0700, Erik Anderson wrote:
>       * I don't have any information about the protocol itself, but I
>         would be surprised and disappointed if the protocol itself
>         could inherently not handle NAT translation.  You people have
>         learned from the FTP passive/active mess, right?
My guess is that different croquet instances find each other by doing
some kind of general broadcast.  If machine A communicates via machine
B, which does NAT, a general broadcast to A is not going to get to B.

This would also, now that I think of it, explain why the basic use is on
a LAN only.

But I don't see why you can't just tell a client "connect to a server on
this IP and port."  I guess that's what the "postcard" is all about
(Marc describes it in a later message).

> (2) Sharing applications
>       * I have seen plenty of demos of people using an embedded VNC
>         client to share XWindows applications inside a croquet space.
>         I have not seen evidence that windows applications can be
>         virtualized into croquet at this time.
What is the VNC client embedded in?  Squeak/croquet?  I don't quite
understand how this is supposed to work.  It sounds as if I share my
desktop with myself--but then don't I get an infinite recursion?  Or do
I have two virtual terminals: the one that's in my face, and the other
one that I share?
--
Ross Boylan                                      wk:  (415) 514-8146
185 Berry St #5700                               [hidden email]
Dept of Epidemiology and Biostatistics           fax: (415) 514-8150
University of California, San Francisco
San Francisco, CA 94107-1739                     hm:  (415) 550-1062

Reply | Threaded
Open this post in threaded view
|

Re: Appropriateness of Croquet for my daughter

Ross Boylan
In reply to this post by Mark P. McCahill-2
On Tue, 2007-06-19 at 16:59 -0400, Mark P. McCahill wrote:

> On Jun 19, 2007, at 3:42 PM, Ross Boylan wrote:
>
> > Hi.  I am a long-time smalltalker who has been following Croquet, and
> > I'm wondering if it's at a point that would appropriate for my  
> > daughter,
> > 12, and her friends to use.
> >
> > The first issue is that they would need to communicate over the public
> > internet.  That could, but doesn't absolutely have to, involve NAT on
> > our side.  One thing that should help is that we have a fixed  
> > public IP
> > address we control: I can put servers on it, modify the firewall, etc.
> >
>
> excellent!
>
> Here is what you can try. Run either the SimpleDemo or the Sailing
> Croquet worlds. Under the tools demo on the menu bar in these worlds
> is an option named "What's my location?" This displays the IP address,
> port, etc. for the message router running on your machine as part of
> the world.
>
> The easiest thing to do is to copy the XML coded form of that
> information (in the "postcard as XML" box) and get that to your friend
> (s).
> You migth e-mail it to them or send it in a IM/chat session. The XML  
> will
> look something like this:
>
> <joinme><routerAddress>152.3.215.111:53696</
> routerAddress><routerId>37f8dae2e7af5969a028c136ce472dd6</
> routerId><routerName>Simple Demo World  
> (user-152-3-215-111.wireless.duke.edu)</routerName><vpn>mainEntry</
> vpn></joinme>
>
Is there a way to make this a fixed value, so one invitation will do for
a bunch of sessions.

> The person who wants to join you can then choose the "Connect to  
> another world"
> option from the tools menu, and past the XML location info into the  
> box labeled
> "postcard as XML", then click on the OK button to make a portal  
> between their
> world and your world.
>
> protip: if you and your friends happen to have jabber accounts, you  
> might use
> the jabber client built into the SimpleDemo or Sailing worlds to  
> start a text
> IM session (and make sure your friend is awake) then use the "join  
> me" button
> to automagically send the XML encoded postcard.
I've already got jabber on the server, but have never bothered to
configure it.
>
> What we don't do right now is handle the case where you do not know  
> what you
> external IP address is because you are behind a NAT box - this is why  
> there has
> been the muttering about NAT issues. It would be great for some  
> people to taker
> on fixes for that. FIxing the NAT issue is on the big list of things  
> to do, of course.
I was reading some of the zeroconf documents recently, and they make a
persuasive case that the way to go is to have advertised services rather
than ports.

....

>
> > They do have some projects they would like to work on (making
> > a website).  I'm not too clear how that would go.  Are they only  
> > able to
> > share things from within croquet/squeak?  Or can they share random
> > non-squeak applications as well?  Concretely, if they wanted to  
> > work on
> > a document together, could they work on a document in abiword, or  
> > would
> > they need to work on something within squeak?
> >
>
> for now they would need to do something within squeak inside the shared
> croquet space.
If they just wanted to see the work, I suppose they could use squeak's
web browser, whose name escapes me.  And if they started using
seaside....

> There are a number of ways to make legacy applications
> appear in world - these generally involve having someone provide a  
> legacy
> application server and then sharing the screens and keyboard/mouse  
> access
> via something like VNC/RFB.
As I said in my other message, exactly how do I do this?  Is there a VNC
client that runs in squeak?

It sounds from what you say as if the way to go would be to have the
shared session be on a non-visible (except inside the client) virtual
terminal.

>
> > I notice the release is described as being of a software development
> > kit, but what my daughter needs is an environment she can work in.
> >
>
> she can do some limited sorts of work now - there is still some working
> to be done to enable her to run pretty much any desktop application  
> in-world
> along with her friends, and doing that in a way that scales up.
>
Scaling past 3 is probably not an issue for her for now.

Two other thing I forgot to ask about:

Vista:  I'm not sure if any of her friends are running it, but it sounds
as if setting croquet up under Vista is a pain (maybe depending partly
on exact hardware and drivers).  Do I have that right?  I don't know
what posessed MS to do away with OpenGL.

Though I guess both MS and Apple are pushing their particular
architectures for 2d, 3d, sound,  etc.

Persistence: If I save the image on which the "router" is running, will
it be possible for them to pick up where they left off by restarting the
image?  I can immediately imagine some difficulties, such as the absence
of the server the VNC was hooked up to (if such a scheme is being used)
or of the internet connections.

Thanks.
Ross