[hpsdr] SW developement (was Cyclops - Spectrum Analyzer)

James Courtier-Dutton James at superbug.co.uk
Sat Dec 1 03:46:53 PST 2007


Elio Corbolante wrote:
> ***** High Performance Software Defined Radio Discussion List *****
> 
> 
>> Nice project, of interest for a large public so far the software 
>> will be created by the use of modern programming.
>> Phil, in the meanwhile programming environments have migrated to 
>> multiplatform tool suites. This to offer software on the basis of 
>> 1-time-write and run on different computer platforms.
>> Single platform programming is definitively out and so the use of 
>> customized objects and languagaes having application on a single 
>> operating system.
>> In other words, due to questionable marketing strategies, security 
>> and privacy issues, non equilibrated product price/quality ratio of 
>> the company wich products you are sustaining of, many people has, is 
>> and will migrate to other operating systems.
>> This means that a significantly growing large part of the people 
>> interested on the HPSDR and Cyclops projects are willing to run the 
>> related software on different operating systems as that you are 
>> planning to build the software for.
>> I suggest to leave the construction of such software to that 
>> programmers being sufficiently up to date and able to use the actual 
>> multiplatform programming environments.
>> It really makes non more sense to limit HPSDR to a continuously 
>> decrementing bunch of people using M$ products (sorry!).
>> What I'm stating is not to abandon programming for the Windows 
>> operating system but to heavly enlarge the final target including 
>> millions of people wordking with different computers.
>> Please take this in mind for the other projects related to HPSDR or 
>> you (we) will more and more restrict HPSDR's group and projects to 
>> an elite group on a niche product instead of spreading research and 
>> development passion.
>>
>> vy 73s de Andreas - ik2wqi
> 
> I'm sorry bu I disagree with you: maybe you don't know the MONO 
> "environment": it let you run applications written with Microsoft's 
> .NET on different OS like Linux/OS X/ ...
> I think it will be better if you take a look at the following address:
> 
> http://www.mono-project.com/Main_Page
> 
> You'll find that the much dreaded M$ was praised for the .NET initiative.
> 
> Unfortunately lots of people talk bad about Microsoft ONLY because it 
> is Microsoft.
> Even an "evil" company like MS can develop some good products like 
> the .NET framework.
> We have also to thank the MONO developers for their BIG effort to 
> port .NET on other OSs!!!
> 
> .    ciao
> _        Elio.
> 
> P.S. It is a pleasure to run the same executable on Windows/Linux/OS 
> X without even recompiling it!!!
> P.P.S.: Dear IK2WQI, please can you suggest other multi OS 
> developement environments? (Java excluded) 
> 

MONO does not cover the whole .net api yet, and most notably, a lot of
the GUI .net code does not work in MONO, so currently, the argument that
 .net programs run on both windows and linux is wrong...otherwise the
PowerSDR GUI would be running now in Linux!!!

I have considerable experience with supporting applications that run on
multiple different OSs.
There is one point that always comes up: A GUI app on one OS never looks
so good on another OS.
The solution to this is to make the GUI bit of the application very
thin. So, no business logic in the GUI code, just place in the GUI code,
buttons, menus etc. that interact with the user, and once some GUI event
happens (mouse click on a particular button), just make it call a
business method function call.
The business method function call will therefore not contain any GUI
specific code, and is thus easily portable between OSs. This also
simplifies testing of the GUI, because the test software only has to
call the business method function calls, as the GUI itself is so thin
that you can test it simply by code inspection.
So, the business method source code can be in C or C++ or some other
widely known programming language, and the GUI for windows can be in
mono, the GUI for Linux can be in GTK or Java or whatever.

The point is that the GUI will then look good in every OS, with minimal
programming work for the different OSs. I.e. Only the thin GUI bit will
be different between OSs. As can be seen with the current dsp core used
in PowerSDR, multiple different GUIs have popped up for the different
OSs, with the DSP core code containing just the business logic being
easily portable between OSs.

James




More information about the Hpsdr mailing list