Ben's Custom Genealogy Software:
BenGen

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 to accept.

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 engine.

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 required.

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 Ged file format.2 until 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.

Functionality

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
    ...might appear.
  • 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 writing it!

If you would like to purchase BenGen3 to use on your own family genealogical projects, if you would like to purchase a CD-R4 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:

EMail: webmaster@blish.org


Notes

  1. 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.

  2. 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

  3. 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 condition. BenGen does not come with the Blish family dataset.

  4. 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.