Project Looking Glass 3D Desktop Visual Design Discussions


Key Issues

Contents

  1. Introduction
  2. Design Directions
  3. Design Guidelines
  4. Designing Global 3D Paradigm and Metaphor
  5. 3D Desktop User Interface Design

1. Introduction

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.

2. Design Directions

  1. Focus on a 3D application which we are sure we need to develop; the Project Looking Glass 3D Desktop Environment.

    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.

  2. Stick with an Ordinary Display and Ordinary Pointing Device

    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)

  3. Develop Global 3D Paradigm and Metaphor

    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.

  4. Not 3D But Usability Focus

    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.

  5. Pay strong attention to elegance

    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...)

  6. Iterative Usability Tests and Design Refinements

    Three "pillars of successful user interface design": guideline documents, user interface software tools, and expert review and usability testing.[2]

3. Design Guidelines

This section lists useful design guidelines. These are supposed to be applied under the global 3D paradigm and metaphor we follow.

  1. Provide Simplified User Navigation[1][3]

    Target-based travel is very simple from the user's point of view.[2]

  2. Provide Simplified Object Manipulation[1][3]

    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.

  3. Permit Rich User Feedback

    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]

  4. Permit Rich User Actions on Objects

    Save, copy, annotate, share, editing[1]

  5. Organize Groups of Items in Aligned Structures

    To allow rapid visual search[1], selection and manipulation. Provide Overviews so users can see the big picture.[1]

  6. Enable Users to Construct Visual Groups to Support Spatial Recall[1]

    Spatial knowledge consists of landmark, procedural, and survey knowledge.[2]

4. Designing Global 3D Paradigm and Metaphor

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.

4.1 What Current Desktop Environemt Provides

4.2 What the User Really Wants To Do

4.3 Opportunities for Improvements

4.4 Proposed Global 3D Paradigm and Metaphor

This is the key section that needs to be worked out.

5. 3D Window Manager User Interface Design

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.

5.1 What to Fix in the Proof-of-concept Demo

to be completed

5.2 What to Add to the Proof-of-concept Demo

to be completed

Acknowledgements

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.

References


$Revision: 1.5 $ $Date: 2004/08/19 12:20:37 $