Modern Software Experience

2016-02-28

Family Tree Builder icon

Family Tree Builder Classic 7.0 versus New Family Tree Builder 1.0

no new features

A few weeks ago, MyHeritage introduced Family Tree Builder 8.0 (see Family Tree Builder 8.0; Quick First Look).
In a belated announcement on the MyHeritage blog, MyHeritage indirectly admits that Family Tree Builder 8.0 has no new features at all, and then immediately continues to explain what is new about it. Family Tree Builder 8.0 may looks and feel the same as Family Tree Builder 7.0 on the outside, but there is a significant change on the inside.

Family Tree Builder 8.0 may looks and feel the same as Family Tree Builder 7.0 on the outside, but there is a significant change on the inside.

rewrite

MyHeritage decided to rewrite Family Tree Builder.
Doing so after seven major releases isn't a bad idea, but never mind the version number, as what one vendor calls a major upgrade, another one calls a minor upgrade.

Consider the simple fact that Family Tree Builder 1.0 was released back in 2005, more than a decade ago. Throughout that decade, Family Tree Builder was not only updated to support MyHeritage web site changes, but also updated with new features that it was never designed to support.
In fact, like many one-dot-zero genealogy programs, Family Tree Builder could hardly be called designed at all. Anyway, continual changes, on top of a mismatch between a simple design and the advanced features it must support, take their toll; over time, software tends to become so convoluted, that the best way forward is to redesign and rebuild it - and that is what MyHeritage has done.

New version 8.0 has all of the features that you know and love, with a totally rewritten internal infrastructure that adds support for very large family trees (up to 500,000 individuals), and delivers faster performance.

Version 8.0 looks very similar to the previously-released version 7.0, but with a brand new engine under the hood. For a period of two years, we have worked hard to build a new framework for the software, designed to provide the best performance and experience for our users, and to support enhancements in the future.

New Family Tree Builder 1.0

So, in some sense Family Tree Builder 8.0 is is really New Family Tree Builder 1.0. One-dot-zero releases have a bad rep, not undeservedly so, and many genealogists are painfully aware that Ancestry.com's rebuild of Family Tree Maker Classic as New Family Tree Maker was a disaster. On top of that, early versions of Family Tree Builder were scarily defective. So you may be forgiven for thinking that, if the features are the same anyway, you'd be better of sticking with Family Tree Builder 7.0 than switching to version 8.0. However, you'd be wrong.

7.0 versus 8.0

It is because of a security leak that we know that MyHeritage only started doing real, automated regression testing after the release of version 2.0, and it is because the product seems improved with every release that we know they take testing seriously.
Family Tree Builder 1.0 was created by a enthusiastic but inexperienced programmer who hardly knew what he was doing, and the result was pretty awful. Family Tree Builder 8.0 was created by a professional development team, that not only brought their knowledge and experience to the redesign and rebuild, but also relied on the many regressions tests they created over the years to ensure the program works as intended, and keep known issues from resurfacing.
There are likely to be a few defects that are attributable to the fact that version 8.0 is a rewrite, but if I had to choose between Family Tree Builder version 7.0 and 8.0, I'd choose version 8.0, and not just because 7.0 is software so convoluted that MyHeritage themselves decided it needed replacing.

MyHeritage Family Tree Builder version 1 through 7 do not store your data in a database, but in a zipped text file.

zipped text file

The design of Family Tree Builder 1 through 7 is fundamentally flawed. Family Tree Builder 1 through 6 store your data in a project file with file extension *.zed. Family Tree Builder 7 uses Unicode, and the *.uzed file extension.
The MyHeritage Family Tree Builder 2.0 review revealed that the *.zed file is a zip file, which contains a a single text file. That text file uses something that is so much like but also so much unlike GEDCOM, that I hesitate to call it a GEDCOM dialect, and prefer to call it a proprietary variation on GEDCOM. By the way, Family Tree Builder's actual GEDCOM dialect, i.e. the GEDCOM files that Family Tree Builder exports, are not identical to that text file.
Anyway, MyHeritage Family Tree Builder version 1 through 7 do not store your data in a database, but in a zipped text file.

