Interfacing the VRML World
An Interview with Susan Lynn Kropf,
The Lead Interface Designer for Cosmo Player 2.0
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.
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
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