This is an evolving document that discusses the Project Looking Glass 3D Desktop Environment visual design.
Instead of starting a generic 3D application design discussion and ending up going nowhere, we first focus on a 3D application which we are sure we need to develop; the 3D Desktop Environment. This document follows this approach.
Sticking to the right focus is the most important aspect of the discussion. Sections 2 and 3 try to identify the right focus. Following those, we focus on the 3D desktop environment for now, and try to identify the overall paradigms and metaphors used. Then we proceed to discussions on the user interface design.
While our initial focus is on the desktop environment, we need to keep a broader view point regarding 3D user interface in general in order to make the metaphor and design extensible enough to accommodate future, evolving extensions. Section 6 is intended to keep track of possible ideas for future extensions, so that we won't get lost just by seeing a tree.
Other topics including software component design, etc. are outside of the scope of this document.
Do not target at a generic 3D widget set API at the beginning. Initially focus on how we can leverage 3D in order to "improve" the user experience in the context of desktop operations. Here "improve" includes productivity as well as fun-to-use aspects. Once we successfully identified a compelling new 3D usage model in this specific instance, we then extrapolate from this a more general or global paradigm for 3D applications.
2D Display, A mouse, a keyboard and sound-generation capability.[3] (Note: This is a goal for the early stage, in order to get things going. The system needs to be designed for future extensibility of more 3D oriented input and output devices in mind)
It is important to develop a cohesive 3D interface paradigm[2] 3D version of the WIMP (Window, Icon, Menu, Pointing device) paradigm.
Giving users unlimited freedom to do anything they want may seem like the most beneficent act of engineering possible, but it's not.[3] Creating "reality" by consistently defining constraints across the UI helps.
It is inherently difficult to understand 3D spaces and to perform actions in free space. Limit the required degrees of freedom for input whenever possible, and provide physical or virtual constraints to help guide user input.[2]
Window, Icon and Menu of the current style are designed under the constraints of older technology. Revisit those and think how to achieve the objectives in better ways by applying 3D capabilities and what we learned about human computer interaction since then.
Try to solve the overall paradigm and metaphor for a consistent and cohesive way to map the unique attributes of 3D capability to a desktop environment. This is the key to achieving something here that has the potential to redefine how users interact with computers.
Better to fight for two versus three clicks than to debate 2D versus 3D. Navigation complexity is a key determinant of user success.[1]
Think about how we can leverage capabilities like 3D, cheap scaling, translucency and access to clients' scene graph to simplify user operations.
No usability regression from today's 2D UI. Do not exacerbate the existing problems with 2D UI by introducing additional ones including difficulty of 3D navigation, etc.
Simplicity and consistency. "Featuritis is a principal and well known disease of software..."[4] Beauty is more important in computing than anywhere else in technology because of its complexity. Beauty is the ultimate defense against complexity.[4] Except when it is bringing about new world orders, beautiful technology hardly matters at all.[4] (i.e. it matters when...)
Three "pillars of successful user interface design": guideline documents, user interface software tools, and expert review and usability testing.[2]
This section lists useful design guidelines. These are supposed to be applied under the global 3D paradigm and metaphor we follow.
Target-based travel is very simple from the user's point of view.[2]
Three basic tasks: object selection, object positioning, and object rotation.[2] Locking object manipulation to a specific axis would greatly help mapping functionality and properties to an object in a globally consistent way.
Prompt, meaningful feedback for user actions.[1] Smooth transition of visuals. A sound could substitute for the feel of pressing a button.[2] Pay attention to "disciplined visual richness that is characteristics of fine design."[4] Affect changes the operating parameters of cognition: positive affect enhances creative, breadth-first thinking [9]
Save, copy, annotate, share, editing[1]
To allow rapid visual search[1], selection and manipulation. Provide Overviews so users can see the big picture.[1]
Spatial knowledge consists of landmark, procedural, and survey knowledge.[2]
Note: This section is still very rough.
Initially, we focus on trying to figure out how 3D can be utilized to create compelling new ways to interact with the features and functionality of basic desktop operations. Once we create a successful design implementation, we can extrapolate a more general or global paradigm.
First, we investigate the current desktop environemt and understand what the user really wants to achieve. Then we identify opportunities for improvements.? Then we discuss proposed global 3D paradigm and metaphor.
Windows obscure each other in Z-order, user needs to constantly arrange and rearrange windows to get access to a particular window.
Virtual Desktop technology is used to address the the problem, but a greater number of desktops (more than 4) imposes too great a cognitive load on the user.
This is the key section that needs to be worked out.
Assumption: the Project Looking Glass proof-of-concept demo hit some good points based on the feedback. So, it should have done something right.
First, decompose the demo UI and reconstruct it under the global 3D paradigm and metaphor we identified. During the process, try to find out what is good, and preserve those areas. Try to identify and improve things that were bad.
In order to move forward efficiently under resource constraints, first we focus on what needs to be fixed in the proof-of-concept demo. Then talk about what to add. By keeping this iterative process, hopefully we can include the focus group usability study.
to be completed
to be completed
Several people assisted in developing the ideas presented in this document. The author (Hideya Kawahara) gratefully acknowledges the excellent contributions from the following individuals: Frank Ludolph, George Zhang, Chester Rose, Hans Muller, Dan Baigent, Nigel Simpson, Rupert Key and Tony Printezis.