Using GEDCOM as a database format is a fundamentally flawed design. GEDCOM is a data transfer format, not a database format.

fundamentally flawed

Using GEDCOM as a database format is a fundamentally flawed design. GEDCOM is a data transfer format, not a database format.
However well suited GEDCOM may or may not be for export and import of data, it is emphatically not suited for use as a random-access database. It cannot match the performance of features of a real database system. While a real database system lets you update a single record without touching other records, to update a GEDCOM file you have to rewrite the entire file. That not only impacts speed and memory usage, its also impacts usability, and not only because saving your edits is painfully slow. While real database applications automatically update the databases as you edit the records, programs that use a large text file instead typically require you to explicitly choose to save your database, and you will lose your edits if you forget to do so, or when it crashes.

There are several other genealogy program that contain this fundamental design flaw. Verwandt's It’s Our Tree Home Edition (IOTHE), actually an anorexic edition of Ahnenblatt, was discontinued when MyHeritage bought Verwandt.
Calico Pie's Family Historian is probably the best known software that still uses GEDCOM as a database format. Another product with this design flaw is MagiKey Family Tree. When I looked at Family Historian 3.1.2 (in 2008), it proved remarkably stable and able to handle files that make many other applications crash, but MagiKey 2.0 proved painfully crash-prone - even crashing upon opening its own database files! Both programs expect you to choose Save from a menu before they'll save your edits.

Family Tree Builder 8.0 finally addresses the root cause of these issues, by switching to a real database system.

issues

Early versions of Family Tree Builder suffered from various issues, including slow operations, excessive memory usage, and even messed up databases, that all have the ill-considered use of a flat text file as a database as their root cause. The use of zipped text file instead of a text file, a weak attempt to hide the fact that FTB uses a text file, only made things worse, as the zipping and unzipping operations both require additional time and memory.
Later versions improved stability and reliability, but FTB remained relatively slow and memory-hungry.
Family Tree Builder 8.0 finally addresses the root cause of these issues, by switching to a real database system.

new: *.ftb files

Family Tree Builder 1 through 7 store your data in a zipped text file. Family Tree Builder 8.0 stores your data in a *.ftb file.
Family Tree Builder 8.0 will import *.zed and *.uzed files, older versions of Family Tree Builder will not import *.ftb files.
When importing an old project, Family Tree Builder 8.0 will create a new *.ftb, and leave the *.zed or *.uzed file around, just in case.

Family Tree Builder 8.0 now uses SQLite, the same database system that RootsMagic uses. SQLite Logo

SQLite

MyHeritage's blog post about Family Tree Builder 8.0 does not tell you that, but Family Tree Builder 8.0 now uses SQLite, and that is the same database engine as RootsMagic uses.

It is Tom Holden who discovered this. He noticed that Family Tree Builder does not only use file extension *.ftb, but additionally uses the file extensions *.ftb-shm and *.ftb-wal - and that gives it away.
Write-Ahead Logging (WAL) is a SQLite feature introduced in version 3.7.0 (2010), that uses files with -shm and -wal appended to their name. A quick look inside the FTB file with an SQLite tool confirmed his suspicion.

Family Tree Builder 7.0 always has to read and write the entire text file (and zip/unzip them too), and always keeps your entire database in memory. Family Tree Builder 8.0 uses a real database system, that reads and write records within the database, and need only load what it needs when it needs it.

The practical upshot of this major change should be a stabler, more reliable, faster program, that needs less memory, and does away with the Save menu item because it always saves all your edits in real time - and all that is exactly what the MyHeritage blog post claims.

So, according to MyHeritage, Family Tree Builder 7.0 can handle trees up to 100.000 individuals, while Family Tree Builder 8.0 can handle trees up to 500.000 individuals.

capacity

According to MyHeritage's blog post, The new version is much faster and more responsive: trees of up to hundreds of thousands of individuals are now supported, and they load very fast..

The first paragraph of MyHeritage's blog post states that Family Tree Builder 8.0 can handle databases up to 500.000 individuals now. A previous blog post, dated 2015 Dec 11, remarked about Family Tree Builder version 7.0 that you can use it to build a tree of up to 100,000 individuals on your computer. This is not an imposed size limit, but rather a technical limitation, but if you have a larger tree, you can use our new version that's in beta..

So, according to MyHeritage, Family Tree Builder 7.0 can handle trees up to 100.000 individuals, while Family Tree Builder 8.0 can handle trees up to 500.000 individuals. These are suspiciously round numbers, so what they are talking about here aren't hard-coded limits, but indications, and your kilometrage may vary.
By the way, now that the new versions uses SQLite, it should really be able to handle millions of records, so MyHeritage's claim seems uncharacteristically modest. Anyway, let's test their claim.

fan files

To compare Family Tree Builder 7.0 and Family Tree Builder 8.0, I used the fan files, as produced by GedFan version 0.4.0.0. The fan files were designed to test genealogy application capacity. Capacity is expressed as the fan value of the product under test, but this time, I am not using the fan files to determine the fan value. We already know the fan value of Family Tree Builder 8.0; Family Tree Builder 8.0 does not create valid GEDCOM files, therefore it's fan value is zero.
Here, I am using the fan files to compare the performance of Family Tree Builder 7.0 and Family Tree Builder 8.0. If you like, you can download GedFan to create the fan files and perform these tests yourself, on your system. Your test results will be differently, but very similar.

The installer for Family Tree Builder 8 insists on overwriting your Family Tree Builder 7 installation and vice versa.

testing

GedFan 0.4.0.0 support several output languages, I used English, the default language. I also disabled Family Tree Builder's syncing; I changed the email address Family Tree Builder remembers through RegEdit, preventing automatic login and sync by rendering my login credentials invalid, and terminated Family Tree Sync by choosing Exit from its menu. The Family Tree Builder option to generate an import log was turned off, simply because that is the default. It really should be on by default, but there is nothing interesting to report about the fan files anyway, so I let that slide.

Testing wasn't made easier by the fact that MyHeritage makes it impossible to install Family Tree Builder 7 and 8 side by side. The installer for Family Tree Builder 8 insists on overwriting your Family Tree Builder 7 installation and vice versa.

tables

There are two tables with test results, one for Family Tree Builder 7 and one for Family Tree Builder 8.
For every fan file, these tables list the number of individuals in that file, the size of that file in bytes, and then the test results: the import time as shown by the Windows Clock app and the memory usage as shown by Windows Task Manager right after import of the GEDCOM file.

Family Tree Builder 7

First, the results for Family Tree Builder 7:

fileindividualssize (bytes)import time (s)memory usage (KB)
ENFAN1.GED1638348.972
ENFAN2.GED3828350.452
ENFAN3.GED71.208351.876
ENFAN4.GED152.011553.324
ENFAN5.GED313.772554.720
ENFAN6.GED637.326257.552
ENFAN7.GED12715.273359.036
ENFAN8.GED25533.874360.464
ENFAN9.GED51171.952262.348
ENFAN10.GED1.023148.170364.788
ENFAN11.GED2.047308.571368.572
ENFAN12.GED4.095672.841373.844
ENFAN13.GED8.1911.403.571482.464
ENFAN14.GED16.3832.909.490699.884
ENFAN15.GED32.7676.081.59911136.952
ENFAN16.GED65.53512.450.89323195.240
ENFAN17.GED131.07126.130.82057323.084
ENFAN18.GED262.14356.105.137178577.060
ENFAN19.GED524.287116.927.8997971.043.160
ENFAN20.GED1.048.575238.262.428--
ENFAN21.GED2.097.151503.783.661--
ENFAN22.GED4.194.3031.046.786.929--
ENFAN23.GED8.388.6072.133.727.199--
ENFAN24.GED16.777.2154.353.515.666--
ENFAN25.GED33.554.4318.956.561.397--
ENFAN26.GED67.108.86318.175.185.895--

For small files, the import speed and memory hardly increases despite practically doubling the file size, and the variation in import times seems larger than the import time itself. This variation is caused by internal factors (the way FTB works), external factors (other programs using the harddisk), and by me reading the Windows Clock, with a timing accuracy of just one second.

The table clearly shows a relatively small increase in import time and memory usage until say ENFAN14.GED, clear increases in import time and memory usage after that, and failure to load ENFAN20.GED and larger fan files. What the table does not show is that I struggled to get ENFAN19.GED loaded into Family Tree Builder.

For both ENFAN18.GED and ENFAN19.GED, Family Tree Builder remained noticeably unresponsive for several seconds after import. The first attempt to load ENFAN19.GED into Family Tree Builder 7 resulted in an exception and crash, but it worked upon restart and retry. and for ENFAN19.GED, I noticed memory usage continuing to increase from 1.043.160 to 1.172.504 KB.

Family Tree Builder is a 32-bit application. A 32-bit Windows program has a user space of 2GB, so the memory usage trend already suggests that an attempt to import ENFAN20.GED will fail. I tried it anyway, for completeness' sake, and Family Tree Builder showed an Out of memory messagebox after 20m47s. When I clicked that messagebox away, Family Tree Builder remained not responding for a while, followed by another Out of memory box and a claim of successful import, but when I clicked OK again, Family Tree Builder remained unresponsive for while, followed by another Out of memory box. Clearly, the ENFAN20.GED database is too much for Family Tree Builder 7. The import fails while Family Tree Builder was already using 1.616.808 KB.

Family Tree Builder 8

Now that we've established that Family Tree Builder 7 can load fan files up to and including ENFAN19.GED, know how long it takes, and how much memory it uses, let's have look at the results for Family Tree Builder 8.

fileindividualssize (bytes)import time (s)memory usage (KB)
ENFAN1.GED16384113.232
ENFAN2.GED38285114.144
ENFAN3.GED71.2086114.860
ENFAN4.GED152.0116123.536
ENFAN5.GED313.7726117.352
ENFAN6.GED637.3266117.956
ENFAN7.GED12715.2736118.116
ENFAN8.GED25533.8746118.904
ENFAN9.GED51171.9526120.284
ENFAN10.GED1.023148.1707131.260
ENFAN11.GED2.047308.5719137.304
ENFAN12.GED4.095672.84110138.604
ENFAN13.GED8.1911.403.57116157.040
ENFAN14.GED16.3832.909.49020186.460
ENFAN15.GED32.7676.081.59930219.440
ENFAN16.GED65.53512.450.89358288.496
ENFAN17.GED131.07126.130.820118414.792
ENFAN18.GED262.14356.105.137240645.448
ENFAN19.GED524.287116.927.899520928.204
ENFAN20.GED1.048.575238.262.428--
ENFAN21.GED2.097.151503.783.661--
ENFAN22.GED4.194.3031.046.786.929--
ENFAN23.GED8.388.6072.133.727.199--
ENFAN24.GED16.777.2154.353.515.666--
ENFAN25.GED33.554.4318.956.561.397--
ENFAN26.GED67.108.86318.175.185.895--

unresponsive

When loading anything but small files, Family Tree Builder 8 becomes unresponsive. Windows does not immediately indicate that FTB has become unresponsive, but FTB may fail to repaint its windows while importing a file, including the import dialog box, which isn't a very good indicator of progress anyway, because often stall at 50% and then suddenly jumps to the end. I worked through list, restarting a few times just to see if it mattered to memory usage. Family Tree Builder 8 crashes when tried to choose ENFAN120GED for import.

automatic load

When I tried to import ENFAN20.GED, Family Tree Builder almost immediately responded with a messagebox stating The GEDCOM File could not be imported..
I decided to try import of ENFAN20.GED after restarting Family Tree Builder, but FTB automatically loads the last project, in this case ENFAN19.ftb, upon restart. I tried restarting FTB without loading ENFAN19.ftb by closing the project before exiting FTB, but as soon as I close the project, FTB crashes, and when you restart, it loads ENFAN19.ftb again...

This kind of problem is exactly why applications should not automatically load the last project upon restart, just make it easy to choose that project. Luckily, FTB did let me load and then close ENFAN1.ftb without crashing. Still, every attempt to import ENFAN20.GED failed with an immediate crash.

The final results for Family Tree Builder 8 are quite similar to those for Family Tree Builder 7; for small files, the variation in import times overshadows the actual times, but both import time and memory usage increase noticeably after ENFAN14.ged or so, and both manage to load ENFAN19.GED, but fail to load ENFAN20.GED.

New Family Tree Builder should have significantly higher capacity than Family Tree Builder Classic, yet Family Tree Builder 8 cannot load larger fan files than Family Tree Builder 7 can.

FTB 7 versus FTB 8

The tables show that Family Tree Builder 8 itself needs about double the memory that Family Tree Builder 7 needs, but for larger files, Family Tree Builder 8 in the undeniable winner, posting better import times and lower memory usage than Family Tree Builder 7. That is as expected.

What's surprising is that both FTB 7 and FTB 8 manage to load ENFAN19.GED, but fail to load ENFAN20.GED. The surprise is not that failure to load the fan files starts at fan value 20, it has to fail somewhere, but that Family Tree Builder 8 fails at the same fan value as Family Tree Builder 7. New Family Tree Builder should have significantly higher capacity than Family Tree Builder Classic, yet Family Tree Builder 8 cannot load larger fan files than Family Tree Builder 7 can.
Obviously, MyHeritage is still doing something wrong. I'll explain in a moment what it is I think it is they are still doing wrong, and why it isn't so wrong after all. Right now, I'll just say that I expect a future version of New Family Tree Builder to be able to import ENFAN20.GED, perhaps even ENFAN24.GED.

Family Tree Builder 8 does not load its databases files a bit faster than Family Tree Builder 7 does, it loads them a lot faster.

loading speed

The ability or inability to import large databases matters. The import speed matters too, but not as much as the database loading speed. After all, in a typical scenario you import your database just once, but load it every time you start your genealogy program.

Family Tree Builder 8 does not load its databases files a bit faster than Family Tree Builder 7 does, it loads them a lot faster.
Loading ENFAN19.uzed into Family Tree Builder 7 after restart takes minutes, with Family Tree Builder 7 repeatedly remaining unresponsive for many minutes. After about 16 or 17 minutes (so about 1000 seconds) import is finally done, and memory usage is 1.202.312 K.
Loading ENFAN19.ftb into Family Tree Builder 8 after restart takes about ten seconds, and memory usage is 857.216 K.
The improvement in load time is dramatic; 10 seconds instead of 1000 seconds is a hundred times as fast. Memory usage is still more than 850 MB, and that is quite sizeable, but a reduction from 1.200 MB to 850 MB is far from insignificant. So, Family Tree Builder 8.0's load time is dramatically better, and memory usage is significantly better.

Although MyHeritage is now using the same database system for Family Tree Builder as RootsMagic uses for RootsMagic, Family Tree Builder still uses way more memory than RootsMagic.

FTB 8 versus RootsMagic 7

Now that Family Tree Builder uses the same database as RootsMagic, it is only natural to compare Family Tree Builder 8 and RootsMagic 7 performance.
RootsMagic 7 loads ENFAN19.rmgc in 15 seconds, while Family Tree Builder 8 loads ENFAN19.ftb in 10 seconds. However, when RootsMagic is done loading ENFAN19.rmgc, Windows Task Manager shows it to be using 34.644 K, and that is a lot less than the 857.216 K that Family Tree Builder 8 needs. It is so much less and it seems so little than that it seems good idea to take a somewhat closer look at the memory usage of both.

Windows Resource Monitor showing FTB 8 and RM 7 memory usage

Windows Resource Monitor

The single number shown the Windows Task Manager shows is an oversimplification. It generally provides a good indication of memory usage, but it is possible to have a better look by using the Windows Resource Monitor.

applicationCommit (KB)Working Set (KB)Shareable (KB)Private (KB)
Family Tree Builder 8889.820875.83219.172856.660
RootsMagic 749.58068.35232.88835.464

Interpreting the numbers shown is a bit of black art (and they still don't tell the whole story) but it is clear that RootsMagic is using more than just the 34.644 KB shown by Windows Task Manager, let's say roughly double that, yet that Family Tree Builder is still using ten times as much memory as RootsMagic.
Although MyHeritage is now using the same database system for Family Tree Builder as RootsMagic uses for RootsMagic, Family Tree Builder still uses way more memory than RootsMagic.

Family Tree Builder 8 capacity

MyHeritage's blog post claims that Family Tree Builder 8 can handle large databases, up to 500.000 individuals. Based on these results, I believe its actual capacity to be considerably lower.
Remember that the fan value determined with these files is a benchmark, and in good benchmark tradition, the result is performance you'll never attain in practice. The fan files provide an indication of the product's capacity, real-world capacity will always be less.
Family Tree Builder 8 managed to load ENFAN19.GED, a file containing 524.287 INDI records, but these records have names only. Real genealogy databases contain alternate names, dates, places, notes, citations, etcetera.
Family Tree Builder 8 almost succeeded in loading ENFAN20.GED, a file containing 1.048.575 INDI records, but also keeps crashing every time time I close the ENFAN19.GED database.

database import

My own database happens to have more than 100.000 and less than 500.000 individuals, so I decided to try out MyHeritage claims by loading my own database into Family Tree Builder 8. Once again, I kept syncing disabled by not logging in, and terminating the Family Tree Sync program.
Family Tree Builder succeeded in importing it, and that is pretty good already, as there are plenty of genealogy programs that cannot handle it. The difference in import speed with the artificial fan files is noticeable. while Family Tree Builder managed an import speed of about 1000 INDI per second with the fan files, it managed only a few hundred INDI per second on a real database; that difference is caused by all the additional information in the database. Once the import was done, Family Tree Builder's memory usage, as shown by Windows Task Manager, was close to 1,5 GB; again, the fact that it is using more memory (for a file with less INDI records than ENFAN19.GED, is because a real database contains information than just names.

Apparently, Family Tree Builder 8 does not offer all features of Family Tree Builder 7 yet.

trying things

The ability to handle a database is more just than the ability to import it. The application should continue to work just fine, and remain fairly responsive. So to see if Family Tree Builder 8 can really handle my database, I tried a few features.

consistency

I tried to perform a consistency check by choosing Tools | Tree Consistency Checker, but that did not work; Family Tree Builder 8 displayed a Coming soon... messagebox. Apparently, Family Tree Builder 8 does not offer all features of Family Tree Builder 7 yet.

duplicates

I briefly tried Check for Duplicates instead, but it soon became clear that, like most programs, Family Tree Builder sucks at duplicate detection, and simple presents an endless parade of false positives with unbelievably high confidence levels - in fact, every ostensible match with a 30% and 40% confidence level was so obviously wrong, that I consider their confidence levels hugely inflated.

map

An attempt to display ancestors on a map failed because that feature is only available in Family Tree Builder Premium.

chart & reports

I wondered whether Family Tree Builder would be able to produce an All-in-One Chart, which is probably a memory-intensive thing, but all I found out when I chose that menu item is that this feature is only available in Family Tree Builder Premium.

I discovered that fan charts do not show text beyond the ninth generation,and do not show more than generations.
I discovered that a descendants report defaults to just five generations, and when I asked to generate a full report, Family Tree Builder failed after making me wait for about five minutes - while PAF generates it in 50 seconds.
When I changed the Show Personal Photos option from Always (show placeholder if missing) to Never, Family Tree Builder claimed success, but showed an empty window. The failure to produce a report may or may not be related to that fact that Family Tree Builder does not create reports itself, but relies on The Complete Genealogy Reporter (TCGR), included a subdirectory.
Family Tree Builder did not crash when I closed the project.

I guesstimate that Family Tree Builder 8 can handle databases up to roughly 250.000 individuals, so about half the number MyHeritage claims. That's better than Legacy Family Tree, which fails to import my database, but not even close to RootsMagic.
overall impression

Family Tree Builder's memory usage is excessive, and creation of a descendants report failed, but performance and responsiveness was good, and it did not crash, so I'll say that Family Tree Builder 8 can mostly handle my database.

Based on the fan file test, and the test with my own database, I guesstimate that Family Tree Builder 8 can handle databases up to roughly 250.000 individuals, so about half the number MyHeritage claims. That's better than Legacy Family Tree, which fails to import my database, but not even close to RootsMagic.

summary

MyHeritage Family Tree Builder 8.0 has no new features. The MyHeritage blog post about Family Tree Builder 8.0 tells us that, instead, it is a completely rebuild with a totally rewritten internal infrastructure, and that is has brand new engine under the hood.

What MyHeritage does not tell you just how bad the internals of Family Tree Builder 1 through 7 are; All these years MyHeritage has been peddling genealogy software that does not use a proper database, but a GEDCOM-like text file instead. This is the fundamental design mistake behind not just the slow saves and the need to save explicitly, but also many of its early defects, its limited reliability, and its memory hunger. Problems created by this design mistake are made worse by the fact that Family Tree Builder does not just use a text file, but in an misguided attempt to try and hide that fact, uses a zipped text instead.

MyHeritage also does not tell what the brand new engine under the hood is that Family Tree Builder 8 uses. That's a pity, because it is interesting that Family Tree Builder 8 uses SQLite, the same database engine as RootsMagic uses.

The MyHeritage blog post about Family Tree Builder 8 claims that it has all of the features that you know and love, but that is not true.

incomplete

The MyHeritage blog post about Family Tree Builder 8 claims that it has all of the features that you know and love, but that is not true. While trying some of Family Tree Builder's 8 capabilities, I discovered that Family Tree Builder 8 actually has less features than Family Tree Builder 7; the consistency checks are still missing. Family Tree Builder 8 was released prematurely; the product is not complete, the current public release is really a very solid public beta.

Family Tree Builder 8 can handle larger databases than Family Tree Builder 7 can, but not magnitudes larger.

MyHeritage claims that Family Tree Builder 7 can handle trees up to 100.000 individuals, and that the rewrite adds support for very large family trees (up to 500,000 individuals), and delivers faster performance.

I tested these claims, first of all by importing fan files into both Family Tree Builder 7 and Family Tree Builder 8. For small files, the variation in performance is significant compared to the average performance, but for larger files, the results are clear; Family Tree Builder 8 has better performance than Family Tree Builder 7; it imports the fan files faster, and uses less memory too.
This is as expected from the change to a real database engine, but the differences are also smaller than expected, most likely because MyHeritage hardly changed other parts of Family Tree Builder with it, and kept designs of internal components, originally created to work with their original text-file based application design, largely unchanged.
Family Tree Builder 8 can handle larger databases than Family Tree Builder 7 can, but not magnitudes larger. Family Tree Builder 8 fails to import ENFAN20.GED just like Family Tree Builder 7 does.

conclusion

MyHeritage rewrote Family Tree Builder, and finally made it a proper database application, with better performance, memory-usage and reliability as the practical result. They took about two years to do this, yet eventually grew impatient and did release the new product before completing it.

It is understandable that MyHeritage wants to leave Family Tree Builder Classic behind and release New Family Tree Builder as soon as possible, but that MyHeritage thinks it is okay to leave out - of all possible features - the consistency checks, is worrisome. Consistency checks are essential to good genealogy, leaving this feature out sends the wrong message.
A messagebox says that the consistency are coming soon, and I assume they are working on it, to release an update and complete Family Tree Builder 8.1 as soon as possible.

Database load time has improved significantly, with Family Tree Builder 8 loading even large databases in mere seconds.

The change-over from using zipped text file to using a database engine brings improved performance. Database load time has improved significantly, with Family Tree Builder 8 loading even large databases in mere seconds. Memory usage has improved, but while the improvement is significant, it is not dramatic. As comparison with RootsMagic shows, dramatic improvements are possible.

unfinished rewrite

Family Tree Builder 8 is an unfinished rewrite of Family Tree Builder; it does not just lack consistency checks, the rewrite itself is unfinished.
MyHeritage set out to finally deliver a real database application, and succeeded in doing so. However, to fully exploit the new and improved foundation of their application, MyHeritage must adapt the entire application to it, and the test results suggest that they have not done so. It seems to me that MyHeritage have only changed the foundation, and that the rest is still too much like how it was before. It is only when the entire application has been adapted to the use of a database engine that the rewrite is finished.
New Family Tree Builder 1.0 beats Family Tree Builder Classic 7.0, but the beat-down isn't as dramatic as it could be is because New Family Tree Builder 1.0 isn't as New as it could be, but still has lots of Classic in it.

That MyHeritage changed the foundation without really changing the rest makes sense. Family Tree Builder 8 is an old building on top of a promisingly solid foundation now, and that is a clear improvement already.
Software development projects tend to fail when you change too much at once, and changing the foundation is a major change, so it makes sense form them to touched the rest of the application as little as possible, and just focus on keeping everything working. Now that the foundation is there, MyHeritage can start focussing on taking advantage of throughout Family Tree Builder.
Perhaps they left out the consistency checks because that Family Tree Builder 7 feature is particularly memory hungry, and it is now scheduled to become the first Family Tree Builder 8 feature to really take advantage of the new foundation.

improved

The MyHeritage Family Tree Builder 2.0 review concluded that it is scarily defective. The MyHeritage Family Tree Builder 4.0 review remarked that I'd rather use Family Tree Maker 2008. It also recommended that they hire a software architect, and it appears they have done so. Subsequent versions improved in stability and reliability, an now, with the release of Family Tree Builder 8, MyHeritage is finally offering a desktop genealogy application that I need not discommend.

Family Tree Builder 8 is better than Family Tree Builder 7 in every possible way.

Family Tree Builder 8 is better than Family Tree Builder 7 in every possible way. Well, apart from the lack of consistency checks, which is likely to be addressed by the next update.
Family Tree Builder 8 has a solid foundation, that not only makes it considerably more reliable than previous versions, but also improves performance; GEDCOM loading times and memory usage have improved significantly, project load times have improved dramatically. Memory usage is still considerable, and as a consequence of that, capacity hasn't increased as much a MyHeritage hoped, but they are likely to improve this further in future releases.
If you are using Family Tree Builder 7, upgrade to Family Tree Builder 8 now.

updates

2016-04-28: Family Tree Builder 8 GEDCOM Header

MyHeritage has improved the Family Tree Builder 8 GEDCOM Header.

links

Family Tree Builder

GedFan

other products