Thinking about a 3D user interface

One of the promises of a 3D user interface is visualization of large sets of data.  You couldn't fit 10,000 items on a 2D display, but you could set up a 3D scene that showed the items in rows, stacked off into the distance.  If you could tell them apart by colour, say, from a distance, and then as you approach, add more data, then this would be a useful visualization.


Imagine, for example, your email archive, or your browser history.  Both lists of items that you occasionally want to find something in, that could be arranged hierarchially by various criteria.  With a 3D user interface, you could view the entire data set at once and use the mouse to “get closer to” the area you're interested in - with a high resolution display, you can make out text much smaller than what you would be able to comfortably read, so as you approach you will be able to see which direction you need to go to get the information you're looking for.


It's hard to describe, and for the point I'm making it doesn't really matter that you get it, but if you do, good :)


So now think about what's involved in building the 3D scene that's showing you all this data.  If you're going to visualize your entire mail archive so you can fly around it, that means hitting a very large set of data to build the 3D model. 


Most of what we do in user interface today is optimized for only a small part of a document or a data set being visible at a time.  3D will change that.  Users will enjoy seeing a visualization of their entire hard disk filesystem, with files stretching off into the distance.  Users will enjoy having a lot of information visible, and using new techniques to rearrange it and work with it.


Done a “dir /s c:\” lately?  That's how long it takes to recurse through your entire filesystem. 


We're going to have to start thinking about how to organize data so we can quickly build renderable versions of it.