Modern Software Experience

2008-09-28

FamilyTreeFactory

version 6

FamilyTreeFactory is a German program for creating genealogical charts by dr ing Ekkehart H. v. Renesse. Version 6 was released in August. I just downloaded version 6.0.1.1 to give it a try.

license

FamilyTreeFactory is a commercial program, yet the download has no limitations. It offers all functions and does not expire. The only difference is that it displays the word DEMO in various places.

Although FamilyTreeFactory is a German program, prices are not provided in Euri, but in American dollars. There are three different licenses, one for personal use and two for professional use. The Pro L does not allow printing larger format than A2, the Pro XL license does. The price of the Private license is US$ 39.95.

languages

FamilyTreeFactory is available in Amglish and German. You cannot switch languages. You can download the Amglish variant from its Amglish web site and the German variant from the German web site. The website displays the Union Jack, but there is no English variant, so it should be displaying the Stars and Stripes instead.

system requirements

The requirements are documented in the manual only. FamilyTreeFactory requires Windows 98 or better.

download

The download page is one of those pages that you have scourge to find all the downloads you need. That is pretty annoying. don’t make me think, don’t give me an opportunity to get it wrong, just give me one download. You will probably want to download the setup and the PDF manual and all the extra files with graphic frame, box frame and box background images. Most files are zipped.

installation

The setup suggest an installation directory and lets change it. It displays a README file and creates a desktop icon.

incomplete

The installation program does not install the PDF file or the images. You must copy these into the program directory. The images unzip into subdirectories, and you should keep these subdirectories.

start-up

Program start-up is a bit slow. The program has a large menu and two rows of toolbar. Browsing through the menus, I got the impression that this isn’t a charting program, but a complete genealogy program - and it is.

When you just start up, most menu items are greyed out. There is an option to import a GEDCOM file, but you can also choose to create a new family file. FamilyTreeFactory will prompt for the details of the first program, and you can start typing away.

options

The program has various options. The one thing that strikes me about it is that all the major defaults are wrong. It does not just support the Imperial system in addition to the Metric System, which is fine, but it actually defaults to the imperial system, which is wrong. It supports various dates formats, defaults to antilogical format, and does not support ISO format.

There are quite a few options, but they are logically organised into tabs. I quite like the data privacy tab. You do not need to make a privatised GEDCOM for import by FamilyTreeFactory, you just choose appropriate privacy settings within FamilyTreeFactory and the trees it prints will be privatised. That’s a handy feature that Legacy Charting lacks, it relies on you privatising your GEDCOM first, either by excluding information or by including privacy indicators.

Unicode

Version 6 is a Unicode program, and it will not just import and export UTF-8, but UTF-16 as well. That is both UTF-16 Little Endian (as used on Windows) and UTF-16 Big Endian (as traditionally used on MacOS).

GEDCOM import

FamilyTreeFactory allows creation of a family file, but it is marketed as a charting program, so I quickly moved to importing a GEDCOM file.

The first time I select a GEDCOM for import, FamilyTreeFactory throws up a dialog box with the following text:

If you try now for the first time to open your own Gedcom file which you have exported from your genealogy program, then it can happen that errors appear. Do not give up, please! Choose other export options in your genealogy program and/or change the Gedcom import options of this program and try it once more. Use the manual, the help and the support forum on the web site. If it nevertheless does not work, please write an e-mail to info@familytreefactory.com.

This makes me wonder whether FamilyTreeFactory would refuse erroneous GEDCOM files. The use of lowercase for GEDCOM is not my edit error, but an authentic dialog box error.

character encoding

Before you can actually import the file, you need to answer a dialog box. I never like that, but I do like the particular box that FamilyTreeFactory shows. FamilyTreeFactory asks about the character encoding it should use for importing the file. Now, That’s wrong. It should just read the header and use the character set specified there. I don’t like FamilyTreeFactory doing this. What I do like about it is that has already selected the right character set and shows words from the file next to it.

In this particular case, it showed that it was going to import the 1 MB GEDCOM as Windows ANSI (Windows code page 1252), which is correct. One of the words shows was the name André. If I selected import as ANSEL or code page 437, it became Andr, and if I selected ode page 850 it became AndrÚ. This clearly shows ANSI to be right choice.

I have long held that smart GEDCOM import should do something like this. I am happy to see a program that actually does it. The problem I have with the implementation it that it should not do this by default. It should default to using the encoding in the header, and only provide this helpful selection interface when the user opts for interactive detection of the encoding. Once the import has started, the program should throw up any dialog box that pauses the import. What I do like about this FamilyTreeFactory dialog is that you simply hit the enter to ignore it, but should not show by default.

file name

Another issue with the GEDCOM import is that it does not let you specify a file name before importing. I want to see where my data is going, I want the ability to pick another drive or drive or directory.

import log file

not a true log file

The worst mistake of all concerns the import log file. FamilyTreeFactory has pretty good error checking, and creates a log file - but does not write it.
It should write the log file as the import progresses, but it does not. FamilyTreeFactory shows a weird converter dialog box when it is done importing. If anything, that dialog only confuses, but it seems to be the only place where you can save the log file. Thus, if the import were to fail, or if you decided to abort it because it took to long, you wouldn’t have a log file to find out what went wrong.


I looked for an option to save the log file automatically, but there seems to be no such option. I later discovered that if you turn both superfluous dialog boxes of, the program does save the log automatically (, which makes me wonder why it does not always do so - or, if it does so, why there is an option to save it. The issue remains that saving it automatically still isn’t the same as writing as the import progresses, and therefore still not right; if the import were to fail, or if you decided to abort it because it took to long, you wouldn’t have a log file to find out what went wrong So one thing is sure: the import log is not a true import log.

contents

The import log starts with a list of GEDCOM import options. I am no big fan of import options. like to think that there should be no options, that a GEDCOM import should just work, but the real world is not always like that. I do like the import log telling me what the import options were.

The formatting of this section could be improved. A few white lines and a bit of indentation would do wonders for its readability.

The log includes a summary with statistics and and times. I’d like to see that at the end of the file, but at least it is included. Many programs don’t write that information at all.
The reported import time is not correct, as it does not include writing the file.

FamilyTreeFactory sure performs a thorough check of the GEDCOM files it imports. It produces so many errors and warnings that it is almost GEDCOM validator. The messages do not list a line number, but they do list a record number, which is actually more practical.

FamilyTreeFactory produces error, warning and info messages, and generally categorises it messages correctly. Just browsing through the file, I noticed only one categorisation mistake: Only one slash '/' is in the NAME tag is an error message that FamilyTreeFactory categorises as a warning message.

There are way too many genealogy programs that mess up the order of partners or children when importing data, so it is nice to see a program that actually produces info messages such as Order of spouses fixed according to the marriage data and For the 1st partnership order of children fixed according to the dates of birth.

FamilyTreeFactory’s import includes an integrity check. It produces messages such as The date of marriage of the 1st partnership lies after the date of death.. Remarkably, these message are not categorised as errors, warnings or info messages.

GEDCOM import options

You should not need to examine the GEDCOM import options, but if you are importing from notoriously bad programs such as Family Tree Maker, you will want to take a look.

The plethora of options is quite impressive. There is an option to swap married and maiden names. It has options to support various formats of Swiss Civil Rights Municipalities (CRM). It supports multiple formats for married name, godparents, witnesses, contact date, etcetera.

FamilyTreeFactory actually supports several FTM specific import to deal with specific problems of FTM Classic (FTM) GEDCOM files and Anhenforscher 2000 (AF2000) GEDCOM files.

There is even a import pre-processor step; you can specify up to six search/replace strings. FamilyTreeFactory will do this replacements before continuing with its normal import.

If FamilyTreeFactory cannot import your file, it probably isn’t a GEDCOM file at all.

Some of its the programs’s mistakes can be corrected here. You can uncheck the character encoding selection dialog box. The real problem here is not the program’s capabilities, but its default settings.

An interesting option is the log level. FamilyTreeFactory has seven log levels. It defaults to level 5.

help file

FamilyTreeFactory’s unusual GEDCOM import gave me a few reasons to check the help file, and I was rather disappointed. Help buttons on dialog do not lead to explanations of the various options, but to brief and far too general text. Real explanation is missing. The help file also defaults to a rather small font.
Most dialogs are pretty clear, but there is no clear adscription of the seven log levels (there is one, but it is hurried and incomplete) and a search for log file turned up a few pages, but the search highlight does not work right (search for log file and it highlights file, without highlighting log), and those pages are about entire dialogs, not the log file.

file

Once the import was done, FamilyTreeFactory had not doesn’t ask for a filename, so I decided to choose File | Save Family File. When I do so, FamilyTreeFactory responds with a messagebox: Nothing was entered in the TreeView options, Imprint tab. Save anyway?. I have no idea why I would have to selected TreeView options or what Imprint tab that dialog box refers to, or why the save function starts whining about these. Surely a successful import is an successful import? My first reactions was to cancel the dialog, but there seems to be no other way to save the file. When you click okay despite the somewhat ominous messagebox, you get the File Save dialog

That File Save dialog defaults to the directory you imported from. That is wrong. The directory you import from might be read-only. FamilyTreeFactory should ask for a file name before letting me import data, and default to a data directory.

There seems to be no way to create an empty family file. If you choose to create a new file, FamilyTreeFactory pushes a dialog box for the first record into your face, and if you cancel that dialog, FamilyTreeFactory cancels the creation of the file.

It sounds unbelievable, but it seems that it is impossible to import a GEDCOM file into an empty family file. If it is possible, it sure is not obvious how. I tried doing the import tests into a file with a one record, but that does not work either. The ostensible import simply isn’t a real import; it does not import the GEDCOM into a family file, it merely import the GEDCOM into memory, and you then have to save it manually - and that save starts with changing to a writable directory. As a result of the broken import functionality, import times are several seconds longer than would have been if the program offered true GEDCOM import.

1 MB GEDCOM

The time I needed to click through all dialog boxes and get the file saved is about 25 seconds. I guess the import time would be about half that if the broken GEDCOM import handling were fixed.

An import time 25 second is not neither impressive nor underwhelming. It puts FamilyTreeFactory in between RootsMagic (pretty fast) and Family Tree Maker 16 (mediocre). So it seems to have reasonable performance, but import speed for small files does not mean much. It is the handling of large files that matters.

100k INDI GEDCOM

Importing the 100k INDI GEDCOM failed. FamilyTreeFactory did not any progress dialog box, but the Task Manager confirmed the program was busy; it was using about 50 % of the CPU and its memory usage shot up to almost 700 MB in just a minute. After about a minute and a half, the import failed. with a messagebox:: Conversion because of fatal data errors not successful (F14 101). Check the log and the Gedcom file.
Well, my guess would be that it somehow managed to run out of memory during the analysis phase.

no import log

It told me to check the log, but there was no import log. I checked several directories, but there just wasn’t one. FamilyTreeFactory did not write any log. This is exactly the kind of problem that I just mentioned. The program crashes and you cannot even check the log to see how far it got.

import log

Oh wait, there is an import log, but it is only written after I click okay. Perusing that file, I quickly discover that the GEDCOM import is not as good as it seemed so far. It has some rather arbitrary limitations:: Warning: More than 25 CHIL references. Supernumerary CHIL reference '1 CHIL @I36745@' not accepted. That limitation is wrong, but the last error message probably highlight what made FamilyTreeFactory abort the import: Family record @F7416@: Error: WIFE tag refers to Individual record @I16070@, which is missing the corresponding FAMS tag.

Almost every other program manages to import the data anyway, simply because this kind of error is easily handled by continuing as if the expected FAMS was there, but FamilyTreeFactory is right about that being an error.

PAF

It isn’t FamilyTreeFactory’s fault, it is PAF’s fault. I created a correct GEDCOM file by importing it into PAF, running the database check & repair, and exporting it again. I double-checked by importing the file into Behold. Even with 2 GB of RAM available, the latest version of Behold can still barely handle this file, after reading the file it is using about 1 GB of RAM, but it works. Behold has pretty thorough consistency checking, and it says the GEDCOM file is okay.

PAF says it is okay, Behold says it is okay, yet when I try to import the file into FamilyTreeFactory, it complains about a consistency error Individual record @I2369@: Error: FAMC tag refers to Family record @F262@, which is missing the corresponding CHIL tag, and then aborts the import.

GEDCOM

My initial thought was that PAF and Behold had missed something, but nothing I did could fix the apparent error. I finally decided to manually check the GEDCOM file, and found that it is fine; family record F262 does have a reference to individual 2369. FamilyTreeFactory’s error message is wrong.

FamilyTreeFactory

Here’s what I think happened. FamilyTreeFactory’s GEDCOM import has a 25-children limit, but family 262 has more children. FamilyTreeFactory issues warnings, but it should really be issuing limitation alert, because the next bit is inevitable; when it comes to the integrity checking phase, it discover that individual 2369 is a child of family 262, but family 262 has only 25 children, and individual 2369 isn’t among it, because FamilyTreeFactory threw that bit information away...

FamilyTreeFactory claims an error in the GEDCOM file, but the actual error is in the GEDCOM import itself. The practical upshot of this design mistake is that it cannot read the 100k INDI GEDCOM file. It cannot read my current research database either. When I tried that, it simply ran out of memory. Apparently, 2 GB isn’t enough for FamilyTreeFactory.

user interface

The program icon and the icons on the toolbar are ugly. They look like they were designed for Windows 3.0 and never updated again. It lacks finish, but that does not matter. What matters are the results and how easy it is to get there - and I worry about that. When I load the 1 MB GEDCOM, the Windows Task Manager shows FamilyTreeFactory to be using more than 200 MB already. That makes me doubt its ability to handle a medium sized file of say 25.000 individuals.

I decided to try a medium sized file, the VORST3.GED with lots of European royals. Importing (including saving) this GEDCOM file of 34.311 individuals in slightly less than 10 MB took just shy of three minutes. Windows Task Manager showed a memory use of about 350 MB - that is more than 35 times the size of the GEDCOM file.

slow

I exited FamilyTreeFactory, restarted it, opened the family file and ... loading it seemed to take forever without anything happening. I kept patient, and after about three minutes, FamilyTreeFactory was done loading. It announced that by displaying a messagebox with so much that the okay button was below the button of the screen. Once loaded, memory usage was almost 100 MB already. I then asked to show the descendants of the home person, Carolus the Great. Memory usage seemed to remain almost constant, but slowly crept towards 100 MB and then past it. FamilyTreeFactory kept displaying the Creating tree structure... message.

ratio exceeded

After some twenty (!) minutes, the program displays a new dialog box, which informed me that the width/height ratio of the graphic was exceeded. FamilyTreeFactory sets all boxes to be the same size, so just one box that needs a lot of space can make all boxes very width or tall. The problem is one long word. The dialog tells me the word is ;buitenechtelijkenakomelingen. That is Dutch, and it is actually two words, so I choose the option to Show the Box, the content of which set the WIDTH, to insert the missing space between the two words. The program needs another two minutes to redraw its window. Even when I resize the program to fill the screen, I still have no idea what I am looking at, so I decide to zoom out until I recognise boxes. I choose to edit the selected box and insert the missing space, to allow narrower boxes. FamilyTreeFactory redraws the screen, which takes about a quarter of minute, but the boxes do not seem narrower to me.

The boxes do still seem way to high, so I’d like to find the box That’s responsible for that. The dialog had a button to go to that box, but the menu does not not seem to duplicate that button, so the only way to get there is to redraw the tree. Sigh.

I decide to redraw the tree, hoping to get that button again. The dialog box reappears, and I choose Show the Box, the content of which sets the HEIGHT. FamilyTreeFactory takes about a quarter minute to draw the tree. The selected box is one with lots of notes. I could remove those notes, but a better solution would be to turn of display of notes. The TreeView Options... menu item that brings up that option dialog box is not on the TreeView menu, but on the Tools menu. That dialog box offers many options. As soon as I remove the notes from display, the tree redraws and no longer displays the notes, but the box sizes do not change. I decided to recreate the tree, and the box sizes are reasonable now.

To display the entire tree, I would need to zoom out much farther than FamilyTreeFactory allows, and I wouldn’t see a thing. The status bar tells me that the tree shows 42.618 boxes for a file with 34.311 individuals, so there is quite some duplication in this tree. It also tells me that a printed version would be more than 3½ meter high and 607 meters wide - more than half a kilometre!
Legacy Family Tree still shows sizes in Imperial units only, but a quick calculation confirms that Legacy would need more than half a kilometre too. This is not FamilyTreeFactory’s fault, this is just how big a traditional descendants chart is.

claims

The website claims that The program FamilyTreeFactory is the most efficient tool to create high-quality representative graphics.. That may have been true in the past, and there clearly are way more options than I have explored yet, but this program cannot handle large files, and is way too slow with medium sized files.

conclusion

user interface

The user interface needs work, and I do not mean just the icons. Many defaults are plain wrong and its awkward dialog box logic is confusing at best The program does not welcome you with a few simple and clear dialog boxes, but deters you with a barrage of dialog and messageboxes full of cryptic messages. The program is available in Amglish but not in English.

GEDCOM import

The GEDCOM import is extremely flexible, and seems reasonable fast, and has detailed error reporting. Problems are that it does not write a real log file, consumes memory like crazy, and trips over its own arbitrary built-in limitations. These are deal-breaking issues, that literally make it impossible to use the program, but I’d love to try this GEDCOM import again once these problems have been fixed.

Legacy Charting

Legacy Charting loads faster, display faster, scrolls faster, is easy to use and handles large files with ease. FamilyTreeFactory is a capable program, but it has been surpassed in many important ways.
There are reasons to use FamilyTreeFactory. It supports Unicode, and Legacy Charting does not not. It writes a log file, Legacy Charting does not.

FamilyTreeFactory

FamilyTreeFactory is marketed as charting program, but is actually a full-featured genealogy program. There are a few serious problems with its GEDCOM import, but its GEDCOM support is still its best feature. FamilyTreeFactory creates an extremely thorough and detailed import log. Its GEDCOM import is very flexible too, and its output is almost as flexible. It makes FamilyTreeFactory a great GEDCOM converter for small to medium sized databases.

GEDCOM import

file1 MB GEDCOM100k INDI GEDCOM
time25s-
time in seconds25 -
INDI per second194,48 -
bytes per second42.235,80 -

product details

propertyvalue
productFamilyTreeFactory
version6.0.1.1
organisationdr ing Ekkehart H. v. Renesse
websiteFamilyTreeFactory
priceUS$ 39.95 (approx € 27.50)
requirementWindows 98 or better
noteflexible GEDCOM import
VerdictSlow, limited, memory hungry, awkward interface
RatingGEDCOM converter

links

FamilyTreeFactory

special GEDCOM handling

also mentioned