TimeNets

Fabian Eichhorner, Florian Steinschorn

Aims

TimeNets aims to provide a better overview on genealogical data then traditional methods. Simple time lines lack the information on relationships between people. On the other hand, family trees give a great overview on relationships, but lack in terms of temporal relations. TimeNets tries to solve this problem by combine both of these systems. Each person is represented by a line stretching along the x-Axis. On marriages, two lines move together until death or divorce. Children are marked and connected to their parents. This gives a good overview on temporal relations, as well as interpersonal relationships.

Usage

To run our application it is required to have a gedcom file. Gedcom files are a very popular standard to share family trees

After starting the our application the user can either upload a gedcom file per drag and drop or by a file chooser. As soon as the user has uploaded a gedcom file, they are presented by the chart, created from a random person of the dataset. In the background recursive queries are done to estimate missing data.

To select a different person, one can click on them, if they are on screen, or search for them via the search field at the right side. As soon as the selection has changed, the degree of interest function is updated and the chart redrawn

Datasets

We tested our application with different gedcom datasets.

Middle-Earth Genealogy: Link

This dataset consists of 6 different gedcom files.

The problems with that were the different time ages used (First Age, Second Age, Third Age, Fourth Age as well as the Shire Calendar). Another problem was the different lifespans of races (humans vs. elves) etc. We tried to fit our application to this as good as as possible and tried to minimize the information loss.

Habsburg Genealogy: Link

This dataset consists of a gedcom file with over 20000 people and 100000 relationships. The problem with this dataset is the big size of information. Due to a lot of missing data the data estimation takes quite a long time. When the visualization is ready it works due to the doi however smooth.

Game of Thrones Genealogy: Link

The problem with this dataset was the missing data. No data for birth or death of any person is available. However with the data estimation we were able to estimate birth and death dates for every person

Technology

Our programm is a client only Javascript application written in TypeScript. Therefore it doesn't require any backend server, everything is managed on the client side.
The main Framework of this program is Angular4. Within Angular we created our Visualization as a new component with D3.js.
As CSS framework we used Bulma. Additionally we used an Angular Webpack template and an Angular component for the search.

Run sources

To run our programm from sources NPM >= 3 and Node >= 6.0 is required

For the first time usage it is required to install all node dependencies

npm install

Afterwards the programm can be executed using a npm script

npm run server:dev:hmr

A deployable build can be generated with

npm run build:prod

Links

Paper
The original paper after which we implemented this program
Demo
Our application in action
Code
The source code of our project
Documentation
The generated documentation of our typescript code