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.
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:
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).
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''
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.