New tools for morphological data management

Tony Garnock-Jones tonyg at ARCHIVE.SBS.VUW.AC.NZ
Thu Sep 20 00:42:55 CEST 2001


Hi Steve, fellow listees...

Since I'm only an amateur biologist, but a professional computer 
programmer, I thought I'd comment on a couple of technical issues here. 
I won't comment on the biology-related issues - looks like the BioLink 
team have a good clear idea of the things people want, and how to 
achieve those goals.

>> Cross platform.
>
> This is a tough one. Ideally all software should run on all hardware 
> but this is clearly not possible with the current computing paradigm. 
> Java is a theoretical solution but hasn't worked in practice when 
> competing with OS-specific programs. For the time being, we're sorry 
> to say it's Windows-only.

I'd have to say that it clearly *is* possible with the current computing 
paradigm (whatever that is :-) ). It's a red herring to say technical 
issues are the problem, because these really are secondary.

Cross platform development of a scientific tool such as DELTA (and/or 
its relatives) is not only possible, but *easy*. There is virtually no 
difference between math libraries etc. as you move from platform to 
platform. Stick to ANSI C or C++, and you have full portability.

There is a clear division between the part of the code that gets the 
work done and the part that presents an interface to the user, though. 
Now *user-interface* code can present slightly more of a challenge.

Depending on the platforms you've considered (and how "native", as 
opposed to merely "acceptable in function and appearance" you require 
your app to be), there are a few options available -

1. Qt - runs on Windows 9x and NT, *many* different Unixes, and 
apparently also Mac. Is *very* easy to learn and to write and debug for 
(I speak from personal experience here). Looks and feels almost 
completely native on each platform. Costs about $1500 up front, ie. more 
than MFC, but there are no runtime costs or royalties. See 
http://www.troll.no/.

2. wxWindows - runs on Windows, Mac, Motif and GTK. Essentially LGPLed, 
and free (gratis and libre). I have not used this extensively, so can't 
comment from personal experience. See http://www.wxwindows.org/.

3. FLTK - runs on Windows 9x and NT and various X windows systems. Not 
Mac AFAIK, but it's LGPL'ed and free (both gratis and libre). Again, 
I've not had much experience with this, just a quick play. See 
http://www.fltk.org/.

>> DELTA and Intkey are relatively small, easily understood and 
>> easily installed and used programs.
>
> Unfortunately we're not sure we can live up to this. There are very 
> few development options if you want to make a program that can be run 
> by copying a single EXE file onto your computer.

This is true. A single EXE doesn't admit the possibility of using DLLs, 
and DLLs can make life much easier for the developer. However, so long 
as you avoid putting DLLs anywhere else but in the application's 
directory, and the application makes little or no use of the Windows 
registry, you should end up with a program that can be "installed" by 
copying a folderful of files.

Essentially, so long as you stick to basics and choose your 
user-interface library carefully, code portability is a total non-issue. 
DELTA and friends do nothing spectacularly computationally novel, so you 
should be in luck implementing something similar in a portable manner.

Regards,
    Tony



More information about the delta-l mailing list