Through Project Looking Glass with Hideya Kawahara
Pages: 1, 2, 3, 4
JL: I understand that one thing you've done is to compile it so that it runs at least partially on the video card. Could you tell us about that?
Hideya: Actually, we don't perform any tricks like a special compilation in Project Looking Glass. The project uses Java 3D underneath for its rendering. Java 3D is a sophisticated 3D rendering engine designed to leverage the underlying 3D graphics capabilities. We are happy to see that Java 3D is doing a great job.
JL: Right. So does Java 3D do any card sensing or anything like that?
Hideya: Java 3D is implemented on top of OpenGL. As you know, most of today's graphics cards support accelerated 3D rendering via OpenGL. So, Java 3D simply benefits from the fact. In addition, Java 3D itself performs optimizations for rendering operations.
JL: Could you take us through some of the Looking Glass apps and tell us what they're about?
Hideya: The Project Looking Glass desktop itself can be considered as an application. One of the focuses here is to add value to the desktop environment and existing 2D applications by employing the additional Z dimension and 3D animation effects.
For example, now because a window is actually a 3D object, we can position it in the 3D space as we like. How can we leverage this to improve the desktop's usability? One of our attempts is to allow the user to slant it and park a window on a side. This is useful when the user is not really using the window but wants to keep an eye on it. This feature helps the user to utilize the limited screen real estate.

Figure 1. Slanting windows with Looking Glass--click for full-size image
We can also slant all the windows at one time so that the user can see all of the opened windows. We call it a bookshelf view.
By the way, have you ever seen the back side of a window? Since a window is now a 3D object, we can utilize its back side. We have implemented a prototype mechanism to put a sticky note on the back side of an application window. Also we are prototyping application configuration using the back side.

Figure 2. The front side of a terminal window--click for full-size image

Figure 3. The back side of a terminal window--click for full-size image
When you used up the current window, wouldn't it be nice to pan your desktop view toward left or right? We implemented such a feature too. This is similar to the virtual desktop switching, but by associating the virtual desktop with the panoramic background and using the panning motion, I think it can give better visual cues to the user. The panoramic desktop also supports the overview mode.

Figure 4. A panoramic view of multiple desktops--click for full-size image