Three Dee Interface

3D Interfaces are extremely well-developed in games. Outside of games, the world of 3D interfaces is chock-full of gimmicks.

Gimmicks

A gimmicky 3D interface is one that provides not a single advantage over existing 2D interfaces. At best, they are tired reimplementations of 2D interfaces by technofreaks enamored of 3D. An enthusiastic, "Oh look, we've reimplemented everything using completely new technology that you don't care about so that we can give you features you couldn't care less about." Code for coding's sake. That's what happens when programmers create UIs without knowing anything about InteractionDesign.


I'm not sure if games are a good model for general-purpose UIs, though. The point of a game is to immerse the user in the game world, which 3D does brilliantly. It is not necessarily to make the user more efficient. In fact, most games play better when the user has incomplete knowledge, because it adds to the challenge and realism.

I found the switch from Sim City's flat perspective to Sim City 2000's angled perspective to be very disorienting. I frequently click on the wrong cell in Starcraft, because the diamond-shaped perspective grid gives you no feedback about where you're really directing your units. When I play games where I can adjust the camera angle, I usually either try to place it directly over the character (if this gives me a view of a sufficient area of the playing field) or directly behind him.

And there's a reason why God mode in Spectre takes you out of the first-person 3D perspective and puts you in a 2D overhead perspective.

It's probably an overgeneralization to say that all 3D interfaces are gimmicky, but I've yet to find one that actually lets me get work done faster. -- JonathanTang

There's a few things that 3D does better than 2D:

An UI that heavily relies on these things will not be gimmicky by going 3D. So all you need to do is provide:

The last is the critical bit. Because if you don't have automatic placement of objects, you'll just be reinventing Self's infinitely large flat workspace, except that you'll provide more opportunity for users to get lost. You need 3D for automatic placement, and users won't place anything in 3D without special hardware. The two go hand in hand.

Zooming is also very important if you take full advantage of it.

For instance, at a distance from an image, you see a small thumbnail. Close up, you see the entire image. And panning to the right (CTRL-right arrow for exactly one screenful right), you see the next image in the directory. So there are no "slideshows", no "loading" of images, and no crippled viewers that can't rename a file on the fly.

(And if you rename a file, it should move to its new position in the sort order using a ContinuousTransition so that you can take note where it ended up. Scroll-lock might provide the function of locking onto the object and automatically following it.)

In addition, at a far distance from the objects under scrutiny, they should all gather together in a special compact form. A list view instead of the small icon view. This would get rid of the need for applications that provide nothing but a list view of other applications' objects.

With zooming, you can get rid of all the stupid viewing modes people have invented by unifying them within a single representation. -- RK


There are some issues with 3-d UIs (as a general purpose UI; excluding games and simulators and the like) that could conceivably be worked out (no satisfactory, general-purpose solution exists).

These are hardware problems, obviously--any attempt to implement a useful 3-D UI strictly in software is probably doomed to fail because the 3-d world inside the computer is viewed and controlled through a 2-d interface. (That said, underyling technology development might be useful--it's just the whole product that will not be very useful).

However, there is--I believe--a more fundamental problem, and that is the problem of opacity. Given an eyeball (or a pair of eyeballs), and trace light rays from the eyeball in all directions. As soon as any one of these rays strikes an opaque object, any object behind is obscured and not visible (ignoring the presence of mirrors to provide an alternate path to the object). The frontier of what can be perceived by the eye is fundamentally a (curved) 2-dimensional surface. Any 3-d world will have a significant part of it obscured. On the computer, of course, you can use other means to find things, and/or change your vantage point in the virtual world--but at any point, only a subset of the total universe will be visible.

In general, I have a suspicion that for beings which perceive n spatial dimensions; the most efficient UI will have n-1 dimensions. In flatland, computer monitors would be line segments. In a 4-d world, 3-d UIs would make perfect sense; of course, a 4-d being would also be able to see inside any 3-d object by orientating him/her/itself along the spatial axis orthogonal to the 3 dimensions found in the object; much as we can observe all writings on a piece of paper by looking down on it.

''This is an excellent point. And I'm kicking myself for not having considered the implications of our 2+1D vision to computer worlds. It's so obvious now that this is exactly the argument I need to justify constraining the placement of objects in my 3D interface spec. Now I can point out that my interface is exactly 2+1D (and not 3D) and claim that it's optimal.

(Of course, I never felt any need for that justification since I considered it self-evident.) -- RK''

I interpret some of the above content as meaning the following: In fact, current WIMP-based interfaces are already 3D; windows can be in front of or behind each other. It's as 3D as is useful. A true 2D interface would not allow windows to overlap. Screen-editor-based interfaces for programming BASIC were common for 8-bit computers; those were closer to true 2D. A line printer interface might even be considered 1D by some standard -- successive lines on the page resemble a time dimension more than a spatial dimension, since they're one-way. --NickBensema

The idea that the WimpInterface is already optimally 3D is false, completely and self-evidently wrong, and unutterly absurd. WIMP combines the worst aspects of 2D and 3D.

Like 2D interfaces, you don't get any perspective cues whether an object is beneath another object or above it. Further, there is no concept of distance so you are unable to move closer to or away from an object.

Like 3D interfaces, there is no special point of view which necessarily exposes all objects.

WIMP is the worst of all possible worlds. It is evil twice over. -- RK

And yet, it's still the best we have!

Yeah, right. So's C++ and Java.


CategoryUserInterface


EditText of this page (last edited January 27, 2006) or FindPage with title or text search