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.[1][2]
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.[3]
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. [4]
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.[5]
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.[6]
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.
[1] FSN 3D Navigator. http://www.sgi.com/fun/freeware/3d_navigator.html. SGI (March 2002).
[2] The Task Gallery. http://research.microsoft.com/ui/TaskGallery/index.htm. Microsoft Research (March 2002).
[3] Seven Years of Graphics. http://accelenation.com/?doc=123&page=1. Accelenation (March, 2002).
[4] The Unchanging GUI. http://www.kuro5hin.org/?op=displaystory;sid=2001/2/18/2283/29444. Kuro5hin (Feb 19, 2001).
[5] Diaz, Leonel Morales. Strategies for a better user interface, SIGCHI Bulletin, 31(3):22, July 1999.
[6] Jansen, Bernard J. The Graphical User Interface: An Introduction. SIGCHI Bulletin 30(2):23, April 1998.