2. An ExampleIn order to convey Visage's basic styles of interaction, it is useful to consider a detailed example. The example is based on one of the applications of this approach that we are pursuing to facilitate next generation logistics tracking and planning systems. These government systems are being developed to access and analyze information about the location, quantities, status, transportation, distribution, consumption and other properties of equipment and supplies and the people who need them worldwide.Figures 1 and 2 contain an outliner style of table that is one of many displays we created in the Visage environment. It is one way to provide a hierarchical perspective on tabular data and is useful for this example because it illustrates drill-down and roll-up capabilities in a familiar way. The same techniques are applicable to other approaches to displaying hierarchical data (e.g. [8, 9]).
![]() Figure 1: Drilling down organizationally Starting from any point in an object-oriented database for a logistics exercise, users are offered a menu of alternative dimensions along which they may drill down. In Figure 1, a user has already drilled down from an object representing the Army Corp to its five subordinate units and has selected one division (53rd Division) to drill down further organizationally. This occurs by selecting the subordinate unit relation from the pop-up menu that is dynamically attached to the 53rd. The result is the more detailed organizational breakdown (the highlighted text) in Figure 2. This drill-down process could also occur across different relations or links from any of these objects. For example, it is possible to drill-down from an object representing an Army unit to the equipment it possesses (e.g. trucks, generators, stoves). One could then drill-down further from one type of equipment to the parts or supplies it requires (e.g. from trucks to truck parts) and then drill-down from one supply-type to all the warehouses that have it in stock. This is a process of turning a network or web of database objects into a convenient hierarchical breakdown for analysis purposes. On the right side of the outliner in Figure 1, users can select any attribute of the objects in the hierarchy that they want to have displayed, like the weight of supplies a unit requires, its echelon, the number of people in the unit, etc. These attributes can be taken directly from the database or dynamically created as derived attributes using a scripting language. In either case, as the hierarchy is expanded, the values for these attributes are added with it. The dynamic drill-down and expression of attribute values is a fundamental operation in Visage that can occur in every display. In the example, a user has drilled-down just organizationally to a group of Army units of interest. An important operation in our implementation of the information-centric interface approach is the ability to drag objects representing information among visualizations and application interfaces throughout the Visage environment. For example, in order to display graphically some of the attributes of the subordinate units of the 53rd Division, one simply drags a copy of the unit names from the outliner to an empty bar chart display in Figure2 (the moved units are indicated by the translucent text).
Figure 2: Dragging objects across displays In this case, a bar chart shows the weight of supplies that these units require as bars in Figure 3 (some are already selected for subsequent copying and dragging to a map and appear darker in Figure 3 and red in the color plate). Each display shows some attributes by default or users can select other attributes from a menu attached to the chart. The menu of attributes is constructed dynamically from the objects that are dropped into the display (i.e. the attributes of Army units in the example). Visualizing unit supply weights in a bar chart makes it easy to select those needing the most supplies - those with the longest bars. These are painted by the user and appear dark gray in Figure 3. It's now possible to check the locations of just these units on a map, perhaps to determine the locations where supply warehouses should be established. Units are transferred to a mapping application with a similar drag and drop operation suggested by the translucent bars in Figure 3.
Figure 3: Dragging units with the largest quantities (dark bars) from a chart to a map. The map application is a product called MATT which was developed independently of Visage by Bolt, Beranek and Newman and coordinated using its program interface. This is an example of one of the primary goals of this work, to explore how to cement together separately developed analysis tools into what the user will experience as an integrated work environment. By default, a map display shows the longitude and latitude attributes of objects and uses military symbols associated with unique identifiers of units and other objects. The map display can be used to further focus attention, for example, by painting yellow (light gray in Figure4) the subset of units that occur close together in the center of the map (perhaps to identify a region where large quantities of supplies will be needed). Notice that painting [4,6,8,10] an object in one display causes it to be similarly colored in all other displays. Together, the three displays in Figure 4 show who the selected units are, how many supplies they need, and where they are located. In the color plate, the blue, red, and yellow units are all subordinates of the 53rd Division. The red and yellow ones need the most supplies. Yellow ones are Northern units of special interest to a user. Finally, this small subset of units can be rolled-up (i.e. aggregated) into a single object and named by a user, in this case, "North High Supply Units." It appears in the bottom of the outliner, and its attributes are the appropriate totals for the units it aggregates. The new aggregate can be treated as a single object for new drill-down operations. For example, it is possible to drill-down along a new dimension to the supply types needed by the aggregated units.
Figure 4: Dragging copies of objects back to the outliner and composing them into new data aggregates Notice that this approach enables users to compose a complex query through a series of drill-down, drag, paint and roll-up operations. The last aggregate represents "units of the 53rd Division that need the 'most' supplies and are located in a small region to the north". No abstract query needed to be constructed. In summary, this example illustrates the most important aspect of Visage's information-centric approach: operations are directly applied to graphical objects representing information and not through the mechanics of running applications. For example, bar chart and mapping programs are invoked by moving graphical objects to displays rather than by running programs and performing export/import procedures (the typical data sharing mechanisms used in spreadsheets and other tools). Also, painting operations are applied directly to objects that are coordinated in multiple displays via a common underlying database. Similarly, drill-down and roll-up operations are performed directly in any display because of a shared object representation. Later, we will describe how these display themselves can be similarly copied and dragged into presentation slides for briefings. Finally, what is not illustrated here is the role of dynamic graphic design for creating composite visualizations dynamically that integrate multiple types of information. The outliner and bar chart displays in this example were created using a scripting language which will be described in detail later. |