SED navigation bar go to SED home page go to Dataplot home page go to NIST home page SED Home Page SED Staff SED Projects SED Products and Publications Search Dataplot Pages

Dataplot GUI: History

Original GUI Using Turbo C on the PC Dr. Jim Filliben wrote the original graphical interface (GUI) for Dataplot on a PC platform under the DOS operating system in the early 90's. The GUI was written using the Turbo C programming language.

Although this version of the GUI is no longer available, it did establish the basic structure and functionality of the current GUI. In particular, the use of easily edited ASCII files to determine the contents and actions of the GUI menus was developed in this version of the GUI.

Robert Limpman's Tcl/Tk and Expect Based GUI Robert Lipman, at that time a member of the NIST Mathematical and Computational Sciences Division, originally developed a version of the Dataplot GUI on Unix platforms in the mid-90's using the version 7.6 of the Tcl/Tk scripting language and the Expect utility. Tcl/Tk is a scripting language for developing graphical interfaces. Expect, written by Don Libes of the Manufacturing Systems Integration Division of the NIST Manufacturing Engineering Laboratory, is a scripting language that controls the communications between Dataplot and Tcl/Tk.

The Tcl/Tk utility underwent a major rewrite in moving from version 7.6 to 8.0. Robert Lipman upgraded the Dataplot GUI Tcl/Tk scripts to run using version 8.0. The modified version of the scripts do not run under version 7.6. Although Dataplot can run with version 8.0 and higher, we recommend using at least version 8.3 since Tcl/Tk has introduced substantial performance improvements in the subsequent 8.x versions.

An important feature of the Tcl/Tk utility was that it allowed us to develop a complete and modern graphical interface making only minimal modifications to the Dataplot source code.

Windows Port The GUI was then ported to the PC for Windows 95/98/NT platforms. Note that the PC implementation only uses Tcl/TK (not Expect). Windows 3.1, OS/2, and Mac OS9 (and lower) are not currently supported. Windows 3.1 is essentially obsolete at this point and we will not support it. We also do not plan to support Mac OS9 (we do plan to support the new Mac OSX). As far as I know, Tcl/Tk is not supported under OS/2.

The primary modification in porting to Windows environments involved handling the communications between Dataplot and Tcl/Tk. Although there has been an NT port of Expect, this port is not part of the official Expect distribution and it does not extend to all variants of Windows (i.e., Windows 95/98). For this reason, Robert Lipman modified the Tcl/Tk scripts to use a different method of communicating between Dataplot and Tcl/Tk that did not depend on Expect. Note that on Unix, the Dataplot GUI will use Expect if it is available. If it is not, it will use Tcl/Tk only method developed for the PC.

The same version of the Dataplot GUI Tcl/Tk scripts run under both Windows and Unix platforms.

Future Directions The Dataplot GUI will continue to be based on the Tcl/Tk scripting language for the forseeable future.

As we are not a commercial software company and one of our primary goals is to keep Dataplot portable (and thus available on as many computing platforms as feasible), the ability to run the same Dataplot GUI Tcl/Tk scripts on the wide variety of Unix and Windows platforms is a tremendous advantage for us. We simply do not have the resources to develop (and, just as importantly, maintain) native mode GUI's on Unix, MacIntosh, and Windows platforms.

That being said, we will continue to investigate reasonable alternatives. For example,

  • The GNOME toolkit now has a Windows port. GNOME is the toolkit used by many Linux applications. This would have the advantsage of giving Dataplot a similar look and feel to many other widely avalilable programs.

  • JAVA provides another possible route for writing a GUI that is both high performance and portable to many computing platforms.
At this point, we have made no commitment to either of these approaches. However, we will continue to investigate their feasability.

Privacy Policy/Security Notice
Disclaimer | FOIA

NIST is an agency of the U.S. Commerce Department.

Date created: 09/20/2001
Last updated: 09/28/2016

Please email comments on this WWW page to alan.heckert@nist.gov.