Media Index Outlines

Outlines can model the flow of time. You can easily construct an outline that describes  a timeline. On one level of the outline, your first entry can describe the first moment in a time interval, and your last entry can describe the last. Interior subheadings can be written that describe any interesting events which happen during the interval. They of course will be entered into the outline in ascending time order.

If the timeline measures the flow of time over the span of human history,  there's no expectation that the outline would let you relive that vast timespan. But of course we've learned to record timeflow and construct artificial timeflows using different recording media in the last century and a half: audio recordings,  movies, and presentations. And those media set up their own timeframes that can be replayed repeatedly and in a small fraction of a human lifetime, nearly all in a few minutes.

People who watch, listen to, create or produce these recordings frequently want to focus on different interesting events within a recording.

For instance you might want to pick out the individual lightning strikes that occur during Dave Winer's recent godcast, and listen  to them crashing and rumbling over the Florida oceanside. Conspiracy theorists are drawn to analyze and review the grisly events of the John Kennedy assasination via examination of the Zapruder videos. A saxophone student like me wants to figure out what John Coltrane or Charlie Parker actually played during a lightning run in one of their brilliant solos.

The people (and software ) that create or produce those recordings many times have very fine grained time code  records that measure out the flow of events in a recording.

Even if you are not the original producer of a recording, it's not that hard to develop your own time code. There are slow-down programs for musical recordings that allow you to make your own timecode for different interesting events in the music measured to hundreths or thousandths of seconds. Similarly, video editing applications allow users to set index points to random events within a clip, no matter the source.

An OPML outline is an XML file that adheres to a particular tagging scheme. The data,which describes a particular subhead of  an outline, starts with a left angle bracket and ends with a matching angle bracket. The first tag at the start of a bracket pair is the word outline. The text for the outline subhead is marked by a "text="  identifier followed by the entire text of the subhead delimited by double quotes.

An example OPML subhead description:
 <outline text="this is text">. Any number of additional, optional parameters describing the subhead can be stored within the subhead description

In a media index outline the timecode which would allow a media segment to be played, records the beginning and ending time of the clip .These beginning and ending times are recorded as parameters within the subhead description. A type parameter is added to the description.

The OPML Editor is capable of identifying different types of subhead, and can provide a  customized right-click menu for each type of subhead it identifies.

With this capability, a developer may write custom scripts which execute the specialized commands that listed on the type's right click menu. A media index outline would define special bookmark types whose right click menu commands cause  marked segments of a recording to play or be retrieved at user request.

To cause a script to play a segment of a recording, a message would be sent to a media player to play that segment specifying the begin and end time of the segment.

To retrieve a segment of a recording, a message might instruct an editing program for the correct media to copy the bookmark segment and store it in a particular exchange data format.

Play or retrieval commands can be sensibly issued when a sequence of consecutive subheads is selected. In those cases a segment of the recording that begins with the start code of the first subhead and ends at the ending time of the last subhead are played or retrieved.

It's possible in one outline to have parallel subheads that describe the same recording segmented in different ways. In a musical score its valuable to listen to the sequence of phrases in the different voices of the piece and equally valuable to hear it measured into bars of music, which mark the regular accentuation pattern of a score.

It's possible to have subheads in a media index which pluck out the most interesting excerpts of the recording according to the taste of the producer of the index. I can picture lots of music fanatics (like me) and film fanatics (like many others) doing commentary index opmls.

As an index outline producer, you can use the different levels of the outline to segment a recording into ever smaller segments. For example a subhead describing a particular phrase in a musical score could have its own subhead which points out the beginnings and endings of each note in a phrase. And each note could have a subhead which describes its characteristics in detail.

Here's a link to an example document that demonstrates how media index outlines could be used to describe and access different parts of a podcast. Possibly of interest to podcasters.

 Here's a link that describes how I use media index opml to navigate around musical scores in my SongTrellis Music Editor. I have this implemented so that it works between different machines on my desktop and in a few days hope to demonstrate how media index opml can be used to make requests to an Excerpt Server from across the internet.

Here's a link to a musical score media index opml generated by SongTrellis

Here's an example film media index opml

Here's an audio book media index opml

Jon Udell was first man on the spot last year and did some early hacking to show how to remotely produce excerpts of mp3 files. Great article, he should be very proud!

This one of Jon's is must-read also.

As of last September, this did not work well across all media players and browsers and is likely caused by inattentiveness by the software developers of the players and browsers. Make sure to shout at your favorites and wake them up. 

 Until this works, as a stopgap, timings can be placed in outlines in human readable form, so that users can manually set selections in broken players. It's clear, though, that the playback software should be reliably providing this service.

 

Discuss