Modern Software Experience

2012-05-03

Quick Look at Major Improvements

My Family Tree

My Family Tree is a free genealogy application for Windows by Chronoplex software. My Family Tree 1.0 was released on 2011 Mar 2, and it wasn't very original or noteworthy. However, Chronoplex Software just released My Family Tree 2.0.0.0 and several changes caught my attention.

Chronoplex My Family Tree 2.0 64-bit setup

My Family Tree

64-bit Microsoft .NET

Chronoplex Software offers a 64-bit edition of My Family Tree 2.0. It is more than a year ago that I publicly wondered Where is my 64-bit Windows Genealogy Software?, and finally, one vendor delivers. Well, not really.
Chronoplex My Family Tree 2.0 is a genealogy application for Windows, but it isn't an native Windows application, it is a Microsoft .NET application. It requires the Microsoft .NET runtime version 4.0 or later. The 64-bit release of My Family Tree 2.0 isn't a 64-bit Windows application, but a 64-bit Microsoft .NET application.
The race for the first 64-bit Windows application is still on, and I do expect it to be released this year.

On a 64-bit Windows system, the 32-bit and the 64-edition have separate installation folders. The default folder for the 64-bit release is C:\Program Files\My Family Tree\, and the default folder for 32-bit release is C:\Program Files (x86)\My Family Tree\.
I installed the 64-bit release first and then tried to install the 32-bit release, but was presented with a message box that told me I could not do so: Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.. I thought that this might be because My Family Tree 1.x was still installed, but upon inspection, I discovered that the update to My Family Tree 2.0 had removed the installation of My Family Tree 1.x 32-bit. Chronoplex does not want to install both the 32-bit and 64-bit edition on the same system.

GEDCOM import and export

This is the change log for My Family Tree 2.0:

  • Performance and memory improvements.
  • Added new GEDCOM import/export dialogs with advanced options.
  • Added support for (encoding) and decoding GEDCOM BLOB objects.
  • Added GEDCOM validator tool.
  • Added option to export GEDCOM files in different valid encodings [UNICODE, UTF-8 (GEDCOM 5.5.1 only), ASCII, ANSEL].
  • Added automatic detection of all valid GEDCOM encoding types.
  • Added male/female diagram filter option.
  • Added double click import for GEDCOM files.
  • Improved diagram options.
  • Reduced executable size.
  • Added tree numbers.
  • Added new printing options and print preview.

Quite a few of the version 2.0 improvements concern GEDCOM support.

My Family Tree version 1.0 supported UTF-8 GEDCOM only. That was a good choice: if you are creating a new genealogy application, and version 1.0 is going to support just one GEDCOM encoding, UTF-8 should be it. Still, GEDCOM allows multiple encodings, and applications should be able to read all GEDCOM files. Version 2 supports ASCII, ANSEL, and Unicode, both UTF-8 and UTF-16 (UNICODE).

I prefer humble applications. You know, applications that do what they are told to do. The occassional Are you sure? is fine. Choosing to do something different is not.

GEDCOM import

The GEDCOM import and export dialog have been improved. It used to be plain vanilla file open and file save dialog boxes. Now, as soon as you've selected a file, the import dialog box will show basic information from the file header, namely the character encoding, GEDCOM version and GEDCOM creator.

Although genealogy applications should not create GEDCOM files using any but the legal encodings, practically still demands that they should be able to read files using illegal encodings, in particular ANSI GEDCOM files. My Family Tree 2.0 will read ANSI GEDCOM files, and in fact many other encodings, and allows you to override the encoding used by checking Use custom encoding, and choosing any encoding from a huge list of encodings. That impressive looking list of encoding is fairly easy for My Family Tree to provide, because most of them are built into Microsoft .NET.

Chronoplex My Family Tree 2.0 GEDCOM Import dialog

A problem I found is that My Family Tree not only gets the encoding from the header and lets you override, but also tries to detect the encoding and then assumes it got it right
For example, when I presented a UTF-8 GEDCOM without a Byte Order Mark, My Family Tree 2.0 detected that it is a UTF-8 encoded file, but reported UTF-8 (analysis detects ANSEL), and then, while the GEDCOM header had informed that it is an UTF-8 file, and the use custom encoding option was unchecked, still proceeded to import it as if it was an ANSEL encoded file. That is rather arrogant.
I prefer humble applications. You know, applications that do what they are told to do. The occasional Are you sure? is fine. Choosing to do something different is not.
The way My Family Tree Tree 2.0 works, many perfectly fine GEDCOM files that My Family Tree 2.0 is perfectly capable of importing correctly, will end up mangled anyway.

Turns out that, the way My Family Tree version 2.0 works, the override option is not there to override the encoding of the GEDCOM file you are importing, but to override the insolence of My Family Tree itself.
The E (analysis detects A) message is your cue to put your foot down by checking the use custom encoding option, and choosing E.

The GEDCOM import assumes that the imported GEDCOM uses the CONT and CONC tags correctly, but that is not always the case. Ancestry.com's Family Tree Maker is infamous for messing this up. Louis Kessler's Behold knows that and automatically corrects for it. My Family Tree does not go that far, but does provide the Fix CONT tag spacing option.
The final import option, Maximum living age hints at basic consistency checks, but the default maximum of just 80 years is surprisingly low. Perhaps the programmer who entered that default was thinking of average lifespan instead of a maximum age?

torture test

My Family Tree's main interface is graphical. Graphical interfaces tend to be memory-hungry, and Microsoft .NET applications tend to be memory hungry too, so the combination isn't a particularly efficient one, but this is a 64-bit application, and my current system has 12 GB of RAM, so I don't expect memory consumption to be an issue soon.
Still, I was curious how well I wondered how well it would handle an excessive case, and asked My Family Tree 2.0 to import Siblings1200.ged, the latest torture test. My Family Tree 2.0 became not responding for a few seconds, and then displayed the resulting three just fine. However, performance was horrible. With just 2402 people in the tree, I still had to wait several seconds for My Family Tree to navigate from one individual to another. Thus, My Family Tree failed this torture test.

Chronoplex My Family Tree 2.0 GEDCOM Export: bad defaults

GEDCOM export

My Family Tree 1.0 exports an UTF-8 GEDCOM file without asking any questions. My Family Tree 2.0 provides several export options.

My Family Tree 1.0 export a UTF-8 GEDCOM files. That sounds great, but My Family Tree 1.0 does not just export an UTF-8 GEDCOM file, it exports an UTF-8 GEDCOM 5.5 file, which is illegal. The UTF-8 encoding was only introduced in GEDCOM 5.5.1, GEDCOM 5.5 does not support it.
My Family Tree 2.0 no longer makes that mistake. You can choose to export to either GEDCOM 5.5 or GEDCOM 5.5.1, and the option to use the UTF-8 encoding is only available for GEDCOM 5.5.1. So far, so good, but the awful defaults mess it up. My Family Tree 2.0 should default to GEDCOM 5.5.1 and UTF-8, it actually defaults to GEDCOM 5.5 and UNICODE (UTF-16). Now, it is nice that My Family Tree supports UTF-16, but it is not a practical export default, and foregoing the extra tags that GEDCOM provides 5.5.1 isn't a smart choice either.

To make matters worse, the initial impression that this dialog box creates is that My Family Tree 2.0 doesn't support UTF-8 export. If you simply tab to the Encoding drop-down box, you'll see only three choices: Unicode (UTF-16, or as FamilySearch calls it, UNICODE), ASCII and ANSEL. There is no UTF-8 choice. It is not greyed out, as it could have been if the dialog box had used radio buttons, it is simply not there. It thus seems like My Family Tree 2.0 does not support UTF-8 export.
Truth is, it does, but Chronoplex has improved their GEDCOM support considerably, and quite correctly only supports UTF-8 for GEDCOM 5.5.1. The Encoding drop-down box will allow you to choose UTF-8, but only if you first select GEDCOM 5.5.1 from the GEDCOM version drop-down box.

GEDCOM validator

My Family Tree 2.0 comes with a GEDCOM validator. That's remarkable.
I am not going to suggest that every genealogy application vendor should include a GEDCOM validator, but doing so strongly communicates that they are serious about getting their GEDCOM support right.

The odd thing is that the GEDCOM validator is only reachable from within My Family Tree. That would make sense if GEDCOM validator were something that related to the current database, but it does not. If the import failed because of an invalid GEDCOM, there is no current database, and if he import succeeded, then there's little point in reporting GEDCOM errors any more. The Tools | GEDCOM Validator option brings up a dialog box that lets you choose a GEDCOM file to validate.
The GEDCOM validator does not relate to the current database at all, and should not be a My Family Tree menu item, but a separate utility.

summary

My Family Tree 2.0 is a considerable improvement over My Family Tree 1.0. Chronoplex added a large icon in version 1.0.6.0, but for release 2.0 they did a lot more than fix a few small things. Chronoplex put a serious amount of effort into 2.0 and got a lot things right, but also managed to seriously mess things up.
Excellent character encoding support is undone by an arrogant GEDCOM import, and the worst possible defaults for GEDCOM export.
With a small file such as the Siblings1200.ged torture test, GEDCOM import speed is fine, but something as simple as navigation from one individual to another is already too slow, and that's the reason My Family Tree 2.0 failed the Sibling Torture Test. My Family Tree 2.0 includes a GEDCOM validator as a My Family Tree menu item and that just doesn't make sense; the GEDCOM validator should be a separate utility.
Chronoplex's latest version of My Family Tree is not perfect, but if they keep improving it at this speed it is going to be some serious competition.

updates

2012-08-30: Chronoplex GEDCOM Validator

Chronoplex just released My Family Tree 2.0.2.0, and the Chronoplex GEDCOM Validator is a separate utility now.

links