Some people eat, sleep and chew gum, I do genealogy and write...

Thursday, November 28, 2013

What should genealogy software do?

Back in 2008, Mark Tucker wrote a paper in conjunction with the BYU Family History and Technology Workshop in 2008 entitled "10 Things Genealogy Software Should Do." The ten things Mark included in his paper and presentation were the following: Genealogical Proof Standard, organize, transcribe, source citation, stress-free imports, link and layer, source provenance, visualize, remember and share. I will let you go to the article for details. It is not my intention to discuss Mark's choices. I have my own list which is substantially different than Mark's. Some of Mark's ideas are very good and worthy of implementation, but others seem worthy goals but unlikely to be considered because of the difficulty in defining exactly what the program would be required to do.

In the time that has passed since 2008, some of Mark's suggestions have been completely or partially implemented such as source citations. But even with this suggestion, there is still a major issue with the method of formatting citations. I leave you to judge whether or not any of his other suggestions have been implemented by any of the programs you use.

Mark focused on the features of programs, but his title intrigued me and I began to think about what I thought genealogy software should do. I guess I do not have a wish-list of features that I would add to the genealogy programs since I already ignore quite a few of the existing features. Instead, I thought I would focus on broad program objectives. I am not sure my list will come out with a satisfying even number, but here I go giving it a try. By the way, if any of the existing programs have implemented any of these suggestions, more or less, then more power to them.

The very first thing I thought that a theoretical genealogy program should do is to accurately model different culture's kinship structures. Of course my suggestion presupposes that such a model is even possible. But at a minimum, I think programs should allow for different structures. I have mentioned in previous posts the need for extending the cultural base of the current software programs and abandoning the one-size-fits-all approach to family structure. In this regard, I am not advocating abandoning any of the traditional family structures, I simply believe that genealogy programs should preserve relationships outside of the commonly accepted model, such as the relationship of a godparent to a child. In making this suggestion, I am also not advocating bowing to the shallow trends of political correctness, on the contrary, I am suggesting that programs ought to allow us to record all of the information in historic records. I do note some movement in this direction from newer programs.

Next, I would suggest that the programs become smart enough to detect duplicate entries even when some of the information between the matching pairs is different. My idea is that the programs would look at the pedigree in depth and detect an attempt to add someone who fit into a pedigree line already occupied. This would happen if the added names were part of a merging file. If individuals were added, the program would then bring up alternatives to having the entry duplicated. This looks like a feature being presently implemented by some of the online based software programs in a limited way. I fully realize that no program can detect the right number of children or the identify of the family members, this is not what I am suggesting. I would suggest that any program should give you a ready list of unincorporated individuals and allow you to keep them, merge them into existing families or delete them. But it would be nice if at any time a new individual was added to the file, that the program would automatically suggest any duplicates. It would also be nice, as I have written before, if the merge functions worked much better than they do now.

These thoughts are not in any particular order of importance or otherwise. One thing I would like to see is method of data entry that allowed all of the entries to be on the screen at one time. Presently, nearly all of the programs are decidedly linear. You move from screen to screen and enter data in a way particular to any given program. What I would like to do is see all of the information, events, notes, media items etc. about an individual all at the same time. It would then be helpful to be able to add any other connection to the data by simply clicking on a list or graphic representation of those individuals. For example, if I had a census record showing for one individual, I should be able to add ever individual mentioned on that record, even in another family, by simply clicking on a list or graphic representation of the families. I should also be able to attach a source record to all of the family members individually at one time or exclude some family members as the record required. For example, if I found a record with a listed of related family members, I should be able to attach that record to all of those people at one time without opening and closing a bunch of windows and doing a lot of searching.

Some programs have started to implement a method of error checking. But presently it is in an infant stage. I would suggest that programs need to become much smarter and not allow entries without a method of data verification. For example, if I put in a location one way, the program should be smart enough to know I spelled the name wrong or added it a different way than I had previously. Right now, some programs can check to see if counties existed at the time, but better yet, the program should say that the place was in such-and-such a county at the time of the event.

I think programs should automatically rank entries, perhaps by color, as to the amount of information they have. All entires would progress as the completeness of the entries increased. For example, if all that was available was a name the entry would be red. As additional information was added, the entries would progress to green through a variety of colors. Then the program would give the entire collection an overall completeness ranking that would come up every time the file was opened.

I would also like to see a way to mark all of the entries that were imaginary, such as lineages going back before written records and such.

Well, that gave me some further ideas that I will share in the future.


  1. Good article, James. It prompted me to blog my thoughts about what I think genealogy software should do, at:


    1. Thanks for some really good points. It is important that developers consider these issues when working on a product, even an existing one.

  2. I think that recent discussions on wish-list features (incl. the additional lists cited on Louis Kessler's blog just now) are a little parochial James. Your previous blog about embracing cultural diversity is one of the more far-reaching concepts. It's easy to write-off the rest of the world as "they're not interested in this market", but a great many US people have lineage that originates in those cultures. Those researchers will all encounter problems when they try to make that leap. Even people with lineage originating from Native Americans encounter problems so it's not even an issue of "long ago and very far away".

    As you know, my own view is that genealogy should seriously try and model historical data (incl. family history and micro-history in general) rather than mere trees. Taking an event-based view of history is not mutually exclusive with looking at biological lineage, but it certainly gives a better picture of your ancestors' predicament.

    1. Exactly. The idea here is to get away from a confined family model without using the model to push some particular political/social agenda. Changing your program to reflect changes in your own society, does little to accommodate the vast variety of other cultures and kinship systems.