timesheets.js

A declarative approach for HTML Timing using SMIL Timesheets

Our work is based on these two documents:

SMIL 3.0 Timing and Synchronization
W3C recommendation, 2008
SMIL Timesheets 1.0
W3C working draft, 2008

SMIL Timing

The SMIL Timing recommendation specifies two attributes, timeContainer and timeAction, to integrate timing and synchronization features into HTML documents:

The modularization of SMIL 3.0 functionality allows language designers to integrate SMIL Timing and Synchronization support into any XML language. In addition to just scheduling media elements as in SMIL language documents, timing may be applied to the elements of the host language. For example, the addition of timing to HTML (i.e. XHTML) elements will control the presentation of the HTML document over time, and to synchronize text and presentation with continuous media such as audio and video.

Two attributes are introduced to support these integration cases. The timeContainer attribute allows the author to specify that any XML language element has time container behavior. E.g., an HTML <ol> ordered list element may be defined to behave as a sequence time container. The timeAction attribute allows the author to specify what it means to apply timing to a given element.

SMIL Timesheets

The SMIL Timesheets draft suggests another way to use SMIL Timing (as well as SMIL PrefetchControl and SMIL BasicAnimation) with HTML documents:

This language allows SMIL timing to be integrated into a wide variety of a-temporal languages, even when several such languages are combined in a compound document. Because of its similarity with external style and positioning descriptions in the Cascading Style Sheet (CSS) language, this functionality has been termed SMIL Timesheets.

SMIL Timesheets can be seen as a temporal counterpart of CSS. Whereas CSS defines the spatial layout of the document and formatting of the elements, SMIL Timesheets specify which elements are active at a certain moment and what their temporal scope is within a document. And as with CSS, SMIL Timesheets can be reused in multiple documents, which can provide a common temporal framework for multimedia presentations with different contents but identical storylines.