CMS for Historical Timelines

I’ve often said that the last thing the world needs is another CMS. Yet, here we go…

I read a lot of history (literally five minutes ago, I finished And the Band Played On).

To understand history, nothing beats a timeline.

They help me put things into context. I like seeing when something began, all the different phases it went through, and what their relative timespan was. This is what it takes for me to sort something out in my head.

I’ve often thought about coming up with a software system to manage timelines – a “CMS for history,” if you will. This post is an exploration of that idea, along with a bunch of supporting links and random stuff I’ve gathered over the years.

My goal would be to find some data model that could represent the passage of time, the events that occur within it, the geographies associated with those events, and actors that were involved in them. With a solid model behind this, you could visually represent it in different ways, query it around the involvement of various entities, and even overlay different timelines to see where they intersect.

Some random use cases:

  1. Learning. This is the primary use case – to be able to more clearly visualize the passage of time and the events that occur within it. In particular, there are some historical threads I’ve been studying on and off for years. I’d like to start building and maintaining timelines of them all.
  1. Event planning and coordination. I’ve been involved in some conference organization which required planning for specific things to occur, down to the minute in some cases – “At 8:32 a.m., Person X has to be Location Y,” etc.

  2. Event reconstruction. This is a derivative of #1, but consider a crime scene or accident investigation that needs to recreate several places, people, and events across time.

  1. Research organization. Lots of history books, autobiographies, and memoirs involve plotting a lot of observations on a timeline.

  2. Real-life logging. Sometimes you need a log of where people are at specific times. Imagine application logging…but for people.

Last year, in an effort to research this, I made a post to the History Stack Exchange: Is there a formal ontology for documenting historical timelines? I wrote, in part:

How do historical researchers organize their notes? If you’re researching and documenting the history of…well, anything, are there systems designed to keep track of “the timeline”?

I’m reading “House of Gucci” right now, which is the long, storied history of the Gucci family and company (it was the source material for the 2021 movie starring Lady Gaga). It’s incredibly detailed, and I find myself wondering how did the author keep track of it all? It had to be something more elaborate than a bunch of sticky notes on a whiteboard.

The resulting answers were few, but quite good. I learned that techniques used in the study of history are known as “historiography” (someone edited my post and applied that tag). A few mentioned mentioned some resources (linked below), but honestly, I had trouble conveying the concept of serializing history to a data model. Explaining it to non-CMS people was harder than I thought.

I ended up adding a music analogy, which I thought worked pretty well:

Musical notation is a codification of a concept (a series of audible sounds). It’s a standard protocol, which many people understand, and it’s used to serialize music into a recordable form. It’s transferable across time and space – I can write some music down that someone can play later, because we both understand the protocol. Does anything like this exist for historical timelines?

Still, no existing solution jumped out at me.

Getting down to nuts and bolts, in my head, the data model looks something like this:

erDiagram
    TIMELINE }o--o{ EVENT : "linked to"
    EVENT }o--o{ ACTOR : involves
    LOCATION }o--o{ EVENT : "occurs at"
    EVENT }o--o{ SUBJECT : "affects"
    ACTOR ||..o{ ACTOR : "member of"
    LOCATION ||..o{ LOCATION : "contained within"

    TIMELINE {
        string id
        string name
        int period
        datetime basePeriod
    }
    EVENT {
        string id
        int startPeriod
        int endPeriod
        string status
    }
    SUBJECT {
        string id
        string name
    }
    ACTOR {
        string id
        string parentActorId
        string name
    }
    LOCATION {
        int id
        string parentLocationId
        string name
    }

The concept of putting events on a timeline is neither novel nor complex. However, it gets a little daunting when I bring Actors, Subjects, and Locations into it. In some senses, I am theoretically trying to represent everything on Earth.

The trick is in the details, of course. How in-depth you decide to go depends very much on what you’re trying to model – what historical concept you want to represent.

In tossing this idea around, I’ve uncovered some interesting things:

timeline
    title Deane's Life
    1971 : Born
    1989 : Graduates High School
    1997 : Graduates College
    1999 : Marries Annie
Period 1 Period 2 Period 3

So, there’s a lot of prior art here. I’m trying to thread my desire in between what already exists and figure out where there’s overlap.

Here are some open(-ish) questions I’m dealing with –

After writing this, I’m beginning to think this is just an editorial UI on top of another data management tool… but that’s what all CMSs are in the end, really.

So, that’s it, basically. That’s the idea.

Believe me, the last thing I need to do is create another CMS. But this idea simply will not leave me alone. And some recent research I’ve been doing about AI in relation to CMS repositories makes me think this would be easier to build than I had originally feared.

Please, someone, talk me out of this.

Postscript: Timelines for Fiction

Earlier in this post I mentioned the book And the Band Played on, and in the Stack Exchange post, I referred to House of Gucci. These are both historical re-creations where timelines would be used for accuracy and research.

However, I just started reading the zombie novel World War Z (more known for a mostly unrelated movie with Brad Pitt).

I love the format of this novel. It’s a series of “interviews” with people who survived a zombie war that occurred sometime in the past. It’s very rashomonic in the sense that multiple people talk about the same series of events.

In just the first 30 pages, for example, I’m hearing bits and pieces about the “Warmbrunn-Knight Report” and “Flight 575” and some battle in Yonkers. None of this has been fully explained to me yet.

What this tells me is that there is a timeline to this. I assume the author wrote a detailed timeline of what actually happened, and then he wrote this novel by figuring out who had access to what information when. So there is a master timeline, and I’m just seeing different windows into it.

I love this use of a timeline. It’s something I would have never thought of.