3D User Interfaces 353
3D User Interfaces: Theory and Practice | |
author | Doug A. Bowman, Ernst Kruijff, Joseph J. LaViola Jr., Ivan Poupyrev |
pages | 478 |
publisher | Addison-Wesley Publishing |
rating | 7/10 |
reviewer | Martin Ecker |
ISBN | 0201758679 |
summary | An extensive overview of 3D input and output devices, 3D interaction techniques, and 3D user interfaces. |
The book contains 13 chapters, divided into five parts. The first part contains two short chapters that introduce the basic concepts of 3D user interfaces, give a bit of history of 3D UIs, and define the scope of the book.
The second part discusses hardware input and output devices that are useful when developing 3D user interfaces. The first chapter in this part is on output devices and it presents various visual and auditory displays. Haptic devices are also discussed in this chapter. The following chapter presents 2D and 3D input devices that can be used with 3D user interfaces. The devices discussed include not only the classics, such as 2D mice, keyboards, and joysticks, but also 3D mice, tracking devices, and various forms of direct human input, such as via speech or via bioelectric signals.
The third and largest part of the book is on 3D interaction techniques. The first chapter of this part discusses the various ways that have been devised in the past to perform 3D selection and manipulation of objects. A vast number of techniques are presented in this chapter, from various pointing and virtual hand techniques to widgets for rotating an object. The following chapters discuss techniques to allow navigation through virtual worlds and user interfaces, in particular techniques for traveling and pathfinding. The following chapter is on system control and it discusses how to control the system via commands, such as using graphical menus, voice and gestural commands, or real-world tools. Finally, this part of the book contains a chapter on symbolic input, i.e. communicating text or numbers to the system, in the context of 3D UIs.
Part four of the book deals with designing and developing 3D user interfaces. For me, this was the most interesting part of the book because it shows how to put together the various input/output devices and interaction techniques presented in the previous chapters. This part also contains a chapter on evaluation of the design and implementation of user interfaces, an important aspect in order to ensure the usability of a user interface.
In the book's final section, the author takes a look at the future of 3D user interfaces with a focus on the combination of the virtual world with the real world -- so-called augmented or mixed reality. This area has received quite a bit of attention from academic research in recent years.
Throughout the book, there are useful guidelines on designing usable user interfaces. Following these guidelines will probably not give you a perfect 3D user interface, but it will definitely help you avoid the common mistakes and pitfalls. It would have been nice if all the guidelines in the book had been put all together in a separate appendix in addition to having them spread out all over the book.
The book also has a number of images and illustrations. The figures throughout the book are in black and white, apart from a four-page color insert that depicts various hardware input and output devices.
This book contains a lot of information and is probably the most comprehensive book on 3D user interfaces I have seen to date. Pretty much every aspect of 3D UIs is covered in the book somewhere, with some topics being covered in more detail than others. If you're not familiar with 3D UIs at all, this book gives you an excellent introduction to this active field of research. If you are already somewhat familiar with the topic, this book offers you a comprehensive overview of the field and gives you many references to more detailed research articles and papers.
Martin Ecker has been involved in real-time graphics programming for more than 9 years and works as a games developer for arcade games. In his rare spare time he works on a graphics-related open source project called XEngine.
You can purchase 3D User Interfaces: Theory and Practice from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This is UNIX (Score:5, Funny)
Re:This is UNIX (Score:2, Insightful)
The topic is 3D user interfaces. The great grandparent was quoting a movie, Jurrasic Park, where a character sits down at a 3D user interface (not Off Topic, and not a Troll), proclaiming "it's a unix system... I know this!". Given the UI is one I've never seen on any Unix box, and that machine was in fact a Mac Quadra, I'd say that's even Funny.
Sometimes I wish I could metamoderate specific posts.
Re:This is UNIX (Score:2)
Sorry I don't remember what it was called. Can someone else help with that?
Re:This is UNIX (Score:4, Informative)
Re:This is UNIX (Score:3, Funny)
Re:This is UNIX (Score:2, Insightful)
3d interfaces (Score:3, Funny)
Re:3d interfaces (Score:4, Funny)
Re:3d interfaces (Score:5, Funny)
Re:3d interfaces (Score:2, Funny)
Re:3d interfaces (Score:3, Funny)
Re:3d interfaces (Score:2, Insightful)
Re:3d interfaces (Score:2, Informative)
Actually, when people write the four-vectors, usually time is the first component--the 0th component (so maybe 0
Define "Interface" (Score:5, Funny)
I'll stick to 2d (Score:3, Interesting)
Wake me up when they have the gear available that is being used in Minority Report : There seems to be more thought put into that than just to give Cruise a cool way to look for information.
second that (Score:3, Interesting)
Re:I'll stick to 2d (Score:2, Insightful)
Look how popular the GUI became, did it really take much to get people to go from the command line to teh GUI?
Re:I'll stick to 2d (Score:2)
Re:I'll stick to 2d (Score:2, Insightful)
Not especially useful. I have seen terminals that looked like that. It usually indicates a blowed-up picture tube.
An old TTY without curses still understands horizontal and vertical spacing (i.e. CRLF). That would make exactly two dimensions. Now, mind you they originally only went right and down
Re:I'll stick to 2d (Score:2, Informative)
Re:I'll stick to 2d (Score:4, Informative)
1 dimension = line (e.g. line of LEDs)
2 dimensions = plane (e.g. a screen of pixels)
3 dimensions = space (e.g. holographic projection)
In all cases, for information to be transferred to a viewer, the display must be capable of changing over time, so there is an implicit extra dimension (time) that is usually just assumed to exist, unless you're specifically talking about motion blur, MPEG encoding, or some other interaction between space and time on the display.
Also note that displays have properties like quantization (discrete pixels) and boundaries (edge of the screen) that are not normally assumed in the context of mathematical/physical dimensions. Further, the notion that there is a "color depth" to the display is a poor choice of words and doesn't correspond to an actual dimension.
Re:I'll stick to 2d (Score:2)
Re:I'll stick to 2d (Score:2)
Hand Waving (Score:4, Insightful)
Re:Hand Waving (Score:5, Funny)
Re:Hand Waving (Score:2)
On the other hand
Re:Hand Waving (Score:3, Insightful)
A UI shouldn't be judged on how much the user has to move but on how intuitive it is. I move a lot more with my evolution [m-audio.com] but it's much more intuitive (and infinitely faster) than working with a mouse on Reason [propellerheads.se].
Re:Hand Waving (Score:3, Insightful)
Re:Hand Waving (Score:3, Insightful)
Just another instance of "right tool for the job"
Re:Hand Waving (Score:2)
Re:I'll stick to 2d (Score:2)
SphereXP (Score:5, Informative)
Re:SphereXP and others... (Score:2)
Sphere XP (Score:2, Informative)
3DDesktop (Score:2, Interesting)
Why is more dimensions "better" (Score:2, Insightful)
I see no reason, absolutely none at all, why this will improve anyone's computing experience in any way. This is just another fantastic way to waste the CPU. If anyone can point out a valid reason for this, then by all means please let me know.
Re:Why is more dimensions "better" (Score:2)
What if in some point in the future we can interface to our computer easily with a glove? Perhaps with our own thoughts even. Do you think a flat 2d inter
Re:Why is more dimensions "better" (Score:2, Insightful)
Yes.
Re:Why is more dimensions "better" (Score:2)
Re:Why is more dimensions "better" (Score:3, Insightful)
On a daily basis, I use exactly two graphical apps:
1. Mozilla
2. Molecular modelling programs
On a somewhat less regular basis, I use PDF viewers, The Gimp, and several other scientific apps that use a GUI. But 90% of the real work I do gets done in Xterms, and as far as I'm concerned a window manager exists just to keep my terminal windows in order.
I can think of improved user interfaces that would make my life easier, but most of them would still involve
Re:Why is more dimensions "better" (Score:3, Interesting)
Re:Why is more dimensions "better" (Score:2)
Why more dimensions are better (Score:3, Interesting)
I'd like an X window manager that let me grab the edge of a window and turn it, so it looked like it was facing to the left, right, up, or down, depending on which direction I turned it. You would still see the window, and it would still respond to events, but it would look compressed in the dimension you pushed it.
Another 3D-like effect would be to move "away" from a group of windows, as zooming out to 10,000 feet, so the group of running apps lo
Re:Why is more dimensions "better" (Score:2)
Because then you'll have to buy a faster CPU so you can run 3DSOL.EXE!!!
And before you say that's not valid... it is valid, just not very good
Re:Why is more dimensions "better" (Score:5, Insightful)
That's ridiculous. Let's talke real 3D, glasses and all. This would completely change everything and for the better. Putting things in a real background, 3D video, parking windows, 3D representations of CD cases instead of ID3 tags, 3D website deisgn, remote control of real world objects, etc.
>This is just another fantastic way to waste the CPU
So is anti-aliasing, so is even having a windowing system that isn't completely and utterly bare bones, etc. Some of us buy our CPUs to use them, not coddle them.
Then again 640k is enough, eh??
Re:Why is more dimensions "better" (Score:2)
So...reading code, versus having a visual representation. Some people work better with the more visual stimulus they have, some people work better with less. I actually think this is a necessary step is we want to one day have true Matrix-esqe immersion into a computer. So i
Re:Why is more dimensions "better" (Score:3, Interesting)
Yes, let's talk about this "better" world.
Putting things in a real background,
Okay in a real 3D, there is no "background", just like how there's no "background" in real life. There's just things that are farther away. The way you put things in the "background" is either by schlepping the window 5km away from where you're working, and then then return the 5km to your primary worksite. This method is incr
Re:Why is more dimensions "better" (Score:2)
Re:Why is more dimensions "better" (Score:2)
Shameless plug (Score:3, Interesting)
I will probably buy this book just to see if if actually has any good ideas I can incorporate.
logiccubed.com [logiccubed.com]
Jason
Re:Shameless plug (Score:2)
What, pray tell, makes a 3D interface a step up from a 2D interface?
I can buy the fact that it's a newer design and therefore has a coolness about it, but I have trouble believing that it's a solid step forward. What are the shortcomings of a 2D desktop that need to be solved?
If it's really cool, then by all means, go for it. If these are good questions (unlikely) and you want to just see what you can do with a 3D interface, it sounds like a leg
Re:Shameless plug (Score:2, Interesting)
I am not trying to make a new design or add a lot of eye candy. I would like to think I making something that will actually be useful but takes advantage of
Re:Shameless plug (Score:3, Insightful)
I've found that most 3D interfaces fail already on this point (since you have to for example spend time manipulating and moving around stuff more than in a 2D interface). It doesn't help that both the input device (mouse) and output device (monitor) usually are 2D and inefficient at navigating in and visualizing a 3D environment well. But if you indeed get the job done much faster in that interface, it sounds interesting, and I thin
3d File Browser (Score:4, Interesting)
http://www.freshmeat.net/projects/3dfb/ [freshmeat.net]
It was a fun project and I wish I had the time to move on with it. I wanted to start adding support for textures and such, but alas school got in the way.
It was an interesting look into the 3d world. I still use it from time to time just to fly around my file system.
Re:3d File Browser (Score:2, Funny)
I read that as "but alchohol got in the way... Poor drunken programmers...
Re:3d File Browser (Score:2)
Re:3d File Browser (Score:2)
My favorite 3d user interface (Score:3, Interesting)
Re:My favorite 3d user interface (Score:2)
Underexposed (Score:5, Insightful)
And why should they be? Adding a third dimension adds an order of complexity to the interface. The challenge of user interface design is to make things simpler.
In support... (Score:3, Interesting)
A whole industry seemingly built around trying to help you gain better control of the craft in Descent. No more Descent - no more 3D controllers.
Re:In support... (Score:2)
Descent II supported LCD glasses
Video games (Score:2)
for instance, I remember when the Nintendo64 came out and I saw a demo of Mario64... I couldn't conceive how the game could be fun or intuitive at all... so used to 2d Mario.
But after a few minutes of using Mario64, it became second nature to move around in the 3d world and manipulate objects.
Maybe Nintendo should design the next 3d UI. In any case, I think it is possible to have a 3D UI without having that sense of adde
Re:Underexposed (Score:2, Insightful)
Re:Underexposed (Score:3, Insightful)
It is easier to get information from something that is two-dimensional.
Re:Underexposed (Score:2)
The idea is to see how 3D can enhance the user interface. Not replace something that isn't broken. The 'text' part of reading should stay in 2D land, but think about the visual feedback of flipping a page, or seeing how thick the side of the book is. Also keep in mind that text is only a part of a user interface. 3D objects as icons could be usefull for example.
A benefit of 3D objects over 2D objects is that if you move them in that 3
More and bigger and better... (Score:2, Insightful)
3D on 2D Still 2D (Score:3, Insightful)
Re:3D on 2D Still 2D (Score:2, Interesting)
The problem here is that our eyes are realy 2D sensors. The stereoscopic effect gives an estimation of the distance but all the information is still projected on a 2D plane. and the brain translates this to 3D information. You don't know what's behind an object until you walked around it. When you walked all
Book Review or Book Report/Summary? (Score:2)
Java 3D Desktop (Score:5, Informative)
Project Looking Glass [java.net]
This was demo'ed at JavaOne this year, and really had some catchy visual features. Window contents can be saved to a backing pixmap and then applied to (wrapped around) objects of any shape.
Windows could be rotated (for example, post-its or config info was stuck to the back of a flat window in several cases)
This is still in the prototype stage, but the developer's release is open-sourced and available at java.net.
Nuh uh (Score:5, Interesting)
First off, you can shrink things down to the bottom of your window. This is basically a clone of the MacOS X dock. You can also shove things off to the left or right of your workspace, which is the same thing, but sideways. The impressive twist to this is that you can still see what the windows are doing when they are in this state, so if, for example, you have a movie playing, it will continue to play in it's docked state. Basically an up-to-date reworking of an existing concept.
Secondly, you can rotate n degrees clockwise or anti-clockwise to get a fresh workspace. Now bear in mind that the number of workspaces is finite, and you always rotate the same amount of space round, it's not an "analogue" rotation. So basically this is the concept of multiple desktops (as KDE and Gnome and various other WMs have had for years) but made much more pretty. The inclusion of a number of specially created "panoramic" desktop wallpapers help enhance the illusion.
You can't move windows along the Z axis, ie change their "depth" in space, nor can you travel vertically around your 3D environment (think Doom vs Quake here).
So basically, project looking glass is a very impressive, very pretty extension of your standard WM. There will be some next generation desktop features that will be taken from it, but noone's ever going to be able to *use* it.
Think of it as the latest Vivenne Westwood creation strolling down the Milan catwalk. Many of the years line in clothes will be based on elemnents of the design, but noone's ever going to wear it to a business meeting.
why 3d is desirable? (Score:3, Insightful)
Re:why 3d is desirable? (Score:2)
However what will hopefull find its way into everydays userinterfaces are zooming capabilities, like for example Apples Expose shows them in a very simple way. While not really true 3d in itself zooming provides some functionality that is simply not available in most of tod
3D interfaces - the Uncanny Valley of UI (Score:4, Insightful)
To summarize, this Valley is where when you get closer to the target (realistically rendered huamns) the more of a problem you have with the small remaining portion of data being "not quite right" to the human eye and as a result being much more disturbing to the viewer, contributing to a feeling of "creepyness" or disbelief in the result.
3D interfaces seem to have very much the same problem, exactly because we are such spatially orientend beings and used to real 3D manipulation of objects everyday. Thus the closer 3D interfaces get, the better the 3D inputs get, the more clunky they seem to use - because you know exactly how you would do something in real life and you are constrained in some artifical way by the technology from doing what seems natural. There are a few speciailized problems solved will by 3D inputs, but no good general use that I have seen or read of.
I would never say never - 3D GUIs may well one day become useful. I would say getting the technology out of this valley and into common use is a long ways off - possibly longer than real honest to god grey-goo nanotechnology!!
There could be a reason for this... (Score:3, Insightful)
Until it is possible to inexpensively provide a convincing illusion of depth -- which is arguably barely possible even with the expensive stuff -- 3D interfaces will require the user to perform 3D actions with a 2D representation. This is a needless complication in most cases.
Re:There could be a reason for this... (Score:2)
True, but one must be out of this world to perceive current games like Far Cry or HL2 as projections on a 2D screen.
Re:There could be a reason for this... (Score:2)
Anyway gamers don't seem to have a problem with that. Just look at one when they're hiding behind a wall and want to quickly glance beside it. They'll be moving their heads in coordination with a strafing move. The 2D projection model isn't destroying their illusion when they're moving their head. If anything, moving seem
Been there, done that .. partially (Score:5, Interesting)
Applications shared the server to display their objects. All interprocess communication was COM. You could easily write a 3D app in Visual Basic.
Navigation between applications (or their components) was made easy by having each application offer a set of camera positions and orientations for the user to travel to (using the Alt-Tab and Ctrl-Tab conventions); but the user still could roam freely if he wanted.
Unfortunately my interest waned out before I could do anything really useful. I've still got a 3D piano keyboard object, controlled by an app playing midi...
While some say that a 3D UI doesn't add value, I think there is much to be discovered. Imagine programming in 3D, where each class and function is a labeled box which you can enter to see its code. If-then-else and case constructs could also be presented interestingly. Lame maybe - for now - but I believe that by leaving the linear one-dimensional text model we'll get a completely new perspective which we haven't grasped yet because of the lack of a useable and non-trivial framework to play with. It'll come.
So... let me get this straight... (Score:2)
"Imagine programming in 3D, where each class and function is a labeled box which you can enter to see its code"
Okay, I'm imagining it. It's awful. Graphical representations of code are equally feasible in 2D; I've used one, and it was appalling. Took forever to d
hyperspace (Score:2)
I've seen 3d wms, and I've never had the urge to use one. But if we're going to move away from flatland, why stop at three dimensions? Why not four or five?
One more time? What problem are you trying to solve by displaying these extra dimensio
3D Zooming Interfaces (Score:3, Informative)
It gets much more interesting when you combine 3D navigation with Zooming User Interfaces [nyu.edu] (ZUIs). For example, Zoom Quilt [cyphic.net] is a collaborative art project based on Macromedia Flash [macromedia.com] that illustrates what a 3D ZUI might look and feel like. ZUIs work by creating an intuitive information landscape. The user moves "further away" to get an overview, or "closer" for more detail, while keeping a sense of orientation and structure that traditional pop-up windows and dialogs can't match (see research papers [umd.edu] and Java demo [nyu.edu]). Zoom Quilt was assembled from different frames of content [nikkki.net] contributed by various participants. For another Flash-based example of a 3D zooming experience, see also the older Christmas Zoom [dinosaurdesign.com].
when is a review not a review? (Score:2)
Just expanding on the table of contents wouldn't've been good enough for your 9th grade English class, why do you think it's good enough for Slashdot? Oh, wait, the editors published it, so I guess it is. Nevermind.
A few comments on 3D UIs (Score:3, Informative)
B) The contrast between 3D FPSes (fun, fairly easy, compelling) and VRML/virtual worlds (often pretty awkward) always struck me as interesting and illustrative of the following point. Too many degrees of freedom makes an interface awkward and highly confusing to someone who hasn't had extensive experience with 3D... a loser at the "mother test." id Software and the 3D FPS genre have always benefitted a fair bit imho from architecting the world such that even though it was 3D, you only had 2 directions to go most of the time; forward and backward.
Wake me up when someone has a (non-bogus) study finding that users can actually be more productive in manipulating information with whatever 3D paradigm is being proposed. Eye candy helps but it's pretty easy to lose productivity going 3D imho.
--LP
3D interfaces are well and good, but.. (Score:2)
Well, that's my opinion of it anyway. I could be proven wrong (wouldn't mind being proven wrong either)
You need to have a use for them. (Score:2)
The model most often used is a geographical model for a hierarchy... usually a file hierarchy. "See, here's the directory you're looking at. And then behind it, there's the sub directories, and when you pop up a level, everything fades back..." which is cool as hell, but when I play with it I find myself wishing for a nice isometric or plan view,
Re:You need to have a use for them. (Score:2)
The reason there's no mainstream acceptance of 3d UI's is that they're novelties. Until artifical reality becomes a realistic possibility, they won't ever be anything other than a novelty. And the previous poster had it partially: it's not just the input method, it's the efficiency of using layered 2d. Until there's a virtual world I can walk in for my UI, a-la holodeck, I doubt I'll ever use anything other than a 2d environment. One of the f
Maybe a book can help (Score:3, Interesting)
SphereXP that someone mentioned earlier, for example, takes regular windows apps and has paper thin windows floating around arbitrarily in 3D. I mean, that just doesn't work. Then you have all these 3D file browsers that cram so many files into this vast 3D mess that unintelligble. You can't read the filenames because there's so much stuff in the way (usually other filenames, but sometimes representations of files or folders) and that's just not natural either.
And I'm not claiming to be an expert on 3D design. I don't know how you'd do a good 3D file browser off the top of my head, nor a 3D desktop. But I can definitely spot the ones that aren't remotely natural or intuitive.
Part of the reason windowed user interfaces work is because the paradigm of a "desktop" makes sense to users. And a desktop is flat. So is a window. So, if you want 3D UI to work, you need to come up with a 3D paradigm that seems natural to the user, and frankly, I just don't know what that paradigm would be.
Re:Maybe a book can help (Score:2)
3D interfaces will only become super-useful when you can surround the user in some groovy holographic virtual screen, such that they have to rotate their chair to use all of it. But that isn't enough either, I'll need to be able to abandon mouse and keyboard at that point, and reach out and move things around with my hands, type in the air, and stuff like that. When we h
GUIs are already 3d, sort of (Score:2, Insightful)
What's the point? (Score:2)
3D On The Monitor Doesn't Cut It (Score:3, Insightful)
Re:Keyhole mapping interface (Score:2, Funny)
Re:Look (Score:3, Interesting)
It probably doesn't since that was just a file system viewer and it was taken out of Irix. You can get lookalikes for linux though if you wanted to waste some CPU cycles looking for those porn images.
Re:Look (Score:3, Interesting)
you can find it here [sgi.com]
Re:Look (Score:5, Interesting)
Re:Look (Score:3, Interesting)
The display size should indicate importance. Some of my most important files are pretty small, and some of my largest files aren't. For example, the backup directory would be huge, as would log and cache directories.
Re:true three demensionallity.. (Score:2)
Re:true three demensionallity.. (Score:2)
Re:C'Mon, Even an LCD screen has some depth (Score:3, Insightful)