The computer desktop has always had an inner desire to become three-dimensional. From two bit icons, the desktop has progressed to its current state where icons are photorealistic in quality and almost three-dimensional in quality. Yet the desktop has always remained a two-dimensional interface. Indeed, there have been many attempts at creating various three-dimensional interfaces – interfaces such as SGI’s FSN (as seen in Jurassic Park) and Microsoft Research’s three-dimensional task gallery, however none has yet to become widely successful. Yet many people still foresee a three dimensional interface as being the next great advance in user interface design. As a response to this challenge, MacWarriors, an ACM SIG at the University of Illinois at Urbana-Champaign, created the 3DOSX project, a project to create a three dimensional file system browser, in the hopes of creating a free and viable alternative to the age-old desktop metaphor.
Several years ago, the Internet had an intense fixation with a three-dimensional web-browsing environment known as Virtual Reality Markup Language (VRML). Numerous sites rushed to create three dimensional environments so that their visitors could interact with each other via avatars; the dream was to easily navigate from hyperlink to hyperlink in a three dimensional environment. But almost as quickly as sites tried to embrace this new revolution in technology, then touted as the next greatest thing, VRML pages almost too quickly vanished from the network.
What happened to this new Internet? In fact, what happened to any type of three-dimensional computer interaction? 3D accelerated video cards used to be rare and expensive, but now, seven years later, a three-dimensionally accelerated video card is almost a requirement for any user. Despite the now widespread ownership of these amazingly complex graphics cards, the applied use of this now standard feature is still quite limited – only two widespread uses exist for these graphical features: the scientific and gaming communities. The scientific world has grown by leaps and bounds due to this new way to visualize data. Complex systems can be modeled and displayed with ever increasing complexity and accuracy, where surgeons can perform remote surgery from across the planet and complex molecules can be created, viewed and studied. But perhaps the driving force behind new graphics card technology stems from the gaming industry. From first person shooters to flight simulators, games continue to grow in complexity with each new graphics card revision.
Yet, when all of this technology exists on the desktops of so many people, why are its uses still so limited? Will 3D ever be seen on the desktop?
There is no doubt that displaying in three dimensions is visually appealing. Indeed, the most popular operating systems in use today continually try to make their interfaces appear with greater depth – from mouse shadows to window shadows and buttons that rise up on mouse-over, people tend to associate a more three dimensional interface with a more advanced operating system. This can be easily seen with any comparison between older operating systems such as Windows 3.1 and Windows XP.
Prior attempts at creating a three-dimensional interface using real world metaphors for interfaces has not resulted in any major user interface success. Because of this, we chose to abstract the user away from the file system in a completely different type of interface.
Perhaps the primary criticism towards three dimensional interfaces on computers has been that since computers are inherently two dimensional, the best interface for a computer must then be a two dimensional interface.  Part of this argument stems from the fact that a monitor is only two-dimensional – however this argument is mostly invalid since a two dimensional screen can very easily simulate a three dimensional environment, much like paintings and artwork can easily simulate depth using perspective. The other half of this argument originates in the fact that the mouse and keyboard used in modern computers is, by design, two-dimensional.
In order to overcome some of the limitations inherent in a completely three-dimensional interface, the interface of 3DOSX is somewhat of a hybrid of two- and three-dimensions. Because of this fact, we decided to not even attempt to transpose these movements into the three dimensional world. That is, instead of allowing the user full control with three directions of motion (or even more confusing, six degrees of freedom), we have created an interface that is somewhat two dimensional in navigation, yet three dimensional in data display. Thus we allow for full keyboard navigation using just the four standard arrow keys. Moreover, in some ways the keyboard interface supplements the mouse in that the keyboard covers more of a flat x-z plane of movement, while the mouse covers more of an x-y plane. A combination of the two results in very efficient navigation of the directory tree, however either one can be used without the other without a decrease in functionality.
Ideally one would be able to replace the traditional file system navigation components of an operating system with our program, therefore one of the major goals of this project is to as completely as possible duplicate all of the current functions of the OS X finder, currently the application does almost anything a normal user would think of doing, short of renaming files.
The basic interface of our 3D file system browser displays folders as “platters” with each platter containing files and other folders along with their corresponding icons. (Figure 1-1).
One navigates through their hard drive by double clicking on folders, each of which opens up in a new platter. Directory navigation logically starts with the root platter being the user’s desktop. Each platter is also color coded to indicate directory permissions: red represents read only, blue represents read+write, and green represents ownership. Users can click on any platter they can see, a mouse click on any visible platter will result in the clicked platter becoming the platter to which the user is looking. This viewpoint change represents a shift in the user’s current working directory. The largest benefit to using 3DOSX as a general file system interface is in its localization features; the organization of files is very clear, and accessibility of those files is easy with a quasi-WIMP (Window, Icon, Menu, Pointer) interface. One is able to concentrate their tasks on the current working directory while still interacting with the rest of the interface.
Platters are set up to maintain a constant size so that they do not block the view of platters located deeper in the z-direction. Icons also maintain a constant size, allowing them to always remain easy to see, and thus easy to click on. One can click and drag on any portion of the platter that does not have a file on it rotate the platter to view all of the files. When there are more files than are visible on a platter, they enter and exit from a virtual box on the far size of the platter. The platter rotates lazy-susan style; all icons are always visible, no matter their orientation. As a result of this platter-file display system, the interface follows the three primary factors of GUI design set forth by Jansen: physical limits of acuity, limits of absolute memory and the gestalt principle. Because the interface in 3DOSX allows orientation of files in the y (depth) direction, most files remain within a small viewing angle; the users eyes can easily jump from platter to platter and instantly see all objects within each platter. The platter file organization presents files in an alphabetically sequenced manner, the user is limited to at the most working with the files that can be seen immediately – the user can see exactly six items in the foreground, other icons are visible but are much smaller and set back deeper in the interface. Perhaps the greatest benefit of a three-dimensional interface such as 3DOSX is in its strict following of the gestalt principle of organization. Because directories are represented as interlinked platters, the user is able to more easily follow file system organization, facilitating a faster transformation of location information to the user.
We found by observation that new users were often lost and uncomfortable when the platters were isolated in an infinite black space. To alleviate this concern, we created a virtual bounding box that helps the users to become better oriented and to provide a virtual “home directory.” Apparently the fact that there was no static background as a point of reference caused the animated moving of platters to appear as if the platters themselves were moving rather than the user’s camera. The box is static in that it does not rotate with the camera, in order to help avoid user orientation problems associated with confusing changes in the behavior related to motion parallax.
As previously explained, the application supports full keyboard navigation. The left and right arrow keys shift the currently selected file, while automatically rotating the platter to show that file in front. One of the more interesting arguments that came up during the initial design of the program was due to a difference in mindset when assigning the mappings for the up and down keys. Certain developers saw the up and down keys as moving the user forward and back – the up arrow would move the user to the platter immediately in front of the current platter, while the back arrow would open up the currently selected folder into a new platter. Other developers argued that the arrow keys should instead move the user “up” and “down” in the directory structure, with down moving the user closer to the root platter and up moving to a directory located higher up in the structure. In the end, the former position won out, due to the fact that the navigation of platters was somewhat similar to walking around in games such as Quake or Myst.
Perhaps the primary thing that people are used to in three-dimensional interfaces is user control of a camera. Because this can both be confusing for novice users as well as cause difficulties with orientation for normal users, we chose to incorporate very limited camera control. In fact, the only control that the user has with the camera is to tilt the camera up, left or right, thus allowing the user to click and/or see platters behind them, or to slide the camera down in order to select a platter which would normally be blocked from being clicked on by the current working platter.
Because the platters are alpha-transparent, one can see the entire path up to the current platter as well as all icons on platters whose view would normally be blocked by the platter itself, increasing the amount of visible information.
There are numerous benefits associated with the 3DOSX three-dimensional interface over two-dimensional interfaces. Because all folders are visible at the same time, the user is able to quickly glance into the contents of all open folders and see the contents inside. The user is also able to easily see the relationships between different directories – which directories are branched off of which other directories, and where files exist in reference to other files. Additionally, having all directories open at the same time makes it very easy to move files between directories – instead of having to juggle around many windows, the user is able to quickly orient oneself and choose the target directory. The depth of an open platter can be easily seen by the height of the platter; all open platters with the same depth exist with the same y-height. One of the unforeseen benefits since the release of the program to the community has been that many users have decided that their files are not arranged very well, and thus have rearranged their files and folders to be more hierarchical, allowing the user to then take better advantage of the way file systems are designed to organize information. (Figure 1-2).
There are several projects that have attempted three-dimensional interfaces. Perhaps the most well known project is SGI’s FSN 3D Navigator, a file system browser that made its largest debut in Jurassic Park. Microsoft Research has also created a three-dimensional desktop interface, known as “The Task Gallery.” Several years ago, Apple released a three-dimensional web browser under the name “Hotsauce Meta Content Format.” There exist several other competing three-dimensional file system browsers, but 3DOSX is distinctly different in that it is the first program to graphically relate files in a format that users can better related to – instead of representing files and folders as blocks, files are represented with their original icons sitting inside of folders. Therefore the interface is more realistic and users are able to relate their real world experiences with object manipulation directly to file system navigation.
Although the initial idea of a three dimensional interface at first seems cumbersome, actually using 3DOSX seems faster for certain file system purposes, such as moving files between folders and searching for files. In fact some users have commented that they would rather use 3DOSX than the traditional Mac OS X finder. Because the graphical display of files is handled through OpenGL, application performance varies greatly with video card type. This means that for some older computers a three dimensional interface may be unacceptably slow. Perhaps the greatest obstacle to the acceptance of a three-dimensional interface in a commercial operating system is that a shift to three dimensions represents a fundamental change in computer interface paradigm. Additionally, with the incorporation of a three dimensional interface, one would want a complementary three-dimensional window manager as well – and this, perhaps will be vastly more difficult to make function well with the way applications are currently designed.
3DOSX runs on Mac OS X, and is openly developed. It can be downloaded for free fromhttp://www.acm.uiuc.edu/macwarriors/eoh2k2/3dosx/download.html. The source is licensed under a BSD-style license, and is available via anonymous CVS to all those that wish to contribute. The program is written using the Cocoa (NextStep) API in Objective-C. Interest has been expressed in porting this application to Linux and UNIX via GNUStep.
I would like to acknowledge all of those who made contributions to the 3DOSX project – the various people on the development list who made suggestions and answered questions about Cocoa and Objective-C, and especially the four other major contributors to the project: Mark Flider, Mark Levin, John Marriott, and James Tuley.
Robert Chin (robert dot chin at (remove this) dot gmail dot com) is currently a freshman undergraduate studying computer science at the University of Illinois at Urbana-Champaign. His research interests include HCI and artificial intelligence.
 The Task Gallery. http://research.microsoft.com/ui/TaskGallery/index.htm. Microsoft Research (March 2002).
 The Unchanging GUI. http://www.kuro5hin.org/?op=displaystory;sid=2001/2/18/2283/29444. Kuro5hin (Feb 19, 2001).
 Diaz, Leonel Morales. Strategies for a better user interface, SIGCHI Bulletin, 31(3):22, July 1999.
 Jansen, Bernard J. The Graphical User Interface: An Introduction. SIGCHI Bulletin 30(2):23, April 1998.