Tuesday, 20 January 2015

Why write my own software and what am I writing?

A while back I started developing a tool to help with my genealogical research. This single tool gradually evolved into a small collection of inter-related tools, each focussing on a specific task. (I firmly believe that smaller, more focussed tools are better than one monolithic, "Swiss-Army Knife" type tool that tries to do everything.) As I have been re-educating myself in the ways of better genealogical practices, I have realised that some of my initial assumptions in the design of these tools was wrong, specifically when it came to sources and proof - I was not properly capturing source citation data, nor was I being particularly diligent when it came to proving my conclusions/assumptions. Now that I have a better understanding of things such as source citations and genealogy standards (especially the Genealogical Proof Standard) I figure I should re-engineer these tools to incorporate my new-found knowledge.

There are many reasons behind my decision to write my own software. I have been unhappy with the state of the software available for the Mac - there are some good packages, but each one has certain issues that bug me. The best that I have tried so far (MacFamilyTree) is reasonably good, but its handling of locations and sources leave a bit to be desired IMHO. Another Mac program has great location management features, but surprisingly its mapping tools are not as advanced as MFT's. If I could cherry-pick pieces from several different programs I might be able to put together a truly awesome program, but there's still a major underlying problem for the way I want to be able to work.

A lot of the genealogy programs I have seen have been more focussed on creating a family tree and pretty charts and pay less attention to rigorous analysis and proof of the data entered by the user. There is also a lack of cutting edge research tools, that could assist a user to analyse their sources and find connections in their data.

I don't want to just record a set of dates for people in my family tree - I want to be able to find connections between people, properly study and analyse my source documents, capture detailed source citation information, apply the GPS, and more. So I figured the only way forward was to build my own tools to do as much of this as possible. To that end I have tools for genealogy logs, source transcription and analysis, and location management. To these I will be adding something geared more towards managing the GPS process, a reporting tool and of course a GEDCOM generator so I can export the resulting data for use in "traditional" genealogy software. I aim to make each tool small and focussed on the task at hand so that it is easy and fast to use.

I already have some prototypes of these tools, but I am now considering which platforms the tools should be targeted to. Some of the tools (the research log for example) lend themselves to tablet devices and smartphones, while others are more suited to desktop operation. Do I make the tools native apps or would a web-based solution be more appropriate? There are pros and cons for each platform choice, so I have a bit to think about.

I'd love to hear your feedback on the subject of genealogy research tools, as opposed to family tree builders. I'm interested in the process of finding the data to put in our trees, rather than the trees themselves. ;^)

No comments:

Post a Comment