Blog Page 1 of 1 (9 posts) :: archive :: feeds

Sparkline pedigree chart

This proof of concept takes the genealogy sparklines idea and puts it on a pedigree chart:

The white diamond represents a marriage, and the small circles represent children. The length of the line corresponds to how long the person lived. (Also, the data is very made up.)

As I’m writing this, I’m thinking these sparklines might work better on a family group sheet instead of a pedigree chart.

Experimental family pedigree

This experiment takes the style introduced in January and uses it for a family pedigree (this time with real names and dates from my Italian side in Morrone del Sannio):

Three generations would have been better than four (mostly because of spacing). There’s also a bit of redundancy — people on the main lines show up twice, once as a child and once as a father/mother. Overall, though, I like being able to see the children of each family across multiple generations.

Experimental pedigree chart

Because I apparently can’t stop making genealogy charts: here’s a pedigree chart I put together as an experiment to see what things would look like if the more recent names were larger. The result:

I do like the larger names, but it seems that on the left side of the chart the hierarchy is harder to read. This kind of chart might work better with just four generations instead of six.

More pedigree charts

Building on the pedigree charts I released about a year ago, I’ve made a handful of new charts. For the four-generation chart, I’ve added one that has three to a page. I’ve also added five-generation and six-generation charts for people who like to write small:

Beyond that, I’ve got something sort of new that I’m calling a family chart. It’s similar to the family pedigree I mentioned when I released Emperor — a pedigree chart meets family group sheet hybrid:

There’s also a tabular version for when you don’t care as much about the relationships between families (if you’re just trying to figure out which kids go with which parents, for example):

And last but not least, a timeline, for mapping out chronological relationships and that sort of thing:

While I do love software, it’s hard to beat paper for stuff like this — paper lets you be messy. I’m finding myself doing a lot of my genealogy research on paper for just that reason. It’s more flexible. I seriously, seriously love paper.

Emperor

When blogging about genealogy, it’s nice to be able to easily embed pedigree charts in your posts. I realized yesterday that it would be pretty easy to write a script to do just that. It’s called Emperor. Here’s a live demo:

Two-generation

* John Doe | b. 1850 ** Father: Richard Doe | ** Mother: Maria Taylor | b. 1825

The code

* John Doe | b. 1850 ** Father: Richard Doe | ** Mother: Maria Taylor | b. 1825

Three-generation

* Samuel Smith | 1823–1825 ** Nicholas Smith | 1800–1824 *** Frederick Smith | 1773–1812 *** Annabelle Hansen | b. 1770s? ** Irene Yolen | 1825–? *** Grandmother: Caroline Eastman | 1801–1899

The code

* Samuel Smith | 1823–1825 ** Nicholas Smith | 1800–1824 *** Frederick Smith | 1773–1812 *** Annabelle Hansen | b. 1770s? ** Irene Yolen | 1825–? *** Grandmother: Caroline Eastman | 1801–1899

Family pedigree

* Mark Goldman &
Evelyn Washburn | Jackie (b. 1935) ** Stephen Goldman &
Anne Rhys | Gary (b. 1899) | Ned (b. 1902) | Maggie (b. 1903) | Tanner (b. 1903) | Richard Goldman (b. 1908) | Mark Goldman (b. 1913) ** Robert Washburn &
Zanny Holdmann | Evelyn (b. 1915) | Lawrence (b. 1917)

The code

* Mark Goldman &
Evelyn Washburn | Jackie (b. 1935) ** Stephen Goldman &
Anne Rhys | Gary (b. 1899) | Ned (b. 1902) | Maggie (b. 1903) | Tanner (b. 1903) | Richard Goldman (b. 1908) | Mark Goldman (b. 1913) ** Robert Washburn &
Zanny Holdmann | Evelyn (b. 1915) | Lawrence (b. 1917)

Notes

If you’re reading this in a feed reader, it won’t look all that impressive. (That’s one of the downsides to doing it via Javascript instead of server-side.) Here’s an image showing what it looks like (from the sample page, included with the source):

The code (on Github) comes with instructions on using it. (Just upload the emperor.js file to your server, link to it in your head, and put your pedigree charts in a div with class="emperor-pedigree".) Oh, and you can style the pedigrees with CSS. There are still some issues to be resolved, but it’s fully armed and operational.

Pedigree charts

Genealogy on the computer is nice, but sometimes you just want to write things down on paper. I’ve put together some minimalist pedigree chart templates for that purpose (downloadable as PDFs).

Standard and 2x (since you usually don’t need all the space the standard chart gives you):

And landscape, if you need more horizontal space:

Enjoy.

Pedigree chart sharing

I needed a web app to share pedigree charts with my sister on the other side of the country, so I wrote one. It’s called Pedigree, and all I have to do now is fill in the chart online, save it, and send the URL to my sister.

Here’s what the pedigree looks like:

You can put anything you want in the boxes, actually, which means you can do family pedigree charts that look like this:

Or you can make a chart listing each person’s occupation, or their age at death, or whatever else you want. It’s flexible.

Pedigree is still very much a work in progress — you can only do three-generation charts for now, and all pedigree charts are public to anyone who knows the URL, you need a Google Account to sign in, and the code isn’t very beautiful — but it’s a start.

Behind the scenes

I took those table-based pedigree charts I worked on a few years ago and wrote a Python program to automatically generate them, then expanded it into a Google App Engine app yesterday.

The Pedigree code is open source and is on Github. If anyone wants to help out, feel free to tackle any of the issues posted there. (I also feel compelled to add that the chart display algorithm isn’t particularly beautiful.)

I do plan to extend it eventually to take JSON or XML input so you can automatically generate a pedigree from another program, rather than having to type it in manually. And I want to come up with a better manual input method.

Pedigree chart using HTML5

Here’s a quick demo of a pedigree chart drawn using HTML5 Canvas:

HTML5 Pedigree Chart

The code was pretty much just thrown together; if I were to use this in an actual app, it’d be much cleaner. And for some reason it doesn’t quite work in Safari 4, so you’ll need to use Firefox 3.5.

As for next steps, I’m going to try to rewrite the demo using Processing.js. I’m also planning to extend it to allow panning (so you can have a huge pedigree chart onscreen — some of the Flash-based pedigrees out there do the same thing), and I’m itching to do some kind of genealogy demo ala Snow Stack (Safari only).

Pedigree mockups

I’ve created the Pedigree Sandbox page as a testbed for various pedigree ideas. Right now it’s just a simple table-based layout for two and three generations, at various sizes. And the code for the two-generation one is at the bottom (you can view source for the rest, though there’s not much different about it).

Here’s a two-generation layout:

Pedigree Mockup 1

And three-generation:

Pedigree Mockup 2