Thursday, June 11, 2020

Family Multi-Tree (FMTree) project is on Github

Family Multi-Tree project is ready to be shared and it can be found on the following links: FMTree is a simple but powerful web application for viewing, exploring and exporting as graphics of Family Multi-Trees described in data files. It is written on Javascript and HTML 5 using Data-Driven Documents (d3.js) library, OpenLayers dynamic maps framework, OpenStreetMap foundation and contributors work, modified d3.js timeline chart of Genscape, Inc. and many other libraries and demos. It works well with Google Chrome 14+, Mozilla Firefox 7+ and MS Edge ver. 83 on a desktop computer with height resolution display capable to show volume graphics generated for complex multi-trees. Data can be in CSV or JSON format. They can be loaded directly in the browser from a local file or from Internet. Internet access is required for downloading the software dependencies only.

A special care is taken into account about the privacy of the personal data. They can be stored locally or on secured Internet places. For the most paranoid users all the work can be done completely off-line. On the other hand all source data can be kept only in Excel file and only filtered data can be converted to CSV and JSON files for usage with FMTree application.

Information for people and families like name, dates and photo is converted to well-designed multi-tree chart. Additional information like name and location is shown on live map. Names and birth dates are also shown on timeline chart. A tool-tip in tree and timeline charts shows name, dates, place, photo and description of pointed member. Clicking on the node will mark forth and back genealogy relations.

Zoom and pan control by mouse is available for all three charts. All other parameters like timeline category names, date descriptors, photo size, text font, horizontal and vertical placement is controlled by the data file only. There are no settings required by the user from application point of view.

There are self-explained menu and help in English about how to use application and how to prepare data. Displayed tree chart can be exported in high resolution image in PNG and SVG formats. Following snapshot can give real feeling for the main features of FMTree application:


For user comfort a file with public data for the family trees of Bulgarian hero Vasil Levski was created. This data set has a hierarchy depth of 19 (+ 2 invisible) and total of 202 nodes: 42 invisible, 55 men, 57 women, 38 families, 0 co-habitations, 7 boys, 3 girls. Its export as PNG file looks as follow:

Above picture is taken as PNG export of the chart and has 16384x9711x24bpp resolution, file size of 15.6MB and it takes 455.2MB in memory. It is appropriate to be printed on 694x411 mm (A2 paper size is 592x420 mm) paper size at 600dpi or on 4x bigger paper (1388x822 mm – A0 paper size is 1188x840 mm) at 300dpi. In such a case a normal node circle with photo (specified with 40px radius) has 240px diameter and will be printed with 10.16 and 20.32 mm size respectively. Printing with roll printers is also possible on a paper with width up to 914 mm (36 in). Better quality can be achieved by printing from SVG exported file but the circle sizes and the photo quality have to be appropriate.

There is a debug mode (root.hide: "no") where hidden links are visible for verification of relationships:


The latest version (2.5) includes bigger data and multi-tree view control like: data privacy, horizontal/vertical views, justified/stacked the same level nodes and their layout positioning. The following image shows snapshot of FMTree application with vertical multi-tree and stacked the same level nodes:


All described staff is free for usage with no restrictions. If one is happy using it he or she can:
  • share experience and modifications
  • drop a word to thank the author
  • make somebody else happy

No comments: