From: Rudy Darken [darken@acm.org] Sent: Wednesday, August 04, 1999 2:12 AM To: 3d-ui@hitl.washington.edu Subject: Re: Idea for discussion: violating assumptions This strikes me as a particularly useful exercise, however let me offer one small thought on the subject. Consider all the possible techniques imaginable on a continuum with "perfectly real" on one extreme where we exactly duplicate the real world, and "perfectly abstract" on the other end where the opposite is true. Jeff argues that perfectly real is not necessarily a worthwhile goal (I tend to agree). However, keep in mind that for lots of training applications realism tends to be of greater importance. But also be aware that perfectly abstract is an equally bad idea for the simple reason that by its definition, a perfectly abstract interaction technique has no basis in the real world and is therefore unusable (or unintelligible to the user). All interfaces we know of have some grounding in the real world (e.g. metaphors) which is what makes them useful to us. I think Jeff is arguing for something in the middle. It would seem to me that the thesis is hiding in finding just where in the middle is the optimal place to be. I would suggest that "optimal" in this case has to be quantified in terms of usability characteristics (i.e. learnability, efficiency, etc.) rudy ---------- >From: Jeff Pierce >To: 3d-ui@hitl.washington.edu >Subject: Idea for discussion: violating assumptions >Date: Mon, Aug 2, 1999, 11:26 PM > > Hey gang. The list has been quiet for awhile, so to stir up some > discussion I thought I'd send out a quick summary of one of the thesis > ideas I've been tossing around. I'd definitely welcome: > > - feedback / discussion (either via direct email, through this list, or we > can get together at SIGGRAPH over lunch or dinner to bat ideas around) > - suggestions of other assumptions we can violate (hey, you forgot X!) > - techniques I don't have listed that fit into one or more of the categories > > Jeff > > -------------------%<------------%<----------%<------------------------ > > Violating Your Users' Assumptions for Fun and Profit > > > Background > ---------- > > A lot of 3D interfaces (both desktop and immersive) try to emulate the > real world as closely as possible. What I personally find much more > interesting are techniques that use the unique characteristics of > interactive 3D graphics to provide users with new capabilities. > > One of the standard tricks for encouraging creativity is to determine > what your assumptions are, and then imagine what's possible if you > violate those assumptions. The idea behind this thesis is to compile > a list of our assumptions about the real world, and then determine: > > - what existing techniques violate those assumptions (classification) > - what new techniques are suggested by violating those assumptions > (creation) > > In many ways this approach is similar to a taxonomy: lay out all the > possible boxes, determine which boxes are filled, and then try to > create new techniques to fill the empty boxes. However, previous > taxonomies have concentrated on things like the user's task and the > characteristics of input devices, and generally don't result in > wild and crazy new interaction techniques. > > > The Assumptions > --------------- > > So, getting right to it, this section lists the assumptions I've come up > with so far and both potential and existing techniques that break > those assumptions. Not all of the techniques are useful (heck, some > are downright ludicrous), but at this point the idea is just to brainstorm > many as possible. Existing techniques start with a -, new (as far as I know) > techniques with a *. Some of the descriptions are > very terse; if you're curious ask me for more details. Some of the > techniques also violate multiple assumptions. > > > 1) Space is linear and continuous. To move a foot you walk a foot, > and you can't move from A to B without traversing the space in between. > > - teleportation > * a room larger inside than outside > * guiding movement / navigation > - an infinite corridor or series of corridors that provide > immediate backtracking > - different length paths that meet > - Head Crusher navigation > * Telescope navigation > * Magnifying glass object manipulation > * Non-linear transmission of light and sound > - distant rooms where users can hear each other > - one-way sound/light transmission > - allowing user to see places normally not visible > > > 2) The visual and physical properties of a space are identical. > > * warping physics of space to make areas easier or harder to walk > through > - if you can guess where the user wants to go, you can help > them get there (ex. making it easier to get through doors) > - similar to force field navigation (CHI 97) but focusing > on paths rather than objects > - Galyean towrope for guided navigation > > > 3) User can only be in one place at a time > > * allow different degrees of presence in multiple locations > (transparent / opaque overlay) > - ex. present in world and in storage space > - fade back and forth to retrieve/store objects > - ex. monitor other spaces while present elsewhere > - keep transparent overlay of meeting room to > see who's there > > > 4) Objects can only be in one place at a time > > - WIM > - Voodoo Dolls > > > 5) Size of objects remains constant > > - Head crusher > - Mine's world scaling > - Go-Go > - SmartScene > * World compression ball > > > 6) Gravity > > - flying > > > 7) Appearance doesn't affect reality (optical illusions are just > illusions) > > - head crusher > - flying into WIM > * Navigation via images - holding 2D image to fill image plane moves > you to that location > * painting to affect reality > - paint door on wall then open it > * Telescope navigation > * Magnifying glass interaction > > > 8) Pictures and windows are different > > * eliminate the difference by allowing users to reach into pictures > * layout drawings that let you change the layout > * picture as window on past > - user can pull objects out of past into present > - what effect does changing the past have on the present? > > 9) The world we perceive really is 3D > > * pulling away current view as 2D image to reveal another reality > * "pop up" worlds that user can fold up and put away > > > 10) Space is not an object, it's the lack of one > > * reify space, allow user to grab it, stretch it, fold it, tear it > - bring 2 spaces closer or farther > - create links between spaces for later navigation > - tear it to gain access to other spaces > - space designer creating non-linearities > - manipulate objects by changing the space between them > > > 11) Shadows aren't physical, manipulable objects > > - Interactive Shadows (Brown) > > > 12) Objects work the same in all contexts > > - objects that work differently depending on the hand holding them > - Voodoo Dolls > > > 13) The occluded side of an object does not change when it's out of > view > > * imagine an infinite storage container like a dry-cleaner's rack > where continued rotation just brings more objects into view > - object sphere -> rotate toward an object on a (visible) edge > to get "more like me" > > - rotating an object to turn it into something else > - didn't Mine do this in ISAAC for widgets? > > > 14) The properties or presence of objects do not depend on where > they're viewed from > > * guiding navigation - one way doors and passages > > > 15) The world exists even when it's not in view > > - culling to speed up rendering > - simulating only objects in view to speed up simulation > > > 16) Objects cannot occupy the same space > > * carry a copy of every single object in the world around with you in > a bundle > - question then becomes how to extract (expand the bundle) the > specific object you want to work with > > > 17) World has no memory > > * visually encode history in world > - where object went > - what happened in a particular place > - who was in a place, how long ago, where they went > > > 18) Time only moves forward > > - Undo > - global (undo last 30 seconds) > - local (undo last action performed on object) > - reverse time? > > > 19) Mirrors only reflect the real world > > * altering the reflection in a mirror to alter the world > - painting a mustache on the reflection of your avatar > * mirrors that reflect potential alternate worlds, choose mirror to > make the world resemble that reflection > - show an object, mirrors show: > - different lighting styles > - different rendering styles > - different types of object (ex. different chairs) > - show a room, mirrors reflect: > - different decoration styles > - 3D Ethan Allen catalog > - different rules of physics > > * fun house mirrors - reflect different scales of the world that user > can access > > * mirrors that selectively reflect reality > - room without people > - Vampire Mirrors (Feiner, NYU) > > > General note on violating assumptions > ------------------------------------- > > There are at least 3 categories that these violations fall into. > 1. Violations we want the user to know about and take advantage of > (ex. Voodoo Dolls) > > 2. Violations where we don't care if the user notices (helping user > not get stuck in corners) > > 3. Violations where we don't want the user to notice (not simulating > actions/animations not currently in view) > > > > Summary of new ideas > -------------------- > > * a room larger inside than outside > * guiding movement / navigation > - an infinite corridor or series of corridors that provide > immediate backtracking > - different length paths that meet > * Telescope navigation > - look through telescope, zoom in on location, when you pull > telescope away you're there > * Magnifying glass object manipulation > - look through magnifying glass in left hand, reaching hand > behind glass (from viewpoint) reaches into that space > - work with objects at a distance > * Non-linear transmission of light and sound > - distant rooms where users can hear each other > - one-way sound/light transmission > - allowing user to see places normally not visible > * warping physics of space to make areas easier or harder to walk > through > - if you can guess where the user wants to go, you can help > them get there (ex. making it easier to get through doors) > - similar to force field navigation (CHI 97) but focusing > on paths rather than objects > * allow different degrees of presence in multiple locations > (transparent / opaque overlay) > - ex. present in world and in storage space > - fade back and forth to retrieve/store objects > - ex. monitor other spaces while present elsewhere > - keep transparent overlay of meeting room to > see who's there > * World compression ball > - give the user a compressable ball > - squeezing on the ball compresses the world in a circle > (or sphere) around the user > - compress until an object is in range, then grab it > - compress until destination is in range, step to it > * Navigation via images - holding 2D image to fill image plane moves > you to that location > * painting to affect reality > - paint door on wall then open it > * allow users to reach into pictures > * layout drawings that let you change the layout > * picture as window on past > - user can pull objects out of past into present > - what effect does changing the past have on the present? > * pulling away current view as 2D image to reveal another reality > * "pop up" worlds that user can fold up and put away > * reify space, allow user to grab it, stretch it, fold it, tear it > - bring 2 spaces closer or farther > - create links between spaces for later navigation > - tear it to gain access to other spaces > - space designer creating non-linearities > - manipulate objects by changing the space between them > * imagine an infinite storage container like a dry-cleaner's rack > where continued rotation just brings more objects into view > - object sphere -> rotate toward an object on a (visible) edge > to get "more like me" > * guiding navigation - one way doors and passages > * carry a copy of every single object in the world around with you in > a bundle > - question then becomes how to extract (expand the bundle) the > specific object you want to work with > * visually encode history in world > - where object went > - what happened in a particular place > - who was in a place, how long ago, where they went > * altering the reflection in a mirror to alter the world > - painting a mustache on the reflection of your avatar > * mirrors that reflect potential alternate worlds, choose mirror to > make the world resemble that reflection > - show an object, mirrors show: > - different lighting styles > - different rendering styles > - different types of object (ex. different chairs) > - show a room, mirrors reflect: > - different decoration styles > - 3D Ethan Allen catalog > - different rules of physics > * fun house mirrors - reflect different scales of the world that user > can access > * mirrors that selectively reflect reality > - room without people > > > > > > > >