Learn about the design of the API

The interface and features implemented in the API were inspired by the requirements for a GIS tabletop application to be used in the control rooms of electricity and utility companies. However, we have designed the API to be generic enough to be useful in other similar fields. While searching for the requirements of the API, we selected some of the features which are needed most in any GIS tabletop application.

For instance, a GIS interactive tabletop application will likely need the following features:
  • A background map representing the overall vision of the workspace. If the application supports bookmarking or shows trouble tickets or emergency locations, this background map will be very handy in seeing all of the these locations at once and analyzing the relationships between them and how critical the situation is.
  • Some sort of menus to access the common application tasks which are not related to any specific map. Since the environment of a digital table does not pose any specific orientation on the application, the design of the menus should assume that users can be seated/standing anywhere around the table. As a solution to this problem, regular application menus should be replaced by menus which can be moved around and rotated around the table or by menus which are replicated around the table. The design of this API chose quarter pie corner menus as a possible solution. These menus do not consume much space on the table, they can be expanded or collapsed, can be read easily and reached from anywhere around the table and is flexible concerning the number of functions is can represent.
  • Some way of managing the map layers in the application. Each application should be able to specify what layers are shown on the maps, their transparency and visibility. It is also handy to allow the actual user of the application to change these layers in real time. The API has a Layers manager widget which can be opened from the corner menus and the user can change the default layer settings through this widget.
  • Widgets which enable viewing detailed maps. In the API, this was achieved by creating map windows/frames on top of the background map. The design of the map windows, which may be called lenses in other applications, provides the flexibility to work on multiple different maps at the same time or work on one big map. In addition, collaborating teams often toggle between a number of different modes of collaboration and this design avoids imposing any specific mode on them. For achieving this flexibility, individual map windows were designed such that each one can display any type of map and users can interact using multi-touch with multiple maps at the same time. If the users want to work on one big map, they can use one map window and increase its size as needed. The user can also change the layers settings of the map inside the map window. Each map window can have different layer settings, different layers can be visible or hidden and the transparency of the layers can be changed as well.
  • Multi-touch Gestures to pan and zoom the maps, to resize and rotate the map windows and to create maps on top of the background map.
  • The ability to keep track of geo-referenced map bookmarks. The concept of bookmarks can be used to represent important locations, trouble tickets, and more. Bookmarks can have priorities/severities and text descriptions. The API design represents the bookmarks as circular pins placed in their locations on the background map and having different colors for different severities and/or priorities. Placing trouble report pins on the background map, as opposed to having them in a list box for example, provides a general view of all the existing problems and the relationships between them which can help decision making. Touching the round pins displays editable bookmark info tips with more information about the bookmark. The information window is displayed such that the center point of the window is the actual location of the trouble report pin on the map. The window can then be rotated around this center point in both directions. Allowing the user to rotate the windows freely is crucial in such an environment in which there is not fixed orientation. Detailed map windows can be opened from these bookmark info tip windows to show the details of the location. A list of all the bookmarks can be opened using one of the functions available to the corner menus.
  • Annotation tools to write or draw on the maps. The frames of the map windows in the API include a set of annotation tools to annotate the maps using finger touches. It was important to allow each map window to have its own state and its own tools such that users do not interfere with the work of each other.

Last edited Apr 25, 2011 at 6:22 PM by ealafselim, version 10


No comments yet.