Graphics User Interface Process Action Team report, August 30, 1995 TO: cpac@qvarsx.er.usgs.GOV CC: See distribution. From: Alan M Lumb, Chief, HASS, Reston, VA Date: Wed, 30 Aug 1995 11:13:15 -0400 Subject: GUIPAT report -------------------------------------------------------------------------------- GUIPAT REPORT TO CPAC --------------------- Alan Lumb (HASS), Chair Dave Parkhurst (NRP), Recorder Tom McKallip (HASS), Minutes Arlan Harbaugh (OGW) Jim Fulton (DIS) Steve Brady (AIS) Jeff Christman (NWIS) Steve Regan (HASS) Susan Trapanese (DIS) This report includes: (1) issues for CPAC resolution (2) summary of status (3) report in the must know format (4) minutes of the Aug 17th meeting ISSUES FOR CPAC RESOLUTION -------------------------- (1) Is the GUIPAT charge to just evaluate and select a common gui development tool OR should it also provide estimates to CPAC on resources and schedules for reengineering/developing the software products using the gui tool as implied by the "must know" format? (The initial charge from the CPAC minutes was "the gui issue should be addressed and formatted along the lines of the "Must Know" outline above.") (2) The evaluation criterion (Cross platform, Unix/X11 and Windows) was revisited as to whether tools for just Windows (Visual Basic or Borland Delphi) should be considered as a way to potentially reduce development costs. GUIPAT decided that both Unix/X11 and Windows must remain a criteria unless CPAC instructed otherwise. SUMMARY ------- Done: o Evaluation criteria have been refined (see minutes). o Short list of tools to evaluate is complete (see minutes). o Test problem for prototyping is outlined (see minutes). o Individuals assigned to each of the selected tools to use for the test problem (see minutes). Resources supplied by HASS, DIS, and AIS. To do (next 2-3 months): o Define metrics where feasible for the evaluation criteria. o Develop detailed specs for the test problem. o Use tools and write up evaluations to present to CPAC. MUST KNOW FORMAT (see question (1) under ISSUES FOR CPAC RESOLUTION) ---------------- -Total resources to adjust to declining budgets Resources to select and evaluate gui tool currently budgeted. Resources to reengineer/develop gui applications unknown until gui evaluations complete and suite of applications defined. -Resources "by function" for prioritization Resources to select and evaluate gui tool currently budgeted. Resources to reengineer/develop gui applications unknown until gui evaluations complete and suite of applications defined. Functions yet to be defined. -Resources required "by agenda proposals" Resources to select and evaluate gui tool currently budgeted. Resources to reengineer/develop gui applications unknown until gui evaluations complete and suite of applications defined. "Agenda proposals" not defined. -Problem id What gui tool should be used by Division developers for which applications software. -Approach Evaluate tools against criteria. -Resources needed Resources to select and evaluate gui tool currently budgeted. Resources to reengineer/develop gui applications unknown until gui evaluations complete and suite of applications defined. -Schedule Select a GUI package by 1-1-96. -Implementation plan Once a GUI package is selected, the software should be made available through a contract, by supplying information on how offices can purchase it, or distributed by DIS if publically available. The package would then be incorporated into the DIS support structure. Implementation plans for applications would be prepared by the development offices and districts. -Long-term support and training needed DIS would support the selected GUI package much as done with other DIS software. Support would include procurement assistance, training, and user assistance. -Benefits Increased productivity for users of software that incorporates the GUI. Decreased cost for development and support of GUI applications. Decreased cost for porting GUI applications to different computers. -Alternatives considered, including no action Tools considered are MFC, WxWindows, Fresco, MOTIF, Python/tk Interactor/Gino. Alternatives for applications would be prepared by the development offices and districts. MINUTES OF 2ND GUIPAT MEETING, AUG 17, 1995, RESTON ---------------------------------------------------- We reviewed the prioritization of criteria for choosing a GUI building package and modified the July 14 GUIPAT High Priority requirements. It was agreed that the medium and low priority requirements were included in the high priority requirements or were not that critical. High Priority - Cross platform, Unix/X11 and Windows required - Vendor independence (or the package chosen does not permit vendor inflation of our prices independent of market forces) - Easy to use to develop GUIs (debugging/testing tools, graphical layout tools, program controlled layout) - C, Fortran callable - No run time licenses - Widely used We then compared the literature on over 20 candidate packages to the high priority requirements. Much of the information came from a document assembled at MIT and is available at the internet address of file://rtfm.mit.edu/pub/usenet/comp.windows.misc. Cross Vendor no run Widely API/Vendor Platform Independence C/Fortran license Used Galaxy x o x x x Ilog x o x x ? MFC** x x x x x (LibWxm, MainWin, Mewel Wind/u WmMotif) MOTIF** x x x x ? (Nutcracker) OI x o x x x WxWindows x x x x x XVT x o x x x ZAPP x o x x ? Zinc x o x x ? Fresco x x x x ? PowerBuilder x o x x x Python/tk x x x x x Interactor x o x ? x (or Gino) Ca-OpenRoad x o x o ? x - meets requirement, o - does not meet requirement ? - not sufficient information ** Strategy is using the native developing language and then utilizing one of the packages listed in parentheses to port to other operating systems. We found 15 that met our criteria or had strong advocates. Each participant then chose their top three choices. The results of these votes are in list below. Note Jeff Christman had an NWIS obligation and was not present to vote. Only the items that received votes are listed below. MFC(7) WxWindows(6) Fresco(3) MOTIF(2) Python/tk(2) Interactor(2) Gino(2) Some of the key points from the discussion that followed the vote are: Many developers want to use off the shelf products. The complexity of C++ code for the GUI classes is ugly. It was recognized that tk is more widely used and therefore less risky then Fresco which is very new. perl/TK exists. Interactor and Gino are similar products, both of which are oriented to connecting to Fortran products. They represent an off the shelf connection to Fortran programs. Fortran/C programs are connectable to a GUI through Python. Tool kits that Jim Fulton has developed can hide the C++ code from the developer. Python interpretive environment provides connectivity with project RDB data bases, sql servers, ARC/INFO coverages, and other data formats and software systems. The following assignments were made for evaluating packages: MFC (python)- Tom McKallip WxWindows - Steve Brady, Jim Fulton MOTIF - Jim Fulton Interactor and/or Gino - HASS python/TK - David Parkhurst A Draft of specifications for the test application will be prepared by Tom McKallip The evaluations will involve the prototyping of a test application. The outline of this application is included below. A draft of the detailed specifications for the test application will be prepared by Tom McKallip for modification by the GUIPAT. Prototype application outline. Regression Plot (exercises a call to Fortran subroutines and graphical displays and manipulates the data) a) read a file b) write a file c) enter points from keyboard d) enter points with a mouse e) select points/display move delete display attributes form edit attributes/points add text exclude from analyses f) plot points g) write regression equation h) print graph ================================================================================ CC Distribution: Thomas E Mckallip, Hydrologist, Reston, VA , James L Fulton, Hydrologist, Reston, VA , Jeffrey D Christman, Hydrologist, Reston, VA , Susan M Trapanese, Chief, SSU (Hyd), Reston, VA , David L Parkhurst, Hydrologist, Denver, CO , Robert S Regan, Hydrologist, Reston, VA