This is something I have been puzzling over, related to a comment made in the original discussion that started me working on this application:
The thing that has struck me about the timeline apps I have looked at is not just that they expect real dates, but that they expect complete dates to be attached to events when you make them. I just can’t think of a single story idea of mine where events happen in a particular year in either world or galactic history. And even if events do eventually get pinned down in this way as things get worked out, this is information I would rarely have at the time that I wanted to be starting to work with a timeline app. (Most of that info will never get pinned down–Pick an arbitrary piece of fiction and try to tot up its events in your favorite timeline app without having to make up a lot of fake date/times!)
I think that the problem is that timelines apps are all modeled on “real” timelines which map out a preexisting set of events that happened in real time. This gets things backwards if you are making up the story. Creating a timeline as a fiction development tool is more like creating a timeline with variously (and perhaps wildly) partial information.
Since reading that comment, I have been mindful of not burdening the user by requiring too much date/time information at once. if the user creates events by double clicking in the right spot, and then by dragging the events in the interface rather than editing them manually in the Inspector, they can just about get away with not thinking about dates at all.
Which is what we want. The information is there when they are ready, but they are not forced to use it.
The current release displays dates alongside each event, something which will be able to be configured on the fly in future releases. This should help reduce the date-dependent model further.
But I still wonder if there is more that could or should be done in this regard. The same commenter continued:
So, in my dream timeline app, placing an event on a timeline only implies that it stands in certain before/after relations to the other events on the line. For those events for which it was pertinent, I would be able to specify that this event occurred at a certain interval of time before/after some other event on the line. For those events where it was pertinent, I would be able to specify that event’s relation to an underlying (actual or fantasy) calendar–this might take the form of specifying a complete date, but might not be so specific–my calendar might divide years into seasons and those into months, say, and so pegging an event to a calendar might simply consist in saying that it happens in the spring or the spring of a certain year, etc. For those events with significant duration, I would be able to specify a fixed duration, or just min/max duration range, or to give it wholly unspecified duration.
In the discussion that followed, I labelled this idea “Fuzzy Dates”. The inclusion of “date format” in timeline settings, where you could display just a decade or a year initially, and increase the precision as your timeline gets more developed, was a nod towards this.
If we follow fuzzy dates through, what we are looking to create is a set of rules that allow us to narrow down a suitable time for an event to occur:
Must be November + One week after Event A (where Event A has its own rules saying it must be in October) = First week of November.
As we add more information, or create ties with more events, the event date/time becomes more specific:
Must be November + One week after Event A (where Event A has its own rules saying it must be in October) + Must be a Tuesday + Follows the barfight = after 11pm, November 4th
It is a powerful idea. Create a bunch of events with a bunch of constraints, and get the software to automatically resolve the events to suitable dates as you drag other events around the timeline.
But how do you explain predicates to a writer in the throes of planning, when even thinking about dates is an unnecessary burden?
How do you design an interface that makes creating formal rules seamless?
How do you mix fixed dates with fuzzy dates? Will it force you to define too many relationships between events in order to work, so the user wastes time forming rules instead of planning novels? How should you respond to a fuzzy date being dragged elsewhere in the calendar?
And what do you do when all the constraints don’t add up, and the timeline cannot be resolved at all?
I don’t know the answers. But I will spend a lot of time thinking about them. Comments encouraged – leave them below, or on the discussion board.