1. 3D terrain management tool

3MAP - milestone 2.

interaction design : principles : dynamic queries

Design Principles

Filtering the view using dynamic queries



Our data will be pervasively annotated with structured metadata, in order to facilitate information seeking and complexity management.

However, users may not be familiar with the vocabulary of elements available to be queried.

They may also be unfamiliar with boolean logic, which many traditional text search engines require for advanced searches.

Also, users may wish to display range data (e.g. 2-4 bedrooms, or rating *** to *****).

Complexity management

As an open publishing standard, the World will contain a large amount of data. Only a subset of this data will be relevant to any specific user. For example some users may be interested in soil chemistry, while others may be interested in where to have lunch.

Conflicting data may be published at the same point in geospace. For example one user may publish data representing the area surrounding Angkor Wat at the height of the Khmer civilization (879 - 1191AD), while another may publish data representing its current form. The Sydney Opera House Trust may publish both the current interior of the Opera House, and also the unrealised interior as designed by Jorn Utzon.

Users need the ability to turn on and off whole categories of data (for example weather, or data from untrusted sources). Also, a reasonable default state needs to be available to users entering the system for the first time.

Information seeking

Once high-level decisions about which types of data to display are made, users may wish to focus their worldview further, in order to find specific information. For example, 5-star restaurants, or houses available to rent with 2-3 bedrooms.




Allow users to filter data. This concept has been expressed as the following Design Pattern [Clarke-Willson, 1998]:


Problem: If the player is given means to create new game objects, and/or new combination of existing objects, and/or move game objects arbitrarily, the resulting complexity might become overwhelming for the designer.
Solution: Limit local complexity by filtering, thus creating smaller, clearly defined subsets that can be dealt with.

How can we apply the Filter pattern in this situation?

It is crucial to expose the system's functionality to users in a concrete way. To do this, we must provide a direct manipulation interface to the available metadata.

The use of dynamic queries on structured metadata is an effective user interface technique for manipulating complex datasets, especially suited to geographic applications, which leads to significant improvements in user satisfaction and engagement over traditional text searches [Schneiderman, 1994].

The inclusion of Time in the core metadata element set will be a key to successful filtering, as users will typically only be interested in data relevant to their present time. Also, the ability to virtually travel through the time dimension will be a useful and engaging capability.


Task flow

1.  The screen shows the subset of information defined in the user's current configuration of metadata element filters (a.k.a World View).
   2. User goes to the Filters menu and chooses a filter set from the list. Filter sets are grouped by task and data type; e.g. weather, accommodation, food. Active filters are marked in the menu, and there is an option to show all active filters, which can be invoked with a single keystroke.
   3. User turns filters on and off using checkboxes, and refines their range using sliders that appear contextually when filters are selected.
   4. Filters are arranged in a hierarchy from general to specific; it is possible to turn a large number of specific filters on and off simultaneously by manipulating their more general parent filter.
   5. Data appears and disappears dynamically as filters are manipulated, giving immediate feedback. Data is prefetched and cached as much as possible in order to achieve this. The activation of a particular filter set can be taken as a cue to the system indicating data likely to be called. If there is a delay, user feedback is maintained with progress wheels (for short delays) and progress bars (for long delays).
   6. Filters may be hidden again with a single keystroke.