Modern Software Experience


Genealogy Software

Feature Lists

Many a genealogy software vendor has a feature list on their site.
Several vendors have comparison charts that show their software is superior to that of the competition. These comparisons are rarely up to date, rarely completely honest and generally do not highlight the product’s weak points.

feature-based comparison

Things have changed since the early days of desktop computing. It still makes sense to compare hardware on features, but feature-based software comparisons have become rare. The reason for that is very simple. Nowadays, for most software products such a feature list would be both impractically long and largely irrelevant. It would typically show that all products meet the must-have and should-have features as well as most of the nice-to-have features.

In fact, any feature-based comparison would probably show that all the competing products meet most of the nice-to-have features as well, so that you have to look for differences in the list of additional features, weird extras that seem oddly out of place in the product category and only make you wonder what you’d ever use it for.

Once all major products in a category support the must-have and most of the nice-to-have features, mere feature-based comparisons are unlikely to help you decide between products.

genealogy software

There is something odd about genealogy software. Generally, vendors stress should-have features such as reports and source templates and nice to have features such as wall charts and time lines. They go on about their new mapping capabilities and the ability to change background colours.

All that sounds nice, but the same software sporting those extras is lacking in basic capabilities.
Lots of genealogy software is slow, uses way too much memory, crashes when you try to make a large chart or report, can open just one database at once, and cannot handle anything but small databases anyway. Several applications even have broken save logic that risks losing your entire database every time you save it!

Some genealogy applications still forbid recording same-sex marriages. Many still have limited or faulty GEDCOM support. Many still have hard limits for the length of names or the number of children, and do not handle many marriages well either.


That is the problem with today’s genealogy software in a nutshell; there is a lot of attention for should-have features and nice-to-have features, and not enough focus on must-have capabilities.

The ability to draw charts matters little if a marriages and children are missing from that chart. Support for source templates is good, but it is also like putting chrome plating on a broken engine if the software does not let you enter names correctly to begin with. Mapping capabilities are nice, but the ability to export data to other applications is more important.

Fancy features do not matter if the software is too slow to be usable, keeps running out of memory and crashes all the time. All features are irrelevant if the save function cannot be trusted.

must-have capabilities

generic expectations

There is a long list of things we have come to expect from any application. Applications should be easy to install and remove again without unnecessary surprises. Applications should have reasonable performance and reliability. The user interface should follow the platform conventions. And so on.

genealogical expectations

A genealogy application should have all kinds of genealogical features, and I would personally classify consistency checks among the must-have features, but none of its features matter much if it does not allow the user to get their data in and get it out again.

The ability to get data in and out is the most basic feature. That obviously does not apply to just genealogy applications, but to most applications. An application that does not allow to enter your data isn’t much use, and if you can get your data in but not out again you are locked into a single vendor.

A genealogy application must allow users to get their genealogy data in and out again.

entering data

vital data

A genealogical application must allow the user to enter their genealogy data. There is a wide variety of genealogical data, but it certainly includes all births, deaths, marriages, divorces and adoptions that may occur in practice. The ability to enter that data should not be limited arbitrarily.


The application should not only have all the relevant data fields and allow all possible relationships between them, but should also be free from any arbitrary chosen limits. In other words: the application may not introduce arbitrary limitations.
Any technological limits (typically 16-bit and 32-bit limitations) should be sufficiently large to easily allow even the most unlikely situations. If someone makes a career out of being best man at a dozen weddings every week, the software should be able to handle gracefully.


The application must allow entry of every name and relevant document. That specifically means that it has to support every character that occurs in a name or document.

For more than fifteen years already, that implies that the application has to be based on Unicode. Support of ANSEL may be sufficient for Western genealogies, but support of Unicode is both better and easier accomplished.

import and export

If you had the perfect genealogy application already, you might only care about its ability to create reports, but today you want to export data to and import data from other other applications.

Today, the practical translation of this requirement for a genealogy editor is that it has to support import from and provide export to GEDCOM and do so correctly. A genealogy viewer does not need to support export.

Vendors of genealogy editors tend to boast about both direct import and GEDCOM import capabalities, but quality GEDCOM export is more important to the user; a genealogy editor that does not provide correct export of all data to GEDCOM format is holding your data captive.

essential feature

Thus, the generic sounding feature of being able to get your data in and get it out again implies several genealogy-specific features.

To be considered a genealogy application at all, the application must support genealogy data. What genealogy data must be supported, should be supported and would be nice to have is a topic unto itself. An application must support vital records (birth & death) to be considered a genealogy application at all. Genealogists expect support for marriage and divorce records. The oldest records often do not record the primary events (birth, death, marriage), but related secondary events (baptism, burial, marriage banns), so software must support these to allow those records to be entered correctly.

Genealogy software must be free from arbitrary limits and limitations, must be Unicode-based and has to support GEDCOM correctly.

Obviously, GEDCOM is merely today's de facto standard, and may be replaced by something else in the future.
Still, these are not some nice-to-have or should-have features, these are must-have features. These are not merely the most important must-have features of a genealogy application, but the truly essential ones; all these features are needed to combine into the most important genealogy software feature of all; the ability to get your data in and get it out again.


2012-10-29: vital data

Expanded brief mention of vital data into small paragraph about support for essential genealogical data and added links to articles about vital events.