[aprssig] Symbol set revisions

Heikki Hannikainen hessu at hes.iki.fi
Thu Apr 17 15:40:09 EDT 2008

   Hi Bob,

On Thu, 17 Apr 2008, Robert Bruninga wrote:

>> This requires two technical things:
>> 1) A machine-readable configuration file,
> Unfortunately, this will be application specific, since all
> existing applications did it differently.

   I would still like to argue, that if the published symbol specification 
would be in a machine-readable format instead of a free-form text file, it 
would be possible:

   1) for people implementing *new* applications to make their new 
applications read this new format, so that the symbols could be easily 
updated in those applications

   2) for people maintaining current applications to update their 
applications to read this new format

   3) for other people to write little conversion scripts to convert this 
new format to the formats used by existing, unmaintained applications

   The reason each application currently has a different symbol 
configuration and image format is that they had no other option but to 
come up with one. It doesn't necessarily have to be like this in the 
future. If there would be a standard format, I'm sure people would be 
happy to use it, and this problem would slowly go away for good.

   If any significant effort is put into revising the symbol set, it would 
be very useful if the produced new specification would be published in a 
machine-readable format together with the symbol images. If it's easy and 
straightforward to parse, it is more likely to become commonly used in a 
short timeframe.

   Here's my suggestion how it could look like:

- A single ZIP file containing both the specification file + the symbol 
images in a directory tree. The specification file has a fixed name, say, 
symbols.cfg (or whatever, as long as it's the same every time).

   The specification file could be a CSV file, listing the symbol table and 
character, a length-limited short name for the symbol, a longer 
description for those symbols with a non-obvious short name, flags telling 
whether this image is overlayable and rotatable, and the name of the 
symbol image file. Something like this:

"/,"!","Police Stn","Police station",0,0,"symbols\pri\033.png"
"/","""","No Symbol","No Symbol",0,0,"symbols\pri\034.png"
... more primary symbols ...
"\","!",Emergency,A place of emergency,1,0,"symbols\alt\033.png"
"\","""",No Symbol,No Symbol,1,0,"symbols\alt\034.png"

Note how a " character is represented as two "'s in a "-delimited string. 
You could edit this in your favourite spreadsheet (excel, openoffice) if 
you like, and it'd be pretty easy to write your application to parse this.

Then, the files referenced by the .cfg file in the same ZIP file. The file 
paths and names could change from ZIP revision to another, as long as the 
.cfg file points each symbol code to the correct symbol image:


   If the new symbol set would be published in this kind of format, it 
would take me just one evening to write code to import the new symbols to 
aprs.fi. The next time the symbol set would be updated, it would take just 
a couple minutes to update. It would also take me just one good evening to 
write code to convert this to ui-view's format, and probably the effort 
for xastir wouldn't be much harder.

   If the new symbol set is published in the current format, it'll take 
more than one evening to update to it to aprs.fi. It'll take, again, more 
than one evening the next time it is revised. I feel it's time wasted, 
since it *could* be automated with a little coordination, and the time 
could be spent building something new.

   CSV is very simple to edit by non-technical people (using spreadsheet 
applications), and quite easy to produce by hand. XML would be better, 
more cleanly extendable, and easier to validate, but maybe it'd be too 
advanced to be accepted right now. :)

> I am so glad to hear that you are considering displaying the
> ROTATABLE symbols from the original APRS.

   Actually, I'm not considering it, it's been there since January. 8)

   - Hessu, OH7LZB

More information about the aprssig mailing list