[MacLoggerContest] Exchange entry methods

Jack Brindle jackbrindle at earthlink.net
Sun Feb 6 19:47:00 EST 2005


Jonathan and I have been having some rather interesting discussions 
about these topics for the last few weeks. First. let me thank Jonathan 
for kicking this off, and for Don hosting it. I think, and hope, that 
we will get some great ideas from these discussions.

As I told Jonathan, I have been working on a carbon-based contest 
logging program for two years now. It has a LOT of code that works 
rather nicely. After all this time, it is NOT ready for use in a live 
contest. I have learned quite a bit along the way, and plan to add more 
as I move forward. It would not keep me from picking up someone else's 
program (Don?) if it is better than mine. It has given me quite an 
appreciation for the things that the PC logging authors have done in 
order to get to where they are.

At this time I mostly use N1MM Logger for my contest logging.  The 
reason? It's free and does the job. My most recent use was in the NA 
Sprint SSB on Saturday. There were things it pointed out (again) to me 
that I don't like, and things I do. in fact, all of the PC/Windows 
programs have features that are very good for contesting. But they all 
have one things I really don't like - they are not meant for my 
platform of choice... ;-)

The most important area for the user in a contest program is exchange 
entry. As Jonathan has pointed out, there are two basic ways in current 
use.

> 1) The operator is faced with a logging line consisting of separate 
> dedicated fields...
> 2) The operator is faced with one single field into which he/she can 
> enter any of part of the contest QSO exchange...

Both have plusses and minuses, and some PC programs use either or both 
methods. The first method has a big problem that at all times you have 
to know what field you are in. Typing a name into a serial number field 
gives strange results. Almost all programs use character checking for 
field entry, so that alphabetic characters are not allowed into numeric 
fields. Still, typing a name into a number field can be done, and 
results in no change to the number field, along with frustration after 
the user discovers that s/he typed the characters for nothing, and now 
has to re-type them

The second is rather interesting, and very challenging to code. Trying 
to figure out what a piece of data is for requires some magic by the 
program and its author. Some are easy - the NCJ Sprint has only one 
numeric field which must be for a serial number. It also has two 
alphabetic fields, one for name and the other for 
state/province/country. It is possible that a name might actually look 
like a state, making it difficult to determine which is which. The ARRL 
Sweepstakes has two numeric fields - serial number and check. For 
serial numbers from 1-99, it is impossible to determine whether the 
numeric data is the serial number or check. PC authors have applied 
rather interesting logic to these areas, and we can learn from their 
efforts.

There may be other ways of doing this, however. Typing data "blindly" 
(maybe into a hidden field), having it interpreted, then transferring 
it into the appropriate fields might be very useful. But there may be 
other ways that simply have not been considered. Data entry using a 
tablet and MacOS X's character recognition might produce interesting 
results - as long as the tablet is not troubled with RFI. There may be 
other methods that are just waiting for innovation.

It should be noted that an area that is mentioned in another thread 
should also be considered here. Callsign dupe checking and "Super Check 
Partial" are very useful utilities that directly apply. Dupe checking 
is a must for contest programs. It must be VERY fast. Having to wait a 
considerable time for a database to complete an entry search is not 
acceptable. Unfortunately, some of the PC-based programs have this 
problem. It is very notable when your QSO count gets above 400 or 500 
QSOs and is very aggravating.

Super Check partial is something that should be included in any contest 
program at this point. It not only checks the callsign (and offers 
possible completions), but also can enter data into various fields. 
This data has been accumulated from past contests, and may be right or 
wrong for the current contest. It is very helpful, though, when you are 
trying to pull a station through QRM, or late in the contest when you 
have simply typed too many keystrokes. Note that it does not keep the 
operator from having to copy the entire exchange since the data shown 
might not be correct.

> -  for speed, the entry should be entirely keyboard based and no 
> mouse/pointing required
This is the cry of the PC user - but is it really valid? As an example, 
most ops keep one hand on the transceiver VFO knob in order to QSY for 
S&P. It seems that an alternative would be (and in practice, is) to use 
a Powermate for this purpose. Tapping the PowerMate could cause it to 
perform  some other function, like field movement or window selection. 
Again, this is a rule that came from a time when the PC had very few 
entry solutions. That no longer applies, and has never applied to our 
platform.

> -  again for speed reasons, as well as ease of thought, single 
> keystrokes should be used (i.e. no sets of key combinations to learn 
> for control functions).
In the PC World, extensive use of multi-keystroke entry is required. We 
may be saying the same thing differently here, however. Multi-keystroke 
entry should include command/option + key entries. There are just too 
few 'F' keys to support the contester's needs. I agree that entries 
that use two separate keys to be pressed in sequence is definitely not 
the way to go.

> -  for cases where corrections must be made - it must be easy to amend 
> the right field contents quickly
Yes! But getting to them quickly is not something that has been 
properly solved anywhere yet.

> -  for reliability and integrity, particularly realising that many 
> contest efforts are from field locations perhaps using generators, 
> QSOs should ideally be sent to disk after they are individually 
> committed, so that if power is lost for example, only 
> uncompleted/uncommitted QSOs might be lost when the system is 
> restarted.

Yes, but in what format? I had an especially aggravating time with N1MM 
Logger last November when the program crashed and refused to restart. 
The program uses Microsoft Access database to keep all information, 
relying on database functions to quickly find the info. Getting at the 
data is not easy, and pretty much requires the database. I was 
eventually able to figure out some sequence of actions to get things 
going again (it still crashed periodically after that due to a flaw in 
the database info). I learned a very important lesson here - do NOT use 
a database for data storage.

We may wish to discuss the QSO file format, leaving it open (even if 
the code is not). My own program uses a 128 byte binary format with 
both fixed and definable fields, depending on the contest. It is read 
and written very quickly, but because of its binary nature, I am no 
longer sure that it really is the way to go. For example it keeps the 
date and time in Unix binary format (number of seconds from Midnight, 
Jan 1, 1970). Easy for the Mac to use, but not easy for a human to 
read. Don has experience with this - what do you think?

> -  from a computing viewpoint, the application should be 
> multi-threaded in the sense that entering a QSO exchange should not 
> hold up other features happening in background or parallel (e.g. a cw 
> or voice keyer could be running while the operator is entering data 
> from the exchange that he/she has heard).

I wouldn't even consider this at present. How the program does its 
thing should be left to the author, unless a proposal for an 
open-source project is being made. The Mac inherently gives us the 
resources we need to keep various tasks out of each other's way. For 
now, we need to define what the program needs to do, what the user 
sees, and what it does in reaction to inputs.

Enough for my turn on the soapbox. Next...

Thanks again, Jonathan.

-Jack Brindle, W6FB, ex-WA4FIB
=======================================================================



More information about the MacLoggerContest mailing list