A graphical user interface (GUI) helps new users find their way around a data system. A single GUI which can be layered easily on otherwise disparate command-line interfaces provides familiarity to users while allowing a data-system to incorporate software from many existing and new sources. The ASSIST is such a GUI which was developed at SAO by the High Energy Division Software Research and Development group in cooperation with the ASC, and it is incorporated in the ASC pilot data system for evaluation. We are particularly interested in feedback from users and encourage you to try out the ASSIST. This article presents a short description of its capabilities, followed by information on how to obtain a version for installation on your home computers.
The ASSIST is an X Window System GUI that provides a uniform mechanism for interacting with analysis systems (including IRAF), documents, and other information. The system is written in C and has been ported to several of the most popular machines, such as Sun, DecStation, HP, and SGI. The ASSIST overlays the Answer Garden Substrate which was developed by Mark Ackerman, now at the University of California, Irvine.
A major problem that users face when using single-screen command-driven systems is that valuable information is constantly disappearing off the screen as new information is displayed. The ASSIST overcomes this difficulty by providing a multi-dimensional view of the analysis environment, with separate windows for viewing lists of available programs (including IRAF packages and tasks), for browsing help files and tutorials, for setting up and running programs, and for inspecting analysis results.
The ASSIST display consists of a number of graphical ``trees'' arranged in a hierarchy (Fig. 1). Each ``leaf'' on a tree represents a program, a piece of documentation, other information, or another branch of the tree. Pressing the left mouse button on one of the leaves will activate it, resulting in the display of a program, a document, or another part of the tree. Users can traverse the trees in the hierarchy to locate program or document ``leaves'', and then activate these ``leaves''.
Clicking the left button on a program name in the appropriate graphical tree will bring up a parameter editor window (Fig. 2) which displays the names and values of the user parameters, along with valid ranges (if applicable) and short descriptions of the parameters. Users can select a parameter by moving the mouse to that parameter and then edit the parameter's fields.
When a value is changed in the parameter editor, an update command is sent to the associated analysis window to change the stored value of the parameter. Pressing the Run button in the parameter editor's command strip will execute the program by causing the appropriate command execution string to be sent to the analysis window. Pressing the Help button will display the program's help page in a separate window (Fig. 3). (The middle mouse button pressed on the program name in the graphical tree is an alternative way of displaying the help page directly, without having to display the parameter editor first.)
The ASSIST also supports help concerning the current development status of a program. Pressing the Q&A button in a parameter editor's command strip will display a window containing bug reports, enhancement requests, or discussions pertaining to the program. A user can browse through these reports for information on the nuances of a particular program. If this search does not provide sufficient information, the I'm unhappy button can be pressed, which allows one to send mail to an expert in order to ask a question, make a comment, report a bug, or request an enhancement (Fig. 3). These queries are sent to the appropriate expert (as determined by the ASSIST based on a set of heuristic algorithms) for resolution. The answers can be integrated back into the Q&A part of the ASSIST by the system administrator, adding to the growth of knowledge.
The ASSIST also allows the system administrator to install tutorials and recipes. These are ASCII files which are interspersed with simple command button specifications so that a user can page back and forth through the explanations (Fig. 4). The command buttons in the tutorial can be used to execute the programs being described, providing ``live'' interaction along with the textual explanations. The ASSIST currently provides a few IRAF/PROS tutorials as examples. Users also can maintain their own informal ``notes'' file, consisting of personal notes and recipes. Like the system-installed tutorials, a simple ASCII file is used and it may incorporate command buttons which allow direct access to programs (Fig. 4).
The ASSIST currently supports IRAF tasks, as well as UNIX scripts and C (or Fortran) programs that use the IRAF-compatible parameter interface to make the parameter input and output similar to the IRAF style. This interface is provided with the ASSIST system. Individuals can tailor their use of the ASSIST by adding programs or scripts which use this parameter interface to the top of the standard tree hierarchy. A system installer of ASSIST can add a ``tree'' of programs which are related to a specific topic. The current release of ASSIST contains simple instructions to install the IRAF package tree.
The ASSIST has been developed on Sun workstations under X11R4 and X11R5. Ports (with varying amounts of testing) have been made to the SGI, to the DecStation running Ultrix, and to the HP9000s700. To install and run ASSIST you must have X11 (R4 or R5) available. The ASSIST system also works under Sun OpenWindows and DecWindows. Other ports will be performed in the future to meet the needs of the astronomical community.
The ASSIST can be retrieved via anonymous ftp:
% ftp sao-ftp.harvard.edu (220.127.116.11)
Password: [your complete e-mail address]
ftp> cd pub/asc
ftp> get README.FIRST
ftp> get READMEASSIST.BUILD
Read these two ASCII files to decide which other files you wish to retrieve (from the same anonymous ftp directory).
Send E-mail to firstname.lastname@example.org if you would like more information.