Aug 4, 2008

gt project: Kickoff

Background
As some of you may know, over the past few weeks I have been extensively looking into organizing family data in a way that is easy to navigate, sort, and analyze. Having a good size data set to work with, it was obvious that automation should be used to organize this data. Hence, I have started the gt project (standing for genealogical tree project). In the following weeks I will be using this space to post updates on the project as well as various insights regarding the technology and approaches used throughout the project.


The Project
The gt project is a Web 2.0, client-side only web application that can operate both online and offline. Driven by the user interface, the application is to retrieve genealogical data from an XML file and utilize Google Gears to store, analyze, and render the whole data or subsets of it.

The gt project will have the following functionality:
  • A rendering engine that will display genealogical data as a tree-like structure

  • The ability to display genealogical data based on a person's mother or father or based on a marriage

  • The ability to provide a description and photos for a given person

  • The ability to sort family data according to people's age and not just according genealogical sequence

  • A geo locator, using Google Maps, that will display the geographical locations where a person has spent most of his/her life


Current State of Affairs
The core component of the gt project, the tree rendering engine, is completed. As of today, the application is able to read, sort, and render family data and display it as a tree-like structure. A demo version is available here.


Edit: The source code and all supplementary data for this project will be available here.

2 comments:

Alex said...

Was I supposed to populate the info first or does the demo do it? All I get is an "undefined" node under the "show tree graph" and that's it. I'll tinker with it a bit later, when I'm not dying of lack of sleep.

radi said...

The data is retrieved from demo.xml (located in the same folder). The "undefined" happens because of a racing condition between Gears initializing its database and my script trying to pull data out of it. Hitting F5 would usually solve the problem.