Modern Software Experience

2013-05-23

Fundamental feature is rare.

Consistency Checking

Not all, but most genealogy applications offer some consistency & reasonability checking. Some only do basic checks while you're entering data, others offer extensive checks.
Most genealogists will be hard-pressed to find any rationale in which checks are supported and which are not. Although Bob Coret revealed that the Same Name Children Consistency Check finds more issues in Genealogie Online databases than any check, no other product or service supports it yet. Although just one loop makes a genealogy impossible, very few applications check for that either.
Genealogically, it would make sense for developers to stop worrying about tiled chart backgrounds and hurry to implement such checks.

The reason few genealogy applications or services support a check as effective as the Same Name Children Consistency Check or bother to check for something as fundamental as loops in a genealogy, is that these checks are more complex than most consistency & reasonability checks.
The Same Name Children Consistency Check requires comparing not just two people or consecutive siblings to each other, but comparing all children of a parent to each other - and that is just the basic implementation. A great implementation would improve on the basic implementation by dealing smartly with names that are similar but not the same, to find many more issues.
Loops detection requires some knowledge and understanding of graph theory and algorithms. Sadly, few software developers have the necessary background in theoretical computer science.

ancestral loops

You may think that most genealogists never need to check for loops, and that's mostly right. First of all, no known genealogical research can produce loops. People do make mistakes, but even software that doesn't include loop detection will help you detect loops; because it will involve parents that are older than their children, and that's an issue a lot of genealogy software will detect. However, that issue will only be detected if the software has sufficient dates to work with, and that is not always the case.
Most ancestral loops probably come into existing through over-enthusiastic merging of individuals, for example when a couple in the 17th and a couple in the 18th century happen to have exactly the same names.

There are literally hundreds of genealogy applications, but few of them detect ancestral loops.

loop detection

There are literally hundreds of genealogy applications, but few of them detect ancestral loops. RootsMagic is the leading desktop genealogy application, but it does not detect ancestral loops. I've recommended Legacy Family Tree 7 for its extensive consistency checks, but it does not detect ancestral loops. Family Tree Maker does not detect ancestral loops.

The list of genealogy software that does not detect ancestral loops is long. Recently, Enno Borgsteede asked the question which software does detect ancestral loops, and specifically asked to only mention tools you use yourself.
I answered that two tools I use and that can find loops are:

I also recommended not merely finding a loop, but regularly using these or other tools to check for more possible errors.

more

That's the question and answer, but the story did not end there. A comment from Enno Borgsteede adds that Family Tree Builder (FTB) finds loops.
The really interesting thing is what happened within days after posting my answer. Tim Forsythe announced that he had updated both Adam, his tool for publishing genealogies online, and Bonkers, his online consistency checking tool, to detect ancestral loops. Yet another few day later, Bob Coret announced that he had updated Genealogie Online to detect ancestral loops.
These developers set a great example for others to follow.

updates

2013-05-24: Behold 1.0.5

Louis Kessler has released Behold 1.0.5. Among the fixes and enhancements is improved ancestral loop checking.

2013-05-25: Behold's ancestral loop detection

Louis Kessler has written about implementing ancestral loop detection in Behold.

links

genealogy checking

tools to find ancestral loops