[RTTY] Software question

Kok Chen chen at mac.com
Wed Jul 25 12:40:46 PDT 2012


On Jul 25, 2012, at 11:17 AM, Bill, W6WRT wrote:

> I wonder why some programs such as fldigi are written so they will run on almost
> any operating system, and others such as N1MM Logger will only run on Windows?

Whether you can run a program under various operating systems depends on the development environment (Libraries, Framework) that the developer uses.  If you write for .NET in Windows, you won't expect it to run in Mac OS X, and if you write for Cocoa in Mac OS X, you won't expect it to run under Windows.

fldigi uses the Fast and Light Toolkit (fltk) that has its own GUI and audio API.  In addition to Linux, the fltk Toolkit (libraries, etc) also runs in Windows and Mac OS X.

Thus for example, anything that is built using fltk will be able to run in Mac OS X as long as you have ported the fltk library into the Macintosh.  

>From the computer scientist viewpoint, a program that runs under fltk is not strictly speaking "native."   The developer interfaces with the toolkit's system calls in the fltk library, and the library in turn translates the fltk system calls into the native Mac OS X system calls, in case of a Macintosh.   This holds for things you draw to a window, the action of pressing a button, passing data to and from sound cards, etc.

As such, you can expect different efficiencies compared to programs that are written to run natively in Windows or Mac OS X.  But that is not really a problem in the modern world, where you hardly eat a few percent of a desktop computer's processor capability to begin with.  And therefore from the user viewpoint, it is "native," as long as you don't mind interacting with a user interface that can deviate from what they are used to with the native programs.

The inefficiencies will also depend on what you are doing -- if you are mostly number crunching (e.g., running DSP code), there is probably zero overhead, if you draw a waterfall to a window, you can expect greater overhead.

The "FL" in fldigi comes from the name of the Toolkit, just as I use "Cocoa," the primary framework in today's Mac OS X, as part of cocoaModem's name.  It is also why fldigi has the "Linux look and feel" when you run it on Mac OS X.  (More accurately, it is the fltk's look and feel.)  

Just as you find very different graphical and user interface experience between Windows and Mac OS X, the same is true with anything using the fl toolkit.  When you run fldigi on a Mac, it looks and feels more like a Linux program than a Macintosh program, for example.  I have not tried it on Windows (because I have no computer at the QTH that runs Windows), but I also don't expect fldigi to be as pretty as the Ham Radio Deluxe user interface.

You can read more about the FL toolkit here:

http://www.fltk.org/documentation.php/doc-1.1/intro.html

fltk is not the only environment that is multi-platform.  REALbasic is another common one that runs on Linux, Windows and Mac OS X.  RUMlog and RUMped are for example written on REALbasic, and can probably be tweaked to run on Windows it Tom feels like doing so.

73
Chen, W7AY



More information about the RTTY mailing list