Project Looking Glass - Cool LG3D Apps and How to Write Them (TS-7992)
LG3D is available from Sun at http://lg3d.dev.java.net/.
Background:
Looking Glass is a next generation 3D UI exploration project based on Java technology. It hosts existing 2D apps in a 3D space. It provides APIs for 3D app development and is evolving in the open source community. It was open sourced in 2004 under the GPL.
Demos (most available on Java.net:
There is a cool feature that allows navigation of photos using a ferris-wheel analogy controlled by the mouse scroll wheel.
A scheduling program (CosmoSchedulerD) uses a graphical solar system to indicate temporal proximity (location in ring) and importance (size of planet).
Virtual desktops are seamlessly integrated, and can be displayed in unison in a panorama view.
A reference was made to James Burke's "knowlege web" concepts. Events can be linked graphically using a sphere full of linear connections. Demo illustrated events linking Mozart to the helicopter. Goal is to not provide just static information, but provide oportunities to interact richly with the information.
Creating LG3D Apps:
Environment is composed of a Background, Taskbar, Global Light, and an all-encompassing Frame3D. It's built entirely upon the Java 3D APIs in J2SE.
Example:
Frame3D frame = new Frame3D();
Container3D container = new Container3D();
Component 3D comp = new Component3D();// Creation of a shape - set geometry,
// appearance, texture, animation, etc.
comp.addChild(aShape);// Initialize event handling
comp.addListener(anEventListener);// Initialize animation
comp.setAnimation(anAnimation);container.addChild(comp);
frame.addChild(container);
frame.changeVisibility(true);
frame.changeEnabled(true);
Moving Forward:
The 0.7 release was recently made public. It has WebStart support to simplify installation. It has an "App" mode that enables you to run the full LG3D desktop on user's existing desktop (window-mode rather than full-screen).
Over the next year, the LG3D team plans to enrich the platform by including identity and collaboration features. Also a task-oriented UI will be developed.