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.
- atanatari.ged - Fathers of Men, Three Houses of Edain
- atani.ged - Men of Second & Third Age
- eldar.ged - Elves and half-elves
- casari.ged - Dwarves
- periandi.ged - Hobbits
- arda.ged - Everything merged together
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