DELTA & Graphical User Interfaces

Mauro Cavalcanti maurobio at PUB2.LNCC.BR
Mon Oct 30 17:16:06 CET 1995

Posted on DELTA-L and TAXACOM

Dear DELTA Users,

Over the last two years or so, I've been deeply involved in developing 
GUI-based tools for DELTA, of which my DIANA shells (available for 
MS-DOS and Windows) were the first products.

I've already done *a lot* of reading on the issues of user interface 
design, data models, search algorithms and data structures and the 
relevance of all this to the development of biological software. 
Perhaps more important, I've also undertaken several experiments with 
user interfaces and data structures more adequate to the presentation 
and representation (*sensu* Diederich & Milton, 1993) of biological 
data. Here I intend to present some of the preliminary, tentative 
conclusions I've reached in the course of these experiments; I'm 
posting this to DELTA-L rather prematurely because of the recent 
request of Andreas Walsh for advising on GUI-development for DELTA. I 
hope to get some useful feedback from DELTA users and developers.

Eventually, I can expand this "report" into an article to be submitted 
to the DELTA Newsletter. Since Walsh's request concerned only user 
interfaces, I'll not dwell here into the issues of data representation 
(ie, database structures).

A key issue: portability

I start from the principle that a Graphical User Interface is the most 
desirable kind of computer environment for a computer user, by making 
any system easier to grasp by the novice and faster to use by the 
experienced user (but of course even this is open to discussion... :-).

GUI's are available on the three main computational platforms in use 
today - PC's, Macs, and UNIX workstations. The DELTA programs, however, 
are limited to PC's. Following the several discussions on this issue on 
the TAXACOM list (as well the *very welcome* requests of some DIANA 
folks), I could verify that perhaps more than offering a nice, 
intelligent, editing tool (more on this below), the DELTA system should 
be *as portable as possible*, not only because of the large number of 
both PC's and Macs users, but also because of the widespread (and 
increasing) availability of UNIX workstations. WWW browsers like Mosaic 
and Netscape offer a relevant analogy here, since they are both 
available on the three main platforms above mentioned.

So, one of my first conclusions is that an "ideal" DELTA system should 
be as portable as possible.

However, developing a GUI-based program is not an easy task, even for 
experienced programmers - the difficulties of writing such programs are 
often underestimated. However, there are now software tools that not 
only allow: a) to simplify the process of software development for each 
of the widely used GUI platforms: MS-Windows, MacIntosh, UNIX+XWindows, 
but also: b) to make the programs portable among the mentioned 

VIBRANT is one of these tools...

