TimeLine: Visualizing the Past through Video Traces

TimeLine is a visualization that captures a video stream, and then allows people to explore the history of that video stream. TimeLine was originally conceived to work as part of a media space, where people would use it to reveal their collaborator's events and activities over time, ostensibly to gauge their availability. It may also be useful for surveillance, for monitoring, and as an interactive art installation. Our concern is that TimeLine is so effective that it raises serious privacy concerns. Thus it is best seen as an extreme of what is possible, and we make it available to encourage debate about these kinds of video trace systems. As well, we offer a few other (less developed) examples of different video tracevisualizations. Update, 18/10/2006: TimeLine package updated. Installer for the mpeg4 V2 codec included.


Download and Installation

  • TimeLine: TimeLine uses slit scanning to render visualizations of the last minute/hour/day/week of video history. See Installation Instructions, and read the README in the download.

Other visualizations The ones below are toy examples that we developed in parallel with TimeLine, where each uses a different strategy for showing a video history. Source is included.

  • Video Slit Scanning: Basic Video Slit Scanning example (we also call this 'cubism')
  • Motion Blur: Creates a motion blurred composite image by adding 5 images sampled over an adjustable period of time.
  • Story Board: Samples frames over a regular interval to create a storyboard. Change detection (sampling the frame with maximal difference within the sampling interval) is available.
  • Change Detect: Uses change detection to trigger sampling. This is done by either choosing the frame with maximal difference within the sampling interval, or using a set threshold to trigger new image capture.

TimeLine Installation Instructions:

  1. Read the README file in the download. There are several things that you may have to do if your machine does not have some standard software. For example, we include a video codec if the appropriate one isn't installed on your machine - you can install it with a single click.
  2. Install GroupLab Collabrary: The Collabrary can be found in \Installs\collabrary.msi or can be downloaded from http://grouplab.cpsc.ucalgary.ca/collabrary.
  3. Copy Build Directory (optional): The build directory contains the precompiled executables for the Timeline. The contents of the build directory can be copied to wherever you want the program installed. The build directory has two subdirectories, archive and img; archive is where video files are stored and loaded, and img contains some images used by the program.
  4. Run CameraFeed (Optional): One can setup or join a camera feed server using the CameraFeed application /build/CameraFeed.exe. Timeline has the ability to connect to a server and run using one of the feeds contained therein. To The CameraFeed application will take the webcam feed from the locally connected machine and put it into a shared dictionary server. Simply run the CameraFeed application, enter a username, and the name of the shared dictionary server to connect to. (A server can be started simply by using the local ip and a shared dictionary name, for example "tcp://(localip):webcam".)
  5. Run Timeline: The Timeline program can be run using \Build\Timeline.exe. When the program starts up it gives three run options: running from the local archive, running live from the local webcam, and running live from a webcam feed. Select the desired option. If that option is to run using a webcam feed, you will also need to enter the address of a camera feed server - use the same server adress/name as used when you set up the camera feed application. When the Timeline successfully connects to the camera feed server you will see a list of available camera feeds and can select the one you wish to use. Note that when running in a live mode any video in the archive directory prior to running will be erased.
  6. To Recompile: The program was built in Visual Studio 2005. Open TimeLine.sln in the source\Timeline\ directory. Check that the references for Tao, Collabrary, and AviFile are ok. If not, these references are contained in the directory \Source\Steven\libs and can be re-added. Compile. The img subdirectory is already included in the Debug and Release directories and is required to run the program. The archive subdirectory is not included, however it will be generated the first time the program is run in live mode.

Bug List (Timeline):

  • When doing archive retrieval from a line that has already been loaded from the archive the accuracy of the retrieval point gradually drifts. I suspect there's a frame counter that is being added to the look up which only should be added when retrieving from live video.
  • Retrieving off the end of a line that isn't fully populated does work, but does not automatically refresh when done as the refresh is triggered when the line is filled. A refresh can be triggered manually by adjusting the slicing column.
  • Retrieving near the beginning of a line (when the retrieval point is already being displayed by the next line up) appears to start the retrieval process (the braces are drawn and the lines go blank) and hangs because it doesn't load anything. Loading isn't really necessary as the point is already viewable, but the the UI shouldn't do anything either.
  • If the program crashes, the archived video is corrupted and can't be reloaded.


  • Nunes, M., Greenberg, S., Carpendale, S. and Gutwin, C. (2007) What Did I Miss? Visualizing the Past through Video Traces. Report 2007-855-07, Dept. Computer Science, University of Calgary, Calgary, Alberta, Canada. March. 21 pages.
  • Nunes, M., Greenberg, S., Carpendale, S. and Gutwin, C. (2006) Timeline: Video Traces for Awareness. Video Proceedings of ACM CSCW'06 Conference on Computer Supported Cooperative Work, November, ACM Press. Duration 4:44 (This abstract page points to both the video and two-page summary).
  • Nunes, M., Greenberg, S., Carpendale, S. and Gutwin, C. (2006) Video traces. In Karahalios, K. and Viegas, F. (Eds) ACM CHI 2006 Workshop on Social Visualization: Exploring Text, Audio, and Video Interactions, April 22-27. Also published as Report 2006-809-02.
  • Nunes, M., (2006) Video traces. CPSC 781 Class Project report that describes precursors to TimeLine.
  • A fantastic catalog of slit-scan video artworks compiled by Golan Levin

Tutorials and Examples

  • (Under Construction)