This evening I came across this passage by Arthur Henry King in Arm the Children (page 123):
I believe that the more we know about our ancestors — the way they lived, the history of their times, their language and culture — the more chance we have that they will accept the gospel. I am sure that is so because if we turn our hearts towards them, they should turn their hearts toward us. That is one of the things that Malachi means.
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.
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.
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):
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.
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).
Yesterday morning I was thinking about sparklines and how they might be used in genealogy, and after a few quick sketches I came up with this:
Here’s how it works for individuals: the first black dot is their birth. Each pixel is one year. The final dot is their death. Any middle dots are the person’s marriage(s). It’s nice because you can see at a glance how long they lived (in comparison to others), whether they married early or late (and how many times), and so on.
For families, the first dot is the marriage year. The last is the year the second parent died or a divorce year, whichever comes first. Any dots in between are children. Again, it provides a lot of information in a small space — how long they were married, how many children and how they were spaced, etc.
I originally thought of using different colors for the various dots (you can see a glimmer of this in the family sparkline for Tom & Jane Smith), but I’m now thinking it’d be better to leave them monochromatic so that they can still carry all the information when printed/displayed in black and white. (The line could be black instead of grey, of course.) Once the rules are understood (what each dot means), there’s no need for colors to differentiate them.
You could also use these when writing family histories:
If including them inline isn’t your style, you could always use footnotes or sidenotes:
I’m in the middle of figuring out if there’s a good, compact way to represent one’s ancestors via sparklines. I’ll post again if I come up with anything. Oh, and I haven’t written any code to generate these genealogy sparklines yet, but soon…
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).