Gramps Connect Stories

One thing I do sometimes at our family reunions is to do a presentation (I’m a retired college professor, so just try to stop me). I usually pick an interesting part of our family history (like two brothers that married two sisters) and weave a tale showing pictures of ports, ships, paths, locations, and the people. I usually use something like Google Slides to present it.

But I’ve been thinking about a way to do it from on top of Gramps. After all, Gramps already has all that information: events, places, dates, and media. But often times, I don’t do justice to the story as just a note.

Well, I’ve been building a new version of Gramps, called Gramps Connect, that run on your desktop, or on a host. It uses HTML for the graphics. My goals for the Story project:

  • Build an easy way to do a presentation
  • Make it easy to edit
  • Beautiful to display
  • Save it in Gramps (as a formatted note)
  • Make the maps interactive, to really explore an area live during a showing
  • Share it with my collaborators, and allow them to edit it as well

So, this will be a part of the next Gramps Connect release (coming soon). Here is a video showing me looking for a person (“Baron von Gramps”), selecting them, and clicking “Add a story”:

Screencast from 2026-08-21 14-44-59

[Images courtesy of the Gramps Web Demo project of European Royalty]

The “Add a story” collects all of the events of a person, and automatically creates a representation of the story. The story is shown immediately, but can then be edited and has a preview:

Each slide can have a reference to an event (including date and place), media, and text. The idea is to be able to connect people, places, and dates with images into a coherent and engaging story, and save it as part of Gramps itself.

Slide from the above movie:

I really love to create software that can allow the user to be creative, and this scratched a particular itch of mine. Do you have ideas to make it better? I would love to hear them :smile:

I just went back to my old Google Slide presentation from 2017, and I see that the Story presentation isn’t that different from my slide layout:

A slightly different feature, but still related to the ideas of exploration and storytelling, I’ve added an image comparison in Gramps Connect.

Here is a video showing:

  1. Dragging and dropping images on a person. Automatically adds the images to the person’s associated media.
  2. Selecting an image, and clicking “Create comparison” and selecting another image
  3. Clicking “Compare” brings up an overlay and slider

Screencast from 2026-08-22 08-46-45

Would be very useful for comparing homesteads, houses, people, and other changes over time.

BTW, both the Story and the image Juxtaposition were inspired by Knight Lab of Northwestern University who create tools for journalists to tell stories. I didn’t use their code, but their inspiration.

Hey, if you find any of this interesting, consider giving the gramps-connect repository a star:

It currently has 0, so you could be the first one!

I was the second person to star it! :grin:

Reminds me of sites like meyersgaz.org where you can use a slider to compare current and historical maps.

Or like openhistoricalmap.org, where the timeline slider causes the names of places to change (for casual users, this could be an alternative to creating a complex place hierarchy; and for users who do want to create a hierarchy, it’s a way to help verify their work).

@GeorgeWilmes

I like the fade of Straussberg 2) … I may have to add an option to do that!

Oh, and OpenHistoricalMap has some open source maps:

Thank you; very useful resources!

I added the Open Historical Maps and, oh, this is so useful! I made the Story presentation automatically bring up the map from the date from the event:

So as you move from slide to slide, the place on the map changes, and so does the date of the map!

I have already made a discovery in my own family history: I wondered why my family purchased the old Blank homestead on a piece of land with a railroad running through it? With the historic maps, I can now see that the railroad wasn’t put in until 4 years later!

1854:

1855:

And easy to compare to today by selecting “standard”:

Thanks again @GeorgeWilmes !

It seems that artificial waterways might be also used. Just need to update the timeline (period) on some locations (as it does match the right building years in France).

As I was thinking “it would be nice to show the boundaries of that homestead” when I remembered the work done by @PLegoux and championed by @emyoulation on Keyhole Markup Language, or KML. I’m going to work that idea so that those will show up here too. Search for KML in this discourse, and here is a tutorial:

Stories now support KML files:

(KML borrowed from @PLegoux 's example)

If a place has a reference to a KML-type media, it will automatically display that on the map. It can even use the KML long/lat to find the center of mass of the area, and put the location marker there. Very useful when comparing custom locations over time with the historic maps.

Now if only there were an easy way of getting KML data for non-map-experts… a simple shape editor…

A simple editor for KML:

Needs a bit more editor options: colors and labels. But all of the KML media objects attached to a place show when mapping that place.

This is great! Up to now I’ve been using Google Maps “My Maps” to draw polygons around old family farms. From there I can export the KML and import to Gramps. This will be much more convenient (thought I still like to share with Google maps with family members).

Here’s a post from a previous discussion. Could this work in Gramps Connect?

Here is another crazy idea: The KML feature for LineString is supported by Google Earth (both desktop and web) and by Google Maps (without the 3D aspect). This example works in each of those. So, you could create a placemark for each ancestor’s place of birth, and then draw lines to connect each person to his or her parents, resulting in a kind of pedigree map. You could also make a bipartite version in which there are intermediate placemarks for the parents’ place of marriage. It would probably be most useful for families who moved a lot over the generations, but not too far. You can adjust the line width as needed.

Another obvious example would be a chronological path of all the places that a given person ever lived.

More generally, it means you can overlay a graph on a map – the nodes are placemarks, and the edges are linestrings.

I’m not sure exactly what you might want to draw on a map, but you can draw points, labels, polygons, rectangles, and images, wherever you like:

You can attach as many KML media files as you want to a place, and each KML can have many items in it.

Does that help?

Yes it does, thanks!

When I have a set of modern border KML files, I can see wanting to overlay them when using historical maps.

(My home county was formed in March 1849 and the township lines were redrawn. The area was settled about 1799. So I’d like to plot pins on a map from before March 1849 with the modern county and/or township borders overlaid. But skip the extra KML layer rendering when the system already includes them.

This seems like a common for place studies. People are often confused about plotting historical event pins where borders are ambiguous.)

Might be nice to have Stories for Places, too.

And once there are super-events and sub-events, then Stories for Events could also be nice.

I guess Stories for Families would be difficult since families usually have no events other than marriage/divorce?

Great ideas! You can create stories any any places or people today, there just isn’t an automated way. Events would make sense, and should be easy to do (even without subevents). Families (at least seeding a Story) should not be an issue — but might require a bit of human editing.

Anyway, this was my first sorta way-out experiment to try in gramps-connect, and very happy to get some testing on it.