[EM] Metadata in ABIF (Re: Ballot Data Format)

Rob Lanphier roblan at gmail.com
Sun Jun 13 18:59:48 PDT 2021

Hi Richard,

Thanks for weighing in on this thread, and more inline below:

On Sun, Jun 6, 2021 at 5:20 PM VoteFair <electionmethods at votefair.org> wrote:
> I agree with Neal that the word "image" should not be part of the ABIF name.
> I suggest that ABIF can stand for:
> "Aggregated Ballot Information Format"

That's what we're calling it now!  See:

...which is now "closed" (and represents the first closed issue in our
little GitHub repo)

> (And perhaps another appropriate "A" word can be used instead of
> "aggregated," if needed.)

I still like "aggregated", but "A" is a versatile letter.  We'll be
able to bacronym all sorts of words into the ABIF abbreviation.  I'm
starting to like "Aggravated" already.  :-D  Also, do you like how I
verbed the word "bacronym"?  Englishing is fun!!

> I also suggest adding a case number.
> A case number allows the ballot data to be processed through separate
> vote-counting software while the metadata -- such as precinct number,
> political-party affiliations, etc. -- can follow a different path and be
> re-joined to produce the published results.

I didn't realize what you were talking about at first by "case
number", but are you suggesting "case" as in "a case of ballots",
which can be stacked on a pallet to create a "pallet of ballots", and
then moved around a "warehouse of ballots"?

I've been referring to each line in an ABIF file that starts with the
quantity field as a "bundle of ballots".  Something tells me that
English is becoming an obstacle to understanding in this conversation

Regardless, we need to come up with a standard way of embedding
metadata into ABIF files (like some of the extended data that you need
that most ABIF users won't need at first).  I've filed an issue in the
ABIF issue tracker to discuss this further:

> In particular, my vote-counting software focuses on the numbers/counts,
> and I use different software (written in my Dashrep programming
> language) to process the text info.

Oh, interesting!  I wonder if we should have an optional metadata line
at the top of an ABIF file that would work look something like this:

@ABIF - {"SerialNumber" : 001}

The rules for parsing the second line and beyond could be different
than the first line.  This seems to be something we should consider.

Anyway, thanks for weighing in on this!  Let's keep discussing this
over in the issue tracker for this project

p.s. I've been getting an ABIF test suite stubbed out, and I'm
starting to flesh out a few Python-based tests (in pytest) for a
ballot-counting script.

More information about the Election-Methods mailing list