On 11/2/06, Howard Stearns <[hidden email]> wrote:
> >> I am working on a new design that allows multiple separate islands to be
> >> coordinates by a viewing window (an "interactor"). The common stuff is
> >> viewed by everyone as they join the island. A different set of content
> >> to be superimposed is in a different island. The interactor renders
> >> both islands, coordinating the local execution of the two island clocks.
> >> Finally, one can drive through the interactor so that it's sort of
> >> pasted to your camera lens rather than fixed in island-space, such that
> >> you don't need to stand to the side to see both worlds, but rather can
> >> walk around and interact with both. Security is achieved through the
> >> interactors. You only give out the interactors to those whom you want to
> >> have access. (And the interactors might be non-assignable, revocable,
> >> etc.)
> This interactor is a general viewing mechanism -- a generalization of
> TPortal. They stack, just like TPortal does. The toplevel applicaton
> window is really just an interactor that's stuck on your camera lens (no
> TWindow frame).
> You can have any number of TPortals to an island, and they can be on the
> island itself. (For a while there was a little bug that prevented this.)
> Interactors are no different. So I don't think it is any more
> complicated to use than TPortals now.
The basic idea of the interactor is interesting to me. I read the
"Filters and Tasks in Croquet" paper a few times, as well as the
earlier referenced papers on Magic Lenses. I like the idea of the
interactor getting "pasted onto your camera lens" and allowing
stacking of interactors. Particularly for developers, I could see
using a series of interactors like the wire-frame view, the
boundSphere view, the little arrows representing normals view, etc. I
can easily visualize how these could be used individually and stacked.
Maybe 3D painter or mesh deformer interactors could be built.
But I don't really understand how this idea is brought out in Croquet.
I have the general impression that David A. Smith is doing further
work in this area that will eventually dramatically change things. On
the other hand, you tell me that you have already done this in
Dormouse and I know that Mark McCahill and team have done some of this
in Hedgehog with thumbtack annotation. This is an area that I would
like to someday explore further, but what should I use as a starting
point? Or is the real starting point just not ready for public use
Somewhat related to your two-island security model, I have been
thinking about how to implement a simple example collaborative Texas
Hold'Em poker game. The cards have to exist in a replicated island in
order to be dealt from a common deck and for scoring, but different
participants have different rights with respect to viewing the cards
and these rights may change at different points in the game. And the
chips can be viewed by all participants, but only manipulated by their
owner or the dealer. This is so far just an idea floating around in
the back of my mind, but it seems like a good and fairly simple
example to explore the whole area of security in Croquet.
And as a meaningless parting shot, why is it "putting in my two cents"
but only "a penny for your thoughts?" I definitely value your input
more than mine!
David Faught wrote:
> ... But I don't really understand how this idea is brought out in
> I have the general impression that David A. Smith is doing further
> work in this area that will eventually dramatically change things. On
> the other hand, you tell me that you have already done this in
> Dormouse and I know that Mark McCahill and team have done some of this
> in Hedgehog with thumbtack annotation. This is an area that I would
> like to someday explore further, but what should I use as a starting
> point? Or is the real starting point just not ready for public use
It's anybody's game. This is all open experimental work. I like David
Reed's description of the project as "invention in public."
The Dormouse interactors (and I imagine, the first Wicket and
Thumbtack interactors) used a filter implementation. As the rendering
descends through nested interactor/fiters, it adds each interactor/
filter to a collection. When the object renders, it does so
conditionally on whether the governing filter that it knows about
appears in the collection.
In Dormouse we treated this as means of getting the EFFECT we wanted
so that we could see what it would be like to work with. You can do
the same if you like. (And I imagine that the existing public
thumbtack code is suitable for that.) However, it doesn't really
handle your poker example if players are allowed access to their
Depending on your purpose, a valid way to deliver your poker example
is to seal up the Squeak environment somehow. I'm not exploring that
just out of my interests, but it can still be a reasonable thing to
> Somewhat related to your two-island security model, I have been
> thinking about how to implement a simple example collaborative Texas
> Hold'Em poker game. The cards have to exist in a replicated island in
> order to be dealt from a common deck and for scoring, but different
> participants have different rights with respect to viewing the cards
> and these rights may change at different points in the game. And the
> chips can be viewed by all participants, but only manipulated by their
> owner or the dealer. This is so far just an idea floating around in
> the back of my mind, but it seems like a good and fairly simple
> example to explore the whole area of security in Croquet.
I like this example! Depending on your purpose, it might not make
sense to do this purely within the model. But it's a nice exercise to
see how that might work. By the way, this has been reviewed by,...
well, you're the first, actually.
IF my dual-postcard interactor pans out (a very big "if"), then the
idea would be that the players enter a parlor to play. Each player
has an avatar that wears sunglasses and green eye-shades. The players
optionally communicate by text chat, live voice, and video. The
cards appear as ordinary objects that can be moved around, but the
face of each card is blank. However, as each card is dealt, the
person to whom it is dealt sees the real face of the card. (If you
prefer, maybe they have to wave their mouse over it or something.)
When called, the players turn over their cards and the faces appear
An experienced visitor to the parlor might know that the visors they
wear are what allows them to privately see the cards dealt to them.
A player can copy his visor and give it to someone else (presumably
not one of the other players!) so that their friend on another
computer can see these cards, too. A spectator could even get visors
from each player who gives a copy.
How it's done:
The parlor is an island like any that you think of in Croquet now.
Each player's visor is unique. It has a normal postcard to the
parlor, but each has a second overlay or UI postcard to a unique per-
player island. The players are automically made to wear the visor as
they pass through the portal to enter the parlor.
The "house" also maintains another island that the player do not have
access to. For each hand, the house generates a set of shadow card
objects -- on the house island -- which point to the real cards. The
house can make another set of shadow cards from the first set, and
then copy these cards into the parlor. The parlor shadow cards are
the ones that are shuffled and manipulated in the parlor space, and
dealt. Thus the parlor shadow cards have postcards to the house
shadow cards, and all of this is specific to this hand. Squeaker's
can't see which card the parlor shadow cards point to, because at
best they can only see the postcard data, and the interpretation of
that postcard is unique to that hand.
As each card is dealt, the house copies the face of the real card to
the shadow view of the card that appears in that player's private
island. That player sees the face of the card, while everyone else
sees the back. When the players turn over their cards at the end, the
house copies (only) those card faces to the parlor.
|Free forum by Nabble||Edit this page|