Project List


Interview: Player 2.0
Authoring for 3D Nav
ITV Design Principles


1000 Cranes
Paper Chess Set

< project list project list next project >

Interfacing the VRML World
An Interview with Susan Lynn Kropf,
The Lead Interface Designer for Cosmo Player 2.0

Interfacing the VRML World Header
This article was originally published in November 1997 on vrml.sgi.com, a news and resources site for the VRML (Virtual Reality Modeling Language) developer community.

Visitors approach VRML with an assortment of mice, big and small monitors, sizzling PCs, and not-so-sizzling PCs. Imagine that these are only a handful of the variables that Interface Designers encounter. It is their job to solve the multi-million dollar equation that can make or break a product. How do you make a successful interface, the place at which independent systems meet and communicate with each other?

We talked with Susan Kropf, an Interaction Designer at Silicon Graphics (and now Cosmo Software) who has more than eight years of professional and academic experience. She was elected to carry out the task of developing new design functionality, as well as an overhauled look and feel for Cosmo Player 2.0

What does it mean to be an "interface designer"?

An interface designer is concerned with the communication between people and computers. Every piece of the interface communicates something to the user, and/or allows the user to communicate to the computer.

If we were building a house, interface design would span the jobs of architect and interior designer. Choosing which rooms will be in the house, and where they will go in relation to each other is the first step, then the placement of the furniture, then the colors and fabrics. In a computer interface, the "rooms" are the underlying structure and organization, the "furniture" is the widgets and buttons, and the "colors and fabrics" are the specific graphic design.

Since my background is in computers and psychology, I call myself an "interaction designer" to distinguish from graphic or visual designers (all subsets of the more general "interface designer"). I generally work closely with visual designers to complete a project.

What were some of the goals in redesigning a new interface to Cosmo Player?

As always when designing an interface, we wanted to make it easier to use. Moving around in a 3D space with a 2D input device (the mouse) is an inherently difficult problem. We wanted to try to make the user's experience as good as possible.

What were some of the complaints of the old interface?

The biggest request we had was for "in-scene navigation", or the ability to click in the view of the world and drag to move around. This is important so that users can stay focused in the world instead of having to look back at the dashboard every time they want to move. Imagine having to look at the steering wheel on your car every time you want to turn, and you'll get an idea of why we changed it. (For those advocates of the old school, you can still click and drag on the dashboard buttons to move.)

We also found that users had a difficult time changing viewer types, staying oriented in the world, and getting back to a place they'd just been. Feedback to the user about what was happening was another difficulty

How did you answer some of these challenges with the new interface?

We put access to the viewer types right on the dashboard, and separated them so that it was more clear that going to the Examine viewer is a very big change.

We added a number of aids for staying oriented in the world, including a Straighten button and a number of changes to the movement algorithms that make it less likely for a user to get disoriented. The viewpoints are also very accessible on the dashboard, so that users can get to them easily.

Cosmo Player Dashboard

We added an Undo Move button, so that users can get back to previous locations in the world. This works both to consciously backtrack, and as an "oops" button, when users make a movement that they want to do differently.

The increased feedback in Cosmo Player 2.0 makes it easier for users to know what will happen when they click the mouse. Both cursors and dashboard lights provide clear mode indications, and the touch cursor shows when objects are active in the scene.

Who else was involved in the design?

We started a research effort to take a deep look at the problem of 3D navigation and interaction almost a year ago. Rob Myers was especially helpful, since he had designed the previous versions of Cosmo Player and shared his experience with us. The entire Cosmo Player team were the first users and made useful suggestions for all parts of the interface.

To do the graphics on the dashboard, I worked with a very talented graphic designer at Construct Internet Design, Mike Whistler. I created a specification, and we worked together to design the current look of the dashboard, as well as the icons and cursors.

And none of this could have happened without David Brown, who prototyped the entire interface, including the navigation algorithms, in Java using the EAI. David is also very good at telling me when I'm wrong.

What was the time line for the design aspect of this project?

For once, we had the luxury of starting the design as a research project instead of a product effort. We spent about 3 months looking at browsers, games, and other research in order to understand the problem. Then we built a prototype and user-tested it in another month or so. That was 6 months ago, and we've been refining since then as the actual product got built.

In the long term, we recognize that to get truly great navigation in any specific world, the author of the world needs to be very involved. We're still looking for more (spec-compliant) ways to give the author increased control over the navigation.

What do you find most satisfying about Interface design?

I like knowing that people are having better experiences with computers because of me than they might otherwise have had.

Susan Kropf has also contributed to vrml.sgi.com's Tips and Tricks section with an article on Authoring for Navigation in 3D Worlds

Also see portfolio project: Cosmo Player 2.0

< project list project list next project >