This mock-up of an hourglass graph differs from the traditional one in a few ways.
(The screen capture is intentionally fuzzy, since I didn’t take the time to anonymize the data. I haven’t yet entered all of the names, but the larger nodes have placeholders for more children.)
Instead of having two different types of nodes for individuals and families, there’s just one type of node which contains all of the people in a given family, and the names of their spouses. That way, you can see your siblings, aunts, uncles, nieces, and nephews. Names of direct ancestors would be highlighted.
Dashed lines coming out of a node’s northeast corner into the next node indicate one of the parents moving into a subsequent marriage. A similar convention (not shown in this example) uses a dashed line coming out of a node’s southeast corner for children moving to another family.
Initially I tried including cousins as well, but it got too messy.
I created this in GraphViz using “hand-crafted” DOT language code. Each generation is a separate subgraph (but not a cluster), and I used rank=“same” to force the order of nodes within each generation. I used simple multi-line labels for the nodes, rather than taking the time to code HTML-like tables which would allow for fancier formatting.
It’s just an experiment at this point. I hope it inspires someone with more talent!