Building a Timeline Collaboratively with Students

January 14, 2011

This term I’m teaching a grad course called “Technologies of Communication”:

This course will provide students with an opportunity to identify, understand, study and use a variety of technologies of communication that are relevant for contemporary digital society. We will take as a starting point a current event in digital culture, namely Wikileaks.

This week’s activity was to collobratively create a timeline of events relevant to Wikileaks. I asked students to spend a week looking for events and to compile them into their individual WordPress sites (during week one each student downloaded and installed her own instance of WordPress, partly so that the students could experience how easy it is to do). The instructions for compiling events were really that open-ended: create a list of dates and descriptions, and try to have a mix of obvious and less obvious events.

In class we then started the process of fusing the timelines. To do this we created a Google Spreadsheet for our timeline and I asked students to start filling in their content. If you’ve never had the experience of ten or more people each at their own computer editing the same spreadsheet in real time, you should – it’s marvelous and disconcerting at the same time to see your document being edited while you work. It’s also a great opportunity to talk about collaborative editing options (track changes in a wordprocessor, wikis, real-time collaborative editors like SubEthEdit or Google Docs). With very little coordination, we were able to transfer timeline events from the WordPress posts to the spreadsheet.

Next we needed to clean up and refine the timeline entries. We sorted the rows by date, and went through each item – students read their own entries and then as a group we decided how to combine duplicates and refine the descriptions. This went remarkably smoothly and students were very effective and efficient at finding solutions.

In creating the spreadsheet and preparing for visualizing the timeline, we followed Brian Croxall’s excellent tutorial that uses Simile’s Exhibit and Timeline libraries. The results are available here.

There is something definitely very satisfying in filling in a spreadsheet in one place on the web and being able to produce an interactive tool (that updates automatically) in another. There are a lot things I like about the Simile Timeline tool, including the double timeline band, the license, and the export capabilities. However, in other ways I find the tool unsatisfying, at least in this instance, especially for the lack of time zooming capabilities (scrubbing along the timeline is easy enough, but changing the range of dates shown at once is not, unless I missed something obvious).

Part of the objectives of this class is to help students find, assess and use available tools. During class we also talked about other alternatives, and many of them are listed in this useful post about timelines on DHAnswers. In particular, we looked closer at Bee Docs (see this description of it at ProfHacker) and Dipity. Both tools are remarkably good at sucking in content from a variety of sources (Twitter, Facebook, WordPress, Flickr, iCal, etc.), and both quite happily consume RSS from just about any source. Dipity seems to have a lot going for it, including time zooming (similar to the scale controls in Google Maps), and multiple views such as timeline, flipbook, list and map (if geographical information is embedded).

I thought it would be an easy process to export an RSS feed from Google Spreadsheet into Dipity, but I was wrong. Google Spreadsheet is certainly capable of producing an RSS feed from a spreadsheet, but I found it frustrating. There’s a “list” mode that bundles all of the cells from the row into the description tag of RSS – I think it’s using comma-separated values, but it’s not something that seemed obvious to parse in XSLT (I needed to transform the Google Spreadsheet RSS feed a bit before sending it to Dipity because the different column values needed to be copied into the RSS feed in a special way). Similarly, there’s a “Cells” mode for the RSS feed, but then every cell is in its own RSS item, and bundling cells together into rows becomes more complicated. It’s certainly possible to parse the RSS feed since the Simile Exhibit library does just that, but it does it in Javascript, not XSLT. Ironically, the export to RDF function in the Simile Timeline provided a good solution: I could export a fairly clean RDF database (it wasn’t quite valid XML – things like the bare & weren’t converted to entities properly, but it was close enough).

I’m not sure if it’s RSS or Dipity, but producing the RSS that Dipity liked was much more finicky than I would have anticipated. The pubDate element, for instance, seems to need a short-form day of the week as well as a time value – I would have assumed that just the date, month and year would have been sufficient. And woe to you if your system’s language isn’t English and your transformer by default produce French days of the week – won’t work! Another gotcha as escaping the img tag in the description (setting description as a CDATA element in output didn’t help much since the image element was considered a separate child that wasn’t part of the CDATA section). Anyway, the goods can be found here.

So all that work to produce this Dipity Timeline below. Was it worth it? Well, the purpose of the exercise was never really the timeline itself, it was the process of getting there, including collecting and compiling event, collaboratively fusing the events, and experimenting with different ways of visualizing the results. So yes, it was definitely worth it. We even learned some things about Wikileaks along the way :)

Comments are closed.