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.

11 of 353 comments (clear)

  1. SphereXP by lordkuri · · Score: 4, Informative

    I've tried out SphereXP and I have to say it's pretty kludgy. It bogged my machine down quite a bit, and just seemed rather counter intuitive. The idea of "parking" a window somewhere, and not being able to interact with it unless you restore it seemed to be a pretty big limitation to me.

  2. Sphere XP by lou2ser · · Score: 2, Informative

    If anyone wants to try a 3D UI plugin for Windows XP, I reccomend Sphere XP http://www.hamar.sk/sphere/ I have not used it in months, but it was fun to play around with. Not the most useful thing, but it shows where the future is headed.

  3. Java 3D Desktop by myawn · · Score: 5, Informative
    If you're interested in 3D interfaces, you should take a look at Project Looking Glass from Sun:

    Project Looking Glass
    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.

    --
    Subscribers can see articles in the future? So what? Everyone gets to see them in the future.
  4. 3D Zooming Interfaces by Nooface · · Score: 2, Informative

    Most of the 3D user interfaces that people usually mention are designed for 3D file system visualization. As others have pointed out, it is not clear that 3D adds any value for navigating the hierarchical structure of current file systems.

    It gets much more interesting when you combine 3D navigation with Zooming User Interfaces (ZUIs). For example, Zoom Quilt is a collaborative art project based on Macromedia Flash 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 and Java demo). Zoom Quilt was assembled from different frames of content contributed by various participants. For another Flash-based example of a 3D zooming experience, see also the older Christmas Zoom.

    --

    Nooface
    In Search of the Post-PC Interface
  5. Re:This is UNIX by Anonymous Coward · · Score: 1, Informative

    second that; it's a quote from JP, when the girl tries to open the doors accessing a "Unix system" via a strange 3D interface. What are the mods smoking?

  6. A few comments on 3D UIs by LinuxParanoid · · Score: 2, Informative

    A) For a slash site covering next-gen UI issues, 3D and otherwise, check out Nooface. There's not a lot of discussion, but it has pretty good high-quality no-fluff content and occassional posts from people who really know their stuff or are actively working in the field.

    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

  7. Re:3d interfaces by novakyu · · Score: 2, Informative
    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.

    Actually, when people write the four-vectors, usually time is the first component--the 0th component (so maybe 0th dimension?). Well, I guess I will get more into that in a semester or two. BTW, time by itself isn't... properly a dimension. it's "ct" not "t" that forms a dimension. Now you are using a unit system that has c = 1 that's a whole different matter, but...

  8. Re:I'll stick to 2d by S_Dub · · Score: 2, Informative

    No, you can display a line with 1 dimension, length. A point can have coordinates, but by itself with no position, a point is zero dimensions.

  9. Re:I'll stick to 2d by fred+fleenblat · · Score: 3, Informative

    0 dimensions = point (e.g. single dot)
    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.

  10. Re:This is UNIX by jx100 · · Score: 4, Informative

    It's called FSN, and it's right here

  11. Re:Shameless plug by back_pages · · Score: 2, Informative
    Yeah, you did. I hope it goes well for you, however I'm still not convinced that a 3D interface is something I *need*. I'm more inclined to get excited about interfaces developed specifically for a dual-head or dual system (Synergy is awesome) interfaces.

    But, of course, I'm a lot of talk and no action. I run Synergy across 3 machines and it *has* changed how I use my computers and it has become a must have. There is certainly a lot of room for creative new interfaces and I'm sure using a 3D API opens up a ton of possibilities.