Ryan Cheatham and Dr. William A. Barrett, Computer Science
Introduction
Genealogists across the world face a unique and challenging problem. They attempt to sort through obscure historical data in order to find information about their ancestors, then they have to keep track of all the data they have found in an organized way. In today’s information age, viewing all this data should be simple and intuitive and provide easy access to research opportunities.
Unfortunately, genealogical software applications are not simple and intuitive, and require a lot of contextual switches (a.k.a. switching between screens or views) in order to understand the data. This often causes the user to forget some data while looking for other data. As a result the user loses context and their ability to tie things together is reduced. I aimed to resolve this by implementing Elastic Paper and by building in features that allow users to find the data they need without losing context.
Methodology
Two main challenges needed to be overcome in order for me to achieve the aims of the project. First, the interface needed to be intuitive. Second, it needed to preserve context. I achieved both of these using a pedigree chartstyle interface I call Virtual Pedigree.
Dr. Barrett had the original idea of using a modified version of a pedigree chart to visualize the data. We chose to use the pedigree chart because it is commonly used among genealogists and is a very simple depiction of a large amount of data. This perfectly suits the need for the interface to be intuitive.
Unlike other pedigree charts, however, this one is not static—i.e. it does not maintain the same shape as it is interacted with. As shown in Figure 1, as I move the pedigree chart across the screen it automatically expands vertically, allowing additional room for the generations coming into the screen from the right. This allows the context of the user to be preserved as they traverse their pedigree chart.
One of the main concerns about this interface was whether or not it would be efficient to be scalable. I went through several different implementations before I settled on the current one. The first used basic Scalable Vector Graphics as a drawing framework, but that proved to be incredibly slow and unreliable. The second used MT4j, a multitouch and hardware accelerated framework that showed promise for both speed and touchscreen compatibility. Unfortunately it proved to be overkill for the simple algorithm I developed, and it lacked continued support and compatibility.
Results
I finally settled on using the Java programming language’s builtin framework called Swing. It turns out to be a perfect balance between simple graphics and speed. Also, as a result of my research into the MT4j framework, I was able to hone the algorithm and multitouch interface to be very efficient, which will allow for many features to be built on top of the core pedigree chart. Those features have largely not been developed, but will be in the coming months as I continue to work.
Discussion
Right now Virtual Pedigree is still in its infant stages. Continued research will be important as I expand its scope to include tablets and phones as well as all popular operating systems. The research I have performed has yielded a simple core program that is portable to all of these platforms. Most importantly, however, the core program solves the two main problems of other genealogical applications with an intuitive interface and no context switches.
Conclusion
Dr. Barrett and I originally set out to build a software application that was simple, intuitive, and solved many of the problems of current genealogical applications. Virtual Pedigree solves those problems via its automatically expanding pedigree chart, and it has high potential to benefit genealogists everywhere with its simple, universal core.