Ben's Custom Genealogy Software:
A little history, a little rationalization
I have two goals here. The first is to place the Blish family genealogical
information into a computer database in such a manner that it can be
manipulated in any way I think may be useful. The second is to enable a
modern output presentation useful to Blishes. In other words, web pages.
I looked around for a while before embarking on my genealogical
software project. I looked into commercial programs, and some
of the shareware ones as well. None of the ones I saw really did what I
wanted, and in many cases, where some of what I wanted was
actually "in there", it wasn't done the way
I wanted it done. Particularly with regard to HTML output for
use on the web and in LAN environments. In most cases, there were
limitations on the actual family data as well, limitations I wasn't willing
The genealogy on the www.blish.org site was
created using my software, BenGen. So far, I consider this a very
early version, but you can see some of the kinds of things I wanted to do.
One obvious advantage of "rolling your own" is that you
can change it, any time, any way you're capable of. As I've been
writing software continuously since 1976, I have garnered a skill or two
in this area and so this is a significant issue from my point of
view. I wasn't thinking only of myself, though, as both the quality
of the output and the general usability of the software were key
points since day one.
Choice of Platform
In order to keep things as flexible as possible for me, I
decided to start with a known platform, and I chose Microsoft's Access 97
(from Office 97 Professional) running under Windows 98 or NT as the database
I am using Microsoft's "Explorer 5" as the target HTML display
engine. I have also been continuously testing with Netscape's
"Communicator", and the newest Windows browser, Opera. Thus far I have been able to keep the output
compatible with these other very popular HTML browsers, although Communicator
has some severe problems1
handling tables correctly that require some coding
"backflips" to work around.
Access 97 handles the database functions (beautifully!), and everything
else (such as HTML page generation) I wrote from scratch using Access's Visual
Basic scripting facilities. The way it works is to enter data into some forms in
Access until you've completed a useful set of entries, and then punch the
"Generate" button. Then it spews out a zillion HTML pages, updated as
For the base storage medium, I am using the Access native database
format. This is an extremely high-performance dataset representation,
allowing ultimate flexibility with regard to changes and updates, and
supporting very high speed processing. I do not plan to support the
much later in the project.
More on the fun stuff
Anyway... I did not just want the web page output (HTML) to have a
bunch of links, and I wanted it to be at least marginally interesting to look
at, something that most of the applications seem to miss the boat on. I mean,
come on... a genealogy is something you spend hours poking around in,
so shouldn't it at least be somewhat pleasing in form and function? If it
isn't, wouldn't it be fair to compare it to an uncomfortable bed or chair? I
thought so, and as a result... here it is.
So, what can BenGen Do? Here's a short list:
- Record all manner of relationships, including same-sex, clones,
adoptees, androids and Ai's, if and when.
- Hyperlink everything, every which way.
- Generate interesting web pages, upon which...
- personal individually switchable immediate family trees, and
- personal individually switchable historical timelines, and
- important points in general history, and
- parents, and
- offspring, and
- marriages, and
- alternate spellings for surnames, and
- alternate spellings for maiden names, and
- images, and
- free-form additional HTML "includes", and
- attributions/references, and
- interesting data that can be calculated from records
- Completely customizable for any family or families
- Handles very large numbers of records
- Generates huge numbers of HTML pages quickly
- Generates various useful indexes to the pages
- Offers significant ease of use for a true database
- Offers considerable flexibility
There, in a nutshell, is what I was out to create. Keeping in
mind that this is an early version, you can be the judge of the
results. All I know is I'm having a heck of a lot of fun
If you would like to purchase
to use on your own family
genealogical projects, if you would like to purchase a
with the Blish output pages arranged for offline browsing, or you simply
have some comments you want to make about the output, or a question about
the capabilities, you can reach me here:
Netscape's Communicator browser fails to correctly obey the following
table cell tag pair, in that it will not render the specified cell
backdrop color when there is no content (text or image) within the cell:
<td width=NN bgcolor="#RRGGBB"></td>
This is not correct HTML rendering behavior. In contrast,
Microsoft's Explorer does render the cell correctly.
For this reason, when BenGen creates table cells that
should be empty, it places an otherwise useless 1x1 transparent
GIF image "placeholder" in them. This causes Communicator to
render the cell properly, and the cell still appears to be empty.
BenGen uses the same placeholder image in all cases, so the
browsers should "cache" the image and display the pages
quickly despite the many placeholder images present in some tables.
Table HTML code size is considerably increased by this technique; if I
learn of another approach that will achieve the same results and uses
less HTML code and resources, I'll modify the table generator.
In the meantime, as this workaround does not affect Explorer's ability
to render the cell correctly and is "correct" HTML in and of
itself, this behavior will remain as part of the design indefinitely.
I have looked very carefully at the Ged file format, and I have to
tell you I was nothing less than appalled. Just sickened. All the more so
because it it is clear that this is a de-facto standard.
I have thought about the issue of Ged format support, and have
decided against it for the moment. This is because the format is
extremely limited and dated, and I am not willing to restrict the
functionality of my software to the crippled datasets that Ged
allows you to define. I may come back to this later and allow saving
and loading of limited datasets that are compatible strictly as a
secondary database format.
The following are some of the miserable problems with the
Ged file format:
- Ged only supports a maximum record size of 32k bytes
(some records in the Blish genealogy are over 40k, so this is
a significant problem)
- Ged requires data lines to be 255 characters or less
- Ged cannot handle pointers to nonexistent records
- Ged is limited to 99 levels of subordinate data
- Ged TAGS are limited to 31 characters, and only 15 count
Please keep in mind that BenGen requires Microsoft
Access 97 or later. Access 97 is part of the Office 97 program suite. It will not
work with earlier versions of Access, such as the version in the
Office 95 suite. You must own a legal copy of the correct version of
Access. The price for BenGen itself has not been set at this
time and will not be set until I consider the software in a salable
BenGen does not come with the Blish family dataset.
I make available for purchase a CD-R (a CD-ROM) which has the complete set
of web pages on it, suitable for high-speed offline browsing, for $50.00.
This CD-ROM has the most recent sets of pages on it at the time it is
sent to you.