Back to Volume
Paper: Separating Form from Function; the StarView Experience
Volume: 61, Astronomical Data Analysis Software and Systems III
Page: 88
Authors: Pollizzi, J.
Abstract: The advent of various display building tools has brought the use of advanced windowing techniques to even casual software developers. This has quickened the development cycle from conception to implementation for many applications. Such approaches are extremely attractive and cost effective when a common application is to be deployed to a number of users. There is however a side effect when using such approaches. The inherent problem is that while the tools allow for a clean separation of user interaction from specific application code, it still closely ties the presentation mechanism to the functional use. StarView, the user interface to the Hubble Data Archives, was developed to expressly distinguish presentation aspects from the functional capabilities needed in the interface. StarView's functional capabilities: creating queries, identifying database fields, data display, archive requests, help,... represent that part of the application that is common to all users. These capabilities are independent of the database to be interrogated or the actual displays or interactions to be used. The presentation aspects: forms, menus, buttons, help text, navigation, even key-bindings, are all defined through symbolic notations. By imposing this distinction as a fundamental design goal, StarView is able to support rapid independent evolution of its forms, - and yet maintain a highly stable core system that implements the common functions needed by all users. The need for this flexibility has been borne out by our experiences. The majority of recent StarView iterations, made by the Space Telescope Science Institute (STScI) scientists, have been on presentation format. There has been little modification of StarView's existing capabilities, but nearly 100 person-hours have gone into tuning the displays for the initial public release. Further, history tells us that regardless of this effort, there will still be a call for changes or requests for personalized formats. This paper investigates this distinction between presentation and function and it explores how the StarView system supports this separation. As background, the typical use of one such tool, ICS's BuilderXcessory, will be briefly described. A sample application using the tool will be compared to a StarView example accomplishing a similar task. The effect of a subsequent presentation change to the task will then be examined in both cases. Finally, there will be a brief discussion of design tradeoffs that best leverage the use of interface tools and yet maintain a flexible approach in connecting the presentation aspects of the application to its functional capabilities.
Back to Volume