From bowman@cc.gatech.edu Mon May 4 13:31:55 1998 Received: from burdell.cc.gatech.edu (root@burdell.cc.gatech.edu [130.207.3.207]) by lennon.cc.gatech.edu (8.8.4/8.6.9) with ESMTP id NAA15504 for ; Mon, 4 May 1998 13:31:54 -0400 (EDT) Received: from wheaten.hitl.washington.edu (Nr3xjElXWhOA2+Dv+ksUDVcpItpJkTpo@[128.95.73.60]) by burdell.cc.gatech.edu (8.8.4/8.6.9) with ESMTP id NAA06061 for ; Mon, 4 May 1998 13:31:53 -0400 (EDT) Received: from burdell.cc.gatech.edu (root@burdell.cc.gatech.edu [130.207.3.207]) by wheaten.hitl.washington.edu (8.8.8/8.6.12) with ESMTP id KAA17821 for <3d-ui@hitl.washington.edu>; Mon, 4 May 1998 10:31:32 -0700 (PDT) Received: from lennon.cc.gatech.edu (bowman@lennon.cc.gatech.edu [130.207.9.20]) by burdell.cc.gatech.edu (8.8.4/8.6.9) with ESMTP id NAA06041 for <3d-ui@hitl.washington.edu>; Mon, 4 May 1998 13:31:30 -0400 (EDT) Received: (from bowman@localhost) by lennon.cc.gatech.edu (8.8.4/8.6.9) id NAA15467 for 3d-ui@hitl.washington.edu; Mon, 4 May 1998 13:31:29 -0400 (EDT) From: bowman@cc.gatech.edu (Doug Bowman) Message-Id: <199805041731.NAA15467@lennon.cc.gatech.edu> Subject: Re: Taxonomy of navigation techniques To: 3d-ui@hitl.washington.edu (3D UI List) Date: Mon, 4 May 1998 13:31:29 -0400 (EDT) In-Reply-To: <4FD6422BE942D111908D00805F3158DF05B2665D@red-msg-52.dns.microsoft.com> from "Matt Conway" at May 1, 98 02:58:45 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO Matt, Thanks for your thoughtful reply. Let me make some comments about what you've said: > Your definition of navigation is just fine, but I have some thoughts on > making that definition somewhat broader. I believe there are nuances of > motion that exist between motion control and wayfinding. Can you give some examples? I assume you mean that the two pieces (travel & wayfinding) are very rarely completely separated in real self-motion. Both inform the working of the other. Or do you mean something else? > That aside for the moment, it seems to me that the taxonomy listed below is > concerned with *how* the camera is moved in terms of the data values that > represent camera state (and the time derivatives of that state), where I've > been thinking more in terms of a task-based model. Of course, I don't mean > to imply that these two things are mutually exclusive. I like the way you've > laid things out. My model is different, but not radically so. I would also claim that my taxonomy is task-based, but on a more motoric level, as you suggest. > I start by asking why the user is moving the camera in the first place: to > examine an object? To learn a route? To gain survey knowledge? To simply > travel a route? To establish and/or maintain a particular view of an object? > Once you answer these questions, then (I believe) you have a much stronger > way of thinking about what degrees of freedom you should put in the hands of > the user (and in what form), and which degrees of freedom you should allow > to be managed by the system. I agree that the user's motivation is important in determining a good interaction technique. However, I think it's difficult to determine that motivation. I think my evaluation framework considers these factors in a different way. Instead of defining in the taxonomy techniques that fit these different ways of thinking about travel, the taxonomy is based on the abstract travel task. Then, in experimentation, I would set up tasks that make users travel for these different purposes. By analyzing the results of this experimentation, we can determine which techniques (and technique components) perform best in a object examination or route learning situation. These would correspond to various performance metrics. Then, applications can choose techniques appropriately. The taxonomy is useful in helping us design new techniques, and in helping us separate out the perf. differences between techniques to a more fine-grained level. What do you think are the relative advantages/disadvantages of these 2 approaches? Or do they end up being the same? > I think it is vital that we keep separate in > our heads (1) the user's goals (2) the abstract solution that will satisfy > that goal and (3) the particular interface that implements the abstract > solution. For example (pardon the vertical whitespace): > and so on. These things are all in the taxonomy tree you lay out below, just > organized in a different manner. Parting shot: there should be a list of > notes next to each of the abstract solutions that list the strengths and > weaknesses of each solution. Some are good for gaining survey knowledge, > others are better suited for situations where the user needs fine-grained > control. I like this type of organization as well, in that in directly includes the user's goal. I don't think this type of organization will work as well for generating new design ideas, because I don't see any mechanism for deciding what techniques might be best for a given goal. The taxonomy I proposed attempts to be general in that it works for any travel task - as I said, I use experimentation to find which combinations of techniques work well for a specific user goal or performance requirement. I just last week presented my thesis proposal. One of my committee members had problems with my taxonomies because he said they were just one of an infinite number of ways to break down the tasks of travel, selection, and manipulation. He asked why I had made the choices I did, and whether other ways of taxonomizing might be better. He also wanted to know in a systematic way which part of the design space my taxonomies covered. I did not have good answers for these questions, except that I had tried to make them as general as possible, and that almost all known techniques fit easily into these frameworks. I'm wondering if anyone has any ideas about this. Is there a "right" way to taxonomize? :) How do we evaluate taxonomies? Some possibilities: they cover all known techniques, they are useful for generating new design ideas, they provide a meaningful way to think about differences between techniques, or most people familiar with techniques would fit them into the taxonomy the same way. What is the purpose of a taxonomy? If someone comes up with a better taxonomy, are the results that we get nullified? I realize this is very abstract (abstractions about abstractions), but what do people think on these issues? Doug -- Doug Bowman, Ph.D. Candidate College of Computing, GVU Center, Georgia Tech Room 388 CRB, (404) 894-5104 bowman@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Phd/Doug.Bowman/