It would be an interesting experiment to use a 3D graph heirarchy layout like this as an alternative to the scrolly Navigator stuff at the bottom of the Croquet screen, don't you think? I think that the Navigator was a kind of cool experiment itself, but it's a bit slow to
be really useful. Adding mouseover TBillboard text, kind of like balloon help, to your viewer would be cool, but it might be faster for a Navigator alternative to have small but visible clues, or signposts,
always there. What do you think?
I have been thinking about using trees for navigating
heirarchial information/behaviours for a while now. While I dont think a full 3d tree
approach would be usable for UI elements (the navigation would be way
too slow/impossible), perhaps something akin to the TTree (I think that
is the object name off the top of my head) object would work. The TTree
object shows a binary tree in a 2d plane, therefore all elements of
that tree are accessible to our 2d constrained mouse input. The TTree
would need to be changed to allow for n children, instead of the binary
tree at the moment.
To illustrate, how about a storyboard:
You click in the
bottom-left (perhaps top-left if you are a gnome zealot) of the screen,
your top-level tree of menu-options pops up rotated 45 degrees (i.e.
the middle branch is heading towards the top-right of the screen),
originating in the bottom-left
Any radial(?) movement outwards from the bottom-left corner
causes the tree to move towards the bottom left & vice versa. any
angular movement (i.e. up or down) causes either 1: the whole tree to
rotate around the global axis 2: the tree to rotate around the current
branches local position. I think the 2nd approach might be the best,
especially with large trees.
Moving close to the end (i.e. a circular target zone) of a currently unexpanded branch, causes it to expand. that branch is now the local branch.
mouse would also snap on to the nearest branch, so that any mouse-click
would result in an action, instead of sometimes being lost to empty
This would allow the same functionality as the normal menu
systems of today, but with a more fluid mouse movement, as opposed to
navigating sharp corners (which I overcome using the hotkeys anyway) like we do today.
Hmm.. perhaps a proof of concept would be more intelligible..:)
I also like the _idea_ of squeaks halo's (but not the feel).
perhaps trees to navigate the different menu-options imbued in objects
would be nice too. Your halo would be a circle of spheres/3d icons
around an object, transformed so that the circle is facing front-on to
the avaters position.
Adding mouseover TBillboard text, kind of like balloon help, to your viewer would be cool, but it might be faster for
a Navigator alternative to have small but visible clues, or signposts, always there. What do you think?
In the final incarnation of the class 'viewer', i had a TBillboard under each node, which was always there, but having a popup would probably be better UI wise. speed-wise i dont think anyone would notice, but creating the billboard dynamically in response to an click/mouseover event would use less memory for large trees.
Probably not an issue either way, more a question of usability.