Story behind GISforTT

The API GISforTT was extracted from another project called eGrid. eGrid is a multi-touch environment for browsing GIS maps for an electricity company. The need for extracting the API was discovered when another application came into the picture. The second application (we will call it eWell here for copyright considerations) is supposed to serve an oil and gas company in handling their GIS oil well sensor data on a digital table. When the requirement of the second application came into the picture, the reuse opportunity became clear and the we decided to extract the API from eGrid to serve eWell and any other similar application which aims at handling GIS data on a digital tabletop.

Development of eGrid

The requirements behind the initial application "eGrid" reflected the needs of a local electricity company in Calgary, Alberta. The application was designed and developed using an iterative agile development process, which started by creating low fidelity prototypes such as sketches and simple demos. These prototypes were useful in brainstorming interface ideas but were of little use in getting feedback from users for gesture-oriented applications. Since eGrid was an interactive multi-touch application, interactive prototypes were developed next; allowing eGrid to gain increased customer interest. Iterating to enhance the design of the system was guided by demonstrations to industrial sponsors. The interface and features of eGrid have been changing continuously to respond to the feedback received as the system is demonstrated to industrial partners.

Observation sessions in the control center of the electricity company were conducted to understand more about the environment in which the application will be deployed. Several interviews with GIS professionals were also done to understand more about the problem domain, the extra features needed in eGrid and the general features in eGrid that can be useful to other similar GIS applications.

Extraction of the API

Extracting the API from eGrid was done using an approach that we proposed in this paper. It is a systematic approach for extracting libraries of reusable components from an application and using them in new software products. The code around these components in the original application is changed as well to use the newly extracted and modified components. The approach relies on acceptance tests which can help the refactoring process by planning the changes needed to be done and making sure that the resulting products match the requirements of the customer and behave as expected. Usage examples are also extracted from the original application since they help identify the appropriate use of the extracted components.

Snapshots representing examples of component extraction can be found here.

Future Plans

The API is still under development. Variability points are still being added to the API.

Our next step is to repeat the process by developing other applications based on the new API using the same approach. The benefit of repeating the process is to further assess the approach of using acceptance test driven extraction of user interface APIs, as well as enhance the API by generalizing it more according to the options needed by the new applications. Usability studies of the API will follow to assess how effective, valuable and useful the API is for developing GIS tabletop systems and thus how useful is the approach used in designing the API and extracting it from the scenarios of other applications.

Last edited Apr 25, 2011 at 6:20 PM by ealafselim, version 4


No comments yet.