VIBRANT is a high-level, multi-platform user interface development 
library written in C by Jonathan Kans (kans at, 
Information Engineering Branch, National Center for Biotechnology 
Information, NLM, NIH, Bethesda, USA. It is distributed as part of the 
NCBI Software Development Toolkit. VIBRANT acts as an intermediary 
between an application and the underlying windowing system toolkit. It 
is available for free and comes with full source codes. Using it, a 
GUI-based application can be written that runs *without modification* 
on any of the mentioned platforms - you just have to re-compile them on 
the target machine, using the native C compiler.

Commercial software libraries based on the C language also exist that 
perform similar functions - ZINC is one of the more well-known of them 
- but these are usually very expensive and do not include source code.

So, not only the DELTA programs themselves, but as a matter of fact, 
all DELTA "third-party add-ons" (like DIANA, DMSWIN, and TAXASOFT) 
should be greatly improved if (re-)written using such tools, by 
benefiting from portability and, consequently, from a larger user base.

A user-friendly editing tool

Another old request from about all DELTA users is the availability of a 
user-friendly, specialized data editor, that should release users of 
the cumbersome and error-prone creation and maintenance of DELTA 
datasets using an ordinary text editor or word processor.

Early attempts to provide such a specialized DELTA editor were those by 
Pankhurst's DEDIT and Gouda's DDATA (distributed as part of his 
TAXASOFT package). However, none of these editors are GUI-based, what 
may become a major drawback to a user well-acquainted to electronic 
rodents... Worst, since MS-Windows and other GUI environments have 
highly standard interfaces, with common control objects (dialog boxes, 
pulldown menus, etc.), the authors of these editors will have to write 
entirely new applications when porting their programs to such an 

My specialized "DELTA Coding System" (DELCODE) is a first attempt at 
providing a GUI-based highly interactive environment for the editing of 
DELTA datasets. A DOS version is finished and a Windows version is 
underway, but for several reasons I have not yet released DELCODE to 
the public. Among the first of these is that I do not consider it to be 
a "production tool", but rather a teaching tool (that is the way I'm 
using it). It is the result of one of the experiments I mentioned 
above, and is itself experimental. DELCODE does *not* intend to be a 
rival of the undoubtedly powerful, Windows-based, DELTA editor 
currently under development by the DELTA development team. Its primary 
purpose is to test algorithms, data structures, and user interface 
ideas. It features pulldown menus, dialog boxes, and full mouse 
support, but the DOS version is obviously not a full "GUI-based" 
application (in the sense that it detaches at several points from the 
CUA/SAA [Berry, 1988] standard).

Up to date, all DELTA editors implement what we could call a "form 
fill-in" interface (see Diederich and Milton, 1993 - this paper should 
be read by everyone wishing to develop GUI's for biological software!), 
with which the user enters data, usually from the keyboard, in specific 
fields on pre-built forms. This system is also used by some of the 
Windows versions of the DELTA programs (namely, INTKEY4 and INTIMATE), 
to get information from the user. However, as one DIANA user has quite 
rightly pointed out, character-by-taxon data matrices *are* the logical 
way to manage taxonomic data. A matrix is convenient, already known to 
most systematists, and is the accepted "metaphor" for comparative data 
on taxa.

So, my second conclusion is that an "ideal" DELTA data entry and 
management system should provide some sort of matrix-oriented editor.

One such a matrix editor for taxonomic data already exists - and, as 
far as I know, is not only *really wonderful* by itself, but should 
provide a relevant paradigm for further development of taxonomic data 
entry and management system. That is the editor of Maddison & Maddison 
MacClade's interactive character analysis program, available only for 
the MacIntosh computer. A good summary description of this editor (and 
of MacClade itself) - for those who do not have access to a Mac or do 
not have a copy of MacClade - can be found in Maddison and Maddison 

Another of my experiments with GUI software for DELTA was the 
development of such a matrix-oriented editor for DELTA. A crude 
prototype was implemented in Visual BASIC (that provides a rather 
limited "grid" custom control), but I didn't develop it further.

Allowing the user to control her/his own TV...

In recent years, the demands placed on software for management of 
taxonomic data have increased dramatically in response to an 
ever-increasing (and very welcome, by the way :-))) concern that such 
data are the key to biodiversity conservation and sustainable use of 
biological resources. As a result, the very few software-developers 
engaged in the field of biodiversity information management (including 
the members of the DELTA development team) are being highly pressed to 
satisfy all user needs in less time and with more efficiency. As other 
fields of human activity, biodiversity data management is also facing 
the 'software crisis' (Cox, 1986; Gibbs, 1994), and perhaps software 
engineering should also be enlisted as a 'crisis discipline', along 
with conservation biology and cancer biology (Soule', 1985).

Such a crisis in the development of biological software means that not 
only are better and portable software development tools (as the VIBRANT 
interface library above mentioned, or the more expensive commercial 
ones) needed, but also that a biodiversity information management 
package far more *programmable* by the end-user should be developed. 
The access to preprogrammed subroutines would allow systematists with 
limited programming experience to develop their own specialized 
programs for biodiversity data management (eg., in her/his own national 
language). In the future, it might be more fruitful for DELTA 
developers to put their efforts in this general direction, rather than 
trying to anticipate and meet (with scarce resources) the precise needs 
of the next generation of computer taxonomists. This is my third 

Along this line of thinking, I've developed DELTA Library, a 
general-purpose library of routines for reading text files in DELTA 
format, designed to work with any language that supports Windows DLLs 
(Dynamic Link Libraries). They allow a programmer using any language 
that supports DLL calling, such as Borland Pascal/Turbo Pascal for 
Windows, C/C++, and Visual BASIC, to write an application that can 
access DELTA datasets without effort, with just one line of code for 
each routine's call. I've been able to sucessfully integrate them with 
LORIS, an experimental "DELTA viewer" I've written in Visual BASIC, and 
these routines are also used by the Windows version of my DELCODE 
editor for DELTA. While I had not yet released this library on a 
widespread basis, it is free and available to anyone wishing to try it.

I hope all this will start a fruitful discussion among the subscribers 
of DELTA-L. I'm also in the process of setting up a WWW personal home 
page, to facilitate the interchange of information regarding this and 
related questions in biodiversity data management and conservation. The 
above mentioned programs will be put on our server and any interested 
user should be able to download them through this page.

I look forward to hearing from you soon...


Berry, R.E. 1988. Common User Access - a consistent and usable
   human-computer interface for the SAA environments. IBM Syst.
   J., 27: 281-300.

Cox, B.J. 1986. Object-Oriented Programming - An Evolutionary
   Approach. Addison-Wesley Publishing Company.

Diederich, J. and Milton, J. 1993. Expert workstations: a
   tools-based approach. In: Advances in Computer Methods for
   Systematic Biology: Artificial Intelligence, Databases,
   Computer Vision, R. Fortuner (Ed.). The Johns Hopkins
   University Press, Baltimore, Maryland, pp. 103-124.

Gibbs, W.W. 1994. Software's chronic crisis. Sci. Am., 271:

Maddison, W.P. and Maddison, D.R. 1989. Interactive analysis of
   phylogeny and character evolution using the computer program
   MacClade. Folia Primatol., 53: 190-202.

Soule', M.E. 1985. What is conservation biology? Bioscience, 35:

Warmest regards,

Prof. Mauro J. Cavalcanti
Departamento de Biologia Geral, Universidade Santa Ursula, 
Rua Fernando Ferrari, 75, Botafogo, 22231-040, Rio de Janeiro, RJ, Brasil.
Phone: +55 (021) 551-5542 ext 151  Internet: maurobio at

More information about the delta-l mailing list