Tuesday, September 1, 2015

Answer: Know how to create a timeline?

There are many solutions... 

... and it's taken me a LOT longer than I thought it would to explore them.  (Hence, this post being a day-late.)  

The thing is, it's not hard to find timeline creation tools, but it IS tricky to find one that has the right set of features.  Details below... 

Our Challenge from last week was: 

1.  Can you find an online tool (or app) that will let you take a collection of events (both points in time, and periods of time) and create a timeline?   
2.  Using that tool, can you find a data set that you'd like to see as a timeline? (I've got a link to a sample data set below.)  

There's the obvious Challenge here (find a timeline tool you can use), but also a deeper SRS question:  How do you find tools?  

Here's what I did... 

My first query was for:  

     [ timeline ] 

Lots of queries would have worked here, but my plan is to find out what KINDS of timelines are available, and then work backwards to see how they were created.  So I looked in Google Images to see what kinds of timelines were possible.  

Notice the top row?  "Blank" "Simple" "Kids" "Clipart" and "Examples"?   Those are different clusters (that is, related types) of timelines.  There are blank timelines there, but what we really need is a tool to make a timeline, not just a template.

My next query was to see if there were particularly nice "visualizations" of timelines.  That word, visualization, is one of those "terms of art" that describes visual diagrams generally.  I did this query because I wanted to find a tool or system that would help me create timelines.

These were good, and by opening up a few of them, I found a number of tools.  But some were too simple, some too complicated, and more than a few were apps for use on a mobile device.  

So I went back to regular Google and did this search: 

     [ timeline tool ] 

THAT was successful and led me to a bunch of tools.  My plan was to illustrate several of them to show which worked in particular ways.  But it turns out that finding just the right feature set is tricky. 

So let me show you my first timeline solution, which turned out to be both very nice, elegant, and simple to use.  

After my search, the first hit was TimelineJS from Knight Lab  So I used it to create the timeline below.  (But keep reading for the rest of the story below.)  

This is a really nicely made tool that just requires that you create a spreadsheet, import it into their tool, and it will give you back a nicely interactive timeline.  

I used the spreadsheet of data about the Viet Nam war that I gave in the last post.  Following their instructions, I copy-pasted the data from my spreadsheet into theirs, edited a couple of cells to fix up the dates into the style they wanted, and created a Google Spreadsheet in their format, which then gives us this timeline: 

An image of the KnightLab timeline.  (I include it here in case the interactive version stops working.) 

Which is just a screengrab of the interactive version embedded here.  Click around a bit to explore the entire data set.  Note that you can press-and-hold to drag the timeline left/right, or use the + and - buttons to zoom in and out.  (Kudos to these folks, this is a very nice tool.)  

But I didn't end my search there.  

As I mentioned, it's fairly easy to find timeline tools, but here's what happened: I tried using each of these tools to make a timeline as described.  BUT the devil is in the details.  

Tiki-Toki - a beautiful tool, but there's no way to import events into the timeline, you have to make them one..at..a..time... There's no way I'm going to do that for the entire Viet Nam war timeline!  So I gave up.   Same comment for several other timeline tools (e.g., Capzles and ReadWriteThink's Timeline).  No import capability?  Really?  

Dipity - I couldn't figure out how to make a timeline.  (The UI is kinda crazy; I spent 30 mins trying to make a timeline, and gave up.) 

TimeGlider - requires that you be a student or pay for the account. (I have nothing against paid services, but most SRS readers don't make that many timelines, so I'm going to skip over ones that require payment.)  

