Lines, lines, lines.
An exploration in representing movie dialogs as lines on a timeline.

Senthil Chandrasegaran

Let's consider a video player that shows all the dialogues in a movie, extracted from the subtitle file, right under the video timeline, graphically. If you have an SRT file, try uploading it onto this page using the button on the top right.

The simplest representation of the data would be to show the dialogs in a simple sequence of lines. You can interact with the timeline below. Hover on the timeline to highlight the corresponding dialogue on the right, or click to scroll to the dialogue.

We can see that this is not the best use of space, and, well, it's a little boring. How about we scale the vertical lengths of the bars to the number of words in the dialog?

That's more interesting. Now since the subtitles have time information as well, how about representing the length of the movie as the length of the chart, and inserting the vertical bars corresponding to the times at which the dialogs are spoken?

All right, now we're starting to see gaps in the movie where there is no dialogue. I wonder if this can be correlated with action sequences, say, in movies such as Ronin. Note that the bar widths are no longer accurate, as they follow the previous scaling that was dependent on the number of dialogues in the entire subtitle sequence. For a better representation, how about scaling the widths of the bars to the duration of the dialogues?

This may not be the best idea, since the lines are not easily selectable. We can work around this in a number of ways. The first, and simpler representation is to just equalize the widths of the bars to a selectable value. The bars are translucent anyway, so denser pieces of dialogue will show up as darker regions.

The other option is to use fisheye distortion with the scaled widths. The local zooming effect will make the selection a little easier.

More thoughts on such representations and the value they may or may not add, coming soon.