It's a tough call in that case. After all, even a 3D world can be represented as a string of bits, right?
It really depends on the kind of data in your peoblem domain, and as such ,it's very application specific.
Anything that filters or transforms data, or results in a very small and distinct result, is probably fodder for the CLI. A CLI can be easily wrapped in a 2D GUI by a variety of widgets, but it's still just a CLI front-end. Something like DOSSHELL comes to mind here, a 2D version of the file access commands for DOS overlaid onto a navigable tree of DIR commands.
2D stuff is anything where you need to see more than one line of data at a time. Typically this means text, but also applies to graphics. I think that the sense of 2D vs CLI is pretty natural, and determining the need for 3D is the real problem. We're in the habit of thinking in 2D, so a 3D extrapolation seems excessively ornate, much like a graph of performance may be 'too pretty' for someone used to poring over log files. Also, there are no consistent 3D metaphors just yet. Most everyday items can be represented as 2D icons with similar functionality, like folders or a trash bin.
For a successful 3D UI, you would have to have a need to show another dimension of information consistently. I thought a while about a good example, but decided against fabricating one since it would be completely contrived and subjective. Visual rendering, especially in 3D is very application specific. Add the ability to use color in 2D, various markup symbols... You really have to have multiple dimensions of data that necessarily need to be presented simultaneously, for a virtual world to work well with users.
Of course, if you want to model a real world, for example to walk around a molecule or geological data, or through a proposed construction of some sort, then nothing but 3D will do.
Another area that might lend itself to 3D rendition is DSP. You could show sound, for example, with time on the x axis, volume on the y and frequency on the z, but only if it suits the point you're trying to make in the UI.
Asking what the criteria are for an addition of a dimension to the UI, might be begging the question. The problem demands the tool, not the other way around. I think you're right in considering the issue, but I doubt that your question can be conclusively answered without that answer being arbitrary. If a problem needs to be solved, and a metaphor comes to mind that has 'x' dimensions, then that is a good solution. By even considering 3D you're looking further than many UI developers.
|"Is K5 my kapusta intellectual teddy bear?"|
[ Parent ]