I also tried some more complex ones.  Brian Croxall's Timeline tool looks really promising.  But after futzing around with connecting JSON export features from Google Spreadsheets (and failing), I determined that the documentation is out of date--or at least I couldn't figure out how to make it work.  (And I got SO close! But just couldn't make the data connector work.)  

And of course, there's a nice Excel spreadsheet tool to create timelines... sort of.  Vertext42 has a tutorial on how to use Excel to create a timeline by modifying their box-plot diagram tool.  And you'd think this would be perfect... but it turns out that you have to make all of the event labels one-by-one.  You can't just do a bulk import of the labels from a spreadsheet!  (Isn't that odd?  Yes, but the reason is that the timeline works by adding labels, one-by-one, to the chart.  And that can't be driven by a table...  Sigh.)  

And of course, there's the Google Charting interface for timelines, which requires adding your data into the Javascript code.  I know how to do that, and I can do it by writing a program... but that's a little over the top for this blogpost. (I might well write about it another day... it's actually fairly interesting.  I'll see if I can't figure out a nice, straightforward way to write that one up.)  

If you want to write code, you can always use a visualization toolkit like VisJS or D3 both of which can create extremely nice timelines, but require a bit of coding.  

Search Lessons 

Of course the big lessons I took away from this was: 

A.  The devil for using a tool is in the details.  In particular, while a simple search for [ topic tool ] or [ topic app ] is enough to find you a plethora of tools, determining which one of these is actually right for your use--well, that's a bit trickier.  You still have to spend time testing each of them out. 

And perhaps the biggest tip I have for searchers doing tool evaluations is this:

B.  Always test a tool from start to finish with a minimum data set.  A common mistake is to invest a lot of time testing out a tool (for example, adding 100 of the War's events by hand), and then figuring out in the very-last-step that the output has no embeddable widget (or whatever the problem is).  DO NOT spend more time adding in tons of data until you know it will work from beginning to end.  

Thanks to everyone who put something into the shared document.  Those are great!  Thanks!  

As always, keep searching on! 


  1. Hi Dan and all fellow searchers

    Even if I don't have time enough right now to complete the challenges (to write down the results I find, mostly), I keep an eye on every week's new puzzle. This one was of particular interest to me, it's been a long time since I wanted to create a timeline about the french composer of the XIXth century, whom I specially like. Following almost the same path as yours I ended up trying to use TimelineJS but when it comes to overlapping lasting events (such as the life of a person) the display becomes very messy and useless (I wanted to know for example if Erik Satie could have seen and heard Gabriel Fauré playing one of his sonates) so I turned towards more complex tools such as  Brian Croxall's Timeline (that is in fact a tutorial for MIT's Simile's Exibit timeline option).

    The trick to get the connection between the spreadsheet in Google Docs and the Javascript script is to replace only the ID of the spreadsheet :


    ex:converter="googleSpreadsheets" /**

    XXX must be replaced by :


    the ID being the scrambled suite of letters in the spreadsheet link given by Google Docs :


    here the ID is 1ElOb-iSq_lMH78xRP_nYY5aK0OwiOBAPTWNG7KWUycs. Et voilà, everything works just fine after that.

    And I get overlapping piled lines for the life of every composer, and the timeline is being updated every time I edit the spreadsheet. The work is still in progress, I'll post a link when I'm done.

    Philippe a.k.a. Passager

  2. Dan, In a perverse kind of way I am glad you too had trouble getting these things to perform. I got TimelineJS time and again to the penultimate moment then it stalled, spinning its little box endlessly. Then I tried a few others. Finally TimelinePro --free for 14 days. First thing up it asked for stuff I could not answer. I gave up.

    All I wanted to do was a timeline using some genealogical data. Nothing worked. I reduced my efforts to 3 or 4 points on 1 person's life. Still no go.

    I should be as you point out straight forward to produce something this simple.


    jon TU

    1. Hello Jon TU, have you tried with TimeMapper? You don't need anything, just add data on the template and that is all. Hope it helps.

      Luis Viterbo , I just read about this new Google docs feature. Templates, Insights and Dictation in Google Docs Now it is easy to find and use a template. How did you do with resume?

      Finally, as Dr. Russell says, if you are like me, you will enjoy this Google Launches ‘I’m Feeling Curious,’ A Fun Feature For Fanatical Factfinders