Swedish Institute for Systems Development (SISU),
Electrum 212, S 164-40 Kista, Sweden
Human beings breathe and evolve in a 3D world that seem natural for them. They memorize where they have been and thus can most of the time find their way in places they remember. In a similar manner, people familiar with the user interface provided with emerging 3D games following the DOOM generation will agree that once they have spent some time running around a level they finally find their way and can easily navigate with some sense of orientation. Therefore our work has focused into real life-like user interfaces i.e. the 3D room metaphor rather than abstract representations. We propose in this discussion to investigate the real-time generation of 3D worlds depending on database information retrieval.
One can think of this way of visualization as a virtual museum, a place never visited before. However, in comparison with a real museum, the digital world allows us to generate a new building after every database query, thus adjusting the number of rooms or floors depending on the number of retrieved items. Consider the case of a user looking for famous composers either in classical or rock music. The database might return pictures, descriptions, or sound samples from Bach or the Rolling Stones. Many rules can be followed to generate an appropriate presentation, whether there should be one room per artist or one room with all the images, or whether all the composers of Classical Music should be gathered on the first floor and Rock artists on the second floor. One of the main issues is how to map an arbitrary number of N items returned by the database into a 3D space. Possible algorithms are based on fractals theory or L-Systems, as extensively described by Bernie Roehl in . We have considered several 3D data structures and kept as a pattern a 3D data structure with four square rooms for its simplicity and ease of replication. The first VRML world on the left displays information about 4 different artists. Interactivity has been added to the scene so that clicking on a musical instrument represented in 3D will start a sound clip of the appropriate artist. As well as specifying a database query, the end-user might choose between different kinds of worlds to customize slightly more what is to be seen. The VRML world on the right has replaced walls of the building by trees, thus making a forest instead of a museum. Adding VRML objects to the scene can dramatically enhance navigation and help the user understand how to visualize the information as they provide an intuitive and natural interface that even people unfamiliar with computers will understand.
An alternative to the creation of expansible 3D worlds with the number and size of rooms growing in accordance to the amount of retrieved information is to show the different items in the same location, with a selector. This way of visualizing data can be thought as a TV-like interface, where different items are shown on the same screen with the remote control as a selector.
Although existing VRML builder tools enable users to create new virtual worlds with a drag-and-drop interface, they remain difficult to use because they provide only low level primitives or static construction blocks.
We have therefore concentrated into the creation of higher level building blocks e.g. customizable rooms and houses rather than cones and cubes. In particular we have applied the javabean component-based architecture  to such 3D components which properties can be customized in existing tools. Similar work is described in . The following picture illustrates an example of how a TV set and a remote-control can be inserted into a 3D world and customized to map database content to TV channels: the tool used here consists of javasoft‚s beanbox environment that enables to load javabeans, discover their properties and events and plug them together. In this example we can map each folder of the remote control to a database query. Plugging the remote control to the TV set consists of specifying that each time the user clicks on a folder of the tabbed pane, the event should be sent to the TV screen which will display it. The TV set and remote control can themselves be associated with a VRML browser javabean specifying where they should be located in the 3D world. Such a VRML browser component can load and display VRML beans. This way, because the small forest shown in the picture above is also the 3D representation of a javabean component, it can restrict in its properties where in the scene a TV set or any other object can be displayed and therefore avoid for example inserting the TV in the middle of a tree, or putting the remote control in a place it can never be found.
Interactive 3D worlds are just beginning to appear on today‚s desktop computers and therefore a lot of research activity can be foreseen both to enhance navigation and display intelligibly information for quick memorization and easy retrieval. Among the tasks we are focusing on are some efficient algorithms for automatic layout of rooms with optimization to minimize the size of generated worlds and 3D widgets for better navigation i.e. reusable components that can be used intuitively because their visual interface imitate real world behaviors.
This work has been done in conjunction with the Multimedia Broker/IE 2093 European Project as part of the Information Engineering Initiative. An extended version of this paper can be found at http://www.sisu.se/~alexandr/publis/
 B. Roehl et al, Late Night VRML 2.0 With Java, Ziff Davis Pr., May 15, 1997.
 R. Englander, Developing Java Beans, O'Reilly and Associates, June 1997.
 D. Kondratiev, VRML beans proposal, online publication, May 1997.