Reviews : Java Books : 3D User Interfaces with Java 3D :


Title: 3D User Interfaces with Java 3D
ISBN: 1884777902
US Price: $49.95
© Manning Publications Co.

8.7 CONFIGURATION

A major advance realized with the introduction of the graphical user interface was that the designer could easily guide the user to a set of action choices appropriate for the current situation. If the user is not allowed to connect two objects, then the Connect command in the edit menu appears dimmed when those objects are selected. If an object can be colored only red or green but not blue, then only the red and green color choices will appear in a color palette when that object is selected. Extending this notion on a larger, broader, and more industrial scale is the concept of configuration.

Configuration constrains the user to an allowed set of operations that can be per-formed on a set of data objects or within a given data object, as a form of specification, according to the current situation. The situation might be defined completely within the application, such as the arrangement of data objects in the scene, or by external circumstances, such as product availability or even the day of the week. These are often expressed as rules. Simple rules might be to restrict a given parameter to a range. More convoluted ones might say that you can buy a desk or chair with any color, but if you

30. 30 Page 31 32 178 CHAPTER 8 MANIPULATION want the special discount then both items must be ordered in black and it must be Thursday. The results of rules can be exclusive— in which you cannot do something— or inclusive— in which you must do something. For example, in connecting objects together, configuration rules might allow only certain kinds of objects to be connected and, if a particular combination of objects occurs, then extra objects might be added automatically. In the office furniture example, connecting brackets might be separate orderable items. When a modular desk is attached to a panel, no bracket is needed; but when two desks are attached, brackets are required and will be added to the order to assure a correct and complete product assembly.

This chapter has already mentioned a number of areas where configuration may be useful in 3D manipulation. In terms of external manipulation, configuration can constrain which objects can be snapped, attached, grouped together, and how. In terms of internal manipulation, configuration can play a major role in guiding the user's specification of an object. Incorporating configuration concepts into the user interface is not an all-or-nothing proposition. There is a wide range of possibilities.

In the last few years, the concept of configuration has matured into a separate technology that is helping to drive sales automation and mass customization applications. A configuration model defines the rules and allowed values for assembling a system and specifying its data objects. A configuration engine uses the model to track user actions, to provide currently valid choices, and to offer explanations of why certain choices are not available, or others are recommended. For example, in an application for ordering a sport-utility vehicle, if the customer wants chrome wheels then only the "super" and "super duper" vehicle models are valid choices. If the customer also chooses the 20-liter V-16 Terminator engine, then only the super duper model is recommended, and the "afterburner" and "cryogenic cooler" option packages are also required. The user might ask why the lower cost models are not recommended (dis-commended), and the system would say that with the Terminator engine the more reasonably priced models will break down.

You may ask what this scenario has do with 3D user interfaces. In next-generation applications, 3D will provide the way to make visualization and manipulation of complex data more compelling and intuitive. Configuration will make the manipulation easier for the user to perform effectively and accurately. The ultimate goal of configuration is to prevent the user from specifying a product that can't be ordered or designing a system that can't be implemented. In the sports-utility vehicle example, as the user selects wheel and engine options, the specification is validated and the choices are seen immediately, in 3D, as they would appear on the actual vehicle. If, instead, the application is dealing with modifications to a chemical plant, as the user specifies processing capacities and space allowances, equipment satisfying those requirements would be presented. Selecting a piece of equipment would make it appear in a model of the plant, where the user can optimize its layout and finalize its hookup in 3D, just as if he or she were in the actual plant.

8.8 SUMMARY

Relational feedback elements address the needs of directly manipulating objects in a 3D scene. Elements such as feelers, outlines, and skirts allow the user to better see the 3D relationships of objects on a 2D display; tic mark and ruler elements assist the user in precisely placing objects; and snap elements aid in connecting objects together.

PTF is an offshoot of dynamic feedback that combines visual and audio feedback with discontinuities in eye-hand control as a substitute for tactile feedback, which is lacking in a POCS. PTF drag comes in several flavors, including marked, sticky, snap, and solid. Simulation of real object dynamics in the form of strong and weak drag grip could further enhance the tactile-like feel of the user's 3D experience.

An important aspect of direct manipulation involves getting objects together and keeping them together, as defined by snapping and attachment techniques. Snapping conveniently gets the objects together and attachment makes their connections persistent. Physical forms of attachment are gluing and sticking, the logical form is linking, and a special form is anchoring. Specification is the internal manipulation of data objects, which comes in the

form of dumb and smart shapes. Configuration refers to the notion of guided and constrained manipulation, which is becoming an important technology for next-generation applications, 3D and otherwise.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.