On Oct 21, 2006, at 11:02 AM, David Faught wrote:
> On 10/20/06, Howard Stearns <
[hidden email]> wrote:
>
>> ...[In Brie,] UI elements
>> are displayed on an Interactor (think Portal). Those UI elements
>> may be
>> there all the time (e.g., the Wicket buttons on DAS' Filters and Task
>> paper), or not. You can "wear" an interactor as your toplevel screen
>> frame. So whether there is a permanent menu, and where it appears,
>> is up
>> to you. (Your 2).
>
> Now you are back to talking about a 2D interface, I think. I'm not
> sure what "wearing" a 3D portal/interactor would be like. Multiple
> overlaid avatar costumes? Making use of Tweak would be an obvious
> choice in the 2D area. This is what I'm trying to get at. Why
> reinvent the wheel in the 2D interface when Tweak is already there
> (almost)? ...
Picture buttons and text floating in 3D. But this is part of a
particular UI, and not part of some other UI, so they are only
visible when looking through a particular Interactor (in a TWindow).
In some cases, the buttons and text might be associated with some
object in the scene and so appear to be located in the same 3-space
as the object they are associated with. In other cases, it's more
intuitive to think of the UI elements as part of the Interactor --
sort of a heads-up display -- so the buttons and text look like they
are pasted onto the TWindow like decals. This is how the buttons
appear in David's paper.
We're used to driving through TWindows that have TPortals to other
spaces -- you enter the space. What happens when you drive through a
TWindow that contains an Interactor? Well, imagine you're driving
your car through a bunch of newspapers blowing around in the breeze:
the newspapers stick to your windshield. In the case of an
Interactor, the button and text "decals" stick to your camera lens as
you continue to drive around.
The Brie proof-of-concept built for Jasmine/Dormouse worked this way.
We were more interested in exploring the range of effects from
"clearly pasted onto the Interactor," to "clearly in the space with
the other objects," and everything in between. Since everything of
interest in Brie is (conceptually) an observable "concrete" object at
all times, we used a single 3D object in all these different
variations. However, in the case where the UI element is pasted flat
on the camera lens, there is the opportunity to render using the
higher fidelity 2D text (or other widgets) from the operating system
(or from any other "lower" level 2D UI toolkit). We didn't do this
visual optimization at that time.
Also, any element, whether part of the UI or not, could be arranged
by direct manipulation while you were using it. (A right-click
selected the object in a special minor mode -- "builder's mode" --
that suppressed the usual click behaviors of buttons and menu items
so that they could be dragged around. Remember, everything was a
"concrete" object. Any other select or deselect (left-click on
anything, including empty space) cleared the minor mode.) Since we
were exploring the creation of compound objects in 3D, we created our
UI elements the same way. However, there's a special case here, too,
where a bunch of flat UI elements all happen to be in the same plane
-- even if that plane is not perpendicular to the camera. In such
cases, we might have used a 2D toolkit (like Tweak) within a texture
in 3-space. But we didn't do that either. I'm not sure whether it's
worth shifting user models and mechanisms just to take advantage of
that.
Is it worth unifying the models? Let Tweak do 3D? Let Brie use
existent Tweak players and costumes? Maybe. Eventually. But they
are really entirely different things with very little overlap. For
now, I feel that it's best for each to evolve separately to best
explore their own very different domain, purpose, and scope -- and
not coincidentally to avoid being dependent on each other. As more
of Tweak becomes an integrated part of Croquet, the way Islands and
signals are now, Brie will certainly take advantage of more. Other
parts, such as fields and annotations, are really a very different
approach -- conflicting even -- to Brie's purposes.