Slashdot Mirror


3D User Interfaces

Martin Ecker writes "Two-dimensional user interfaces (UIs) have been around for a long time, and people are accustomed to using them. However, 3-dimensional user interfaces have not yet received as much exposure. Only a select few applications utilize 3D UIs, some with more success than others. The book 3D User Interfaces: Theory and Practice (published by Addison-Wesley) attempts to give a broad overview of the field of 3D user interfaces. It discusses the hardware devices and the software techniques required to build successful 3D UIs and gives a number of design guidelines to follow when having to develop new 3D interaction techniques for specific applications." Read on for the rest of Ecker's review. 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.

25 of 353 comments (clear)

  1. Why is more dimensions "better" by koreaman · · Score: 2, Insightful

    I am happy with X Windows, thank you very much.
    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.

    1. Re:Why is more dimensions "better" by Hatta · · Score: 1, Insightful

      Take a look in our past. Computer interfaces started out with the command line. Would you be happy only using the command line?

      Yes.

      --
      Give me Classic Slashdot or give me death!
    2. Re:Why is more dimensions "better" by gad_zuki! · · Score: 4, Insightful

      > this will improve anyone's computing experience in any way.

      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??

    3. Re:Why is more dimensions "better" by the+gnat · · Score: 2, Insightful

      Would you be happy only using the command line?

      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 a command line, because that's almost ALWAYS going to be faster than using a mouse or waving your hands, as long as you actually know the commands. (This is also the single most important reason why I use Linux for everything: because I just get work done so much fucking faster.) Even with my 3D graphics work, I'm constantly switching back and forth between the display and assorted terminals.

  2. Re:I'll stick to 2d by shawn(at)fsu · · Score: 1, Insightful

    Some people think there is some natural prgression that we should go from 2d to 3d, but the fact is we never realy had a 1d interface. (I don't think I'm willing to except that the command line is 1d) I think the next UI will be something completly new. If you have to do all this and people still aren't going for it chances are that it's a solution looking for a problem.

    Look how popular the GUI became, did it really take much to get people to go from the command line to teh GUI?

    --
    500 dollar reward for tip(s) leading to the arrest of the person(s) who stole my sig.
  3. Underexposed by fm6 · · Score: 4, Insightful
    Two-dimensional user interfaces (UIs) have been around for a long time, and people are accustomed to using them. However, 3-dimensional user interfaces have not yet received as much exposure.
    If you mean, "3D UIs haven't been widely accepted", that's true. But if you mean, "We're stuck in a 2D rut because nobody pays attention to 3D UIs," then you have a short memory. Every couple of years there's some new "breakthrough" in 3D technology that's supposed to change the way we use computers -- everything from simple 3D GUI metaphors to "immersive" user interfaces. These have a few applications (mostly having to do with simulating the real world), but mostly people aren't interested.

    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.

    1. Re:Underexposed by steveyT · · Score: 2, Insightful

      This is because we are still stuck with the idea of a computer being a box on our desk. I interact with a fairly complex computer on a daily basis, using a sophisticated 3d interface. This computer runs my car, doing engine management, climate control, traction control and a few dozen other things I'm not aware of. The interface I use is the controls for my car. Why not have a computer that you don't sit down to interact with but one you interact with transparently throughout the day, much in the same way I interact with the computer in my car without necessarily being aware of it.

      I realise that this is currently the realm of science fiction, but then this is a technology website, why not dream?

    2. Re:Underexposed by mattkinabrewmindspri · · Score: 2, Insightful
      Bingo. Is it easier to read a piece of paper, or to read writing all over the walls?

      It is easier to get information from something that is two-dimensional.

  4. More and bigger and better... by PhotoJim · · Score: 2, Insightful

    As cool as this is, it sounds about as necessary as stereo telephones. :) The videophone was always a neat idea (I remember seeing prototypes in the early 1970s)... it never took off because the plain audio telephone was good enough. Is not a 2D GUI sufficient for all but the most involved CAD?

  5. 3D on 2D Still 2D by o0congee0o · · Score: 3, Insightful

    Just because you arrange your stuff in 3D does not mean that you do your work in 3D. There's just no usefulness other than eye-candy, didn't RTFA, but as long as my monitor is 2D I don't know how usefull it is to have my Word Processor or my spreadsheets in 3D. 3D is best left for games and simulations. I like my file manager, browser, desktop to remain 2D, can't find the crap as it is. Id be cool if I can "reach" into my monitor and strangle the virtual avatar of that moron thou.

  6. why 3d is desirable? by xlyz · · Score: 2, Insightful

    why everybody seem to think that 3d will improve usability? information has stayed on plain paper for centuries. and screen will stay 2d for a bit still.

  7. 3D interfaces - the Uncanny Valley of UI by SuperKendall · · Score: 3, Insightful

    To me, 3D interfaces strongly resemble the efforts to produce realistically rendered humans - with an even deeper "Uncanny Valley".

    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 is more worth loving than we have strength to love." - Brian Jay Stanley
  8. There could be a reason for this... by Angst+Badger · · Score: 2, Insightful

    3D interfaces have never caught on for a couple of reasons. First and foremost is that the majority of end-user applications, from web browsers to word processors to spreadsheets are simply digital reimplementations of paper documents. The second reason is that there is no hardware that provides three-dimensional imagery that isn't either hideously expensive, causes headaches, or uncomfortable and awkward. What we casually refer to as 3D games, for example, are really projections of 3D structures onto a two-dimensional screen.

    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.

    --
    Proud member of the Weirdo-American community.
  9. Hand Waving by ThePyro · · Score: 3, Insightful

    I'd definitely prefer the current point-and-click interface over all that hand waving in Minority Report. Why do so many "futuristic" interfaces (as seen in movies) require the users to move more? That's a step backwards, not a step forwards. Nobody wants to break into a sweat just trying to use a computer.

    1. Re:Hand Waving by SilentJ_PDX · · Score: 3, Insightful

      Really? The mouse requires more movement than the keyboard but the mouse is definitely a step forwards in terms of UI. Sure, CLI hackers can do a lot more with a keyboard but the mouse has helped bring computers to the masses.

      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 but it's much more intuitive (and infinitely faster) than working with a mouse on Reason.

    2. Re:Hand Waving by schvenk · · Score: 2, Insightful

      Actually, a UI should be judged on both. The balance varies depending on the intended user. A UI that sacrificies efficiency for intuitiveness is fine if it will mostly see infrequent, novice use. But a UI that will be used constantly for complex or repetitive tasks might justify a steeper learning curve in exchange for greater efficiency (for example, less extraneous mousing around). In the best case one doesn't have to sacrifice one for the other, of course, but sometimes it's necessary.

    3. Re:Hand Waving by Taladar · · Score: 2, Insightful

      I wouldn't say the mouse is 'definitly a step forwards'. It is more like a step sideways. The mouse is good at things the keyboard is bad and the other way round. If you don't have to do anything graphical (no drawing, no moving in FPS,...) the keyboard is faster than the mouse.

      Just another instance of "right tool for the job"

  10. Re:3d interfaces by Anonymous Coward · · Score: 2, Insightful

    To my knowledge, physics doesn't designate numbers to dimensions. They don't say "This is dimension number one, this is dimension number two, etc" Time could be the fourth, then again it could be the first. You don't hear physicists saying things like "that only happens in the fourth dimension" for a reason. Which comes first or last is only a matter of perception. It doesn't matter either way.

  11. Re:This is UNIX by Pfhorrest · · Score: 2, Insightful

    I third that, and whoever modded the GP poster "off topic" (probably the same person) is a moron.

    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.

    --
    -Forrest Cameranesi, Geek of all Trades
    "I am Sam. Sam I am. I do not like trolls, flames, or spam."
  12. Re:I'll stick to 2d by dchamp · · Score: 1, Insightful

    I think you're cornfused about the term "1D". IANANP (I Am Not A Nuclear Physicist), but if you only have one dimension, the most you can represent would be a single point. So your terminal would look like so:

    .

    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, because that's all you could do when printing on paper, but that's still two dimensions.

  13. Re:This is UNIX by Pfhorrest · · Score: 2, Insightful

    But this was the FIRST post - the others are the copycats. And it's not like it was modded "Redundant" or anything - it was modded "Troll", which is completely off.

    --
    -Forrest Cameranesi, Geek of all Trades
    "I am Sam. Sam I am. I do not like trolls, flames, or spam."
  14. GUIs are already 3d, sort of by S_Dub · · Score: 2, Insightful

    If you get right down to it, aren't our current interfaces already 3 dimensional to some degree? Certain windows are located on top of or in front of other windows. That level of depth is a 3rd dimension. Although they are displayed as 2 dimensions, a third one is there...

  15. Re:Shameless plug by Jugalator · · Score: 2, Insightful

    Do you work noticeably faster via that 3D interface than in a 2D interface?

    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 think it would be the first I've heard of.

    --
    Beware: In C++, your friends can see your privates!
  16. Re:C'Mon, Even an LCD screen has some depth by ScrewMaster · · Score: 2, Insightful

    I think he's a troll masquerading as an idiot. But I'm not sure.

    --
    The higher the technology, the sharper that two-edged sword.
  17. 3D On The Monitor Doesn't Cut It by Greyfox · · Score: 2, Insightful

    The only way a 3D UI is going to take off is if you're immersed in a 3D working environment. Once you're in the environment and can overlay information on top of the real world, then it will start being useful. I seem to recall that there are already some applications for this, mostly in the military and with airline mechanics.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?