Synchronized Multimedia Integration Language

Synchronized Multimedia Integration Language, commonly abbreviated SMIL and pronounced “smile,” is an XML-based declarative language for describing the temporal and spatial coordination of multimedia presentations. It was developed by the World Wide Web Consortium as a means of associating independently stored media resources with a common timing model. A SMIL document normally references media through Uniform Resource Identifiers rather than embedding the media data itself, which distinguishes the language from audiovisual container formats and media codecs.

SMIL represents a presentation as a hierarchy of timed elements. This structure specifies when each resource becomes active, how long it remains active, where its rendered output appears, and how its timing relates to that of other resources. The language also incorporates conditional content selection, navigation through hyperlinks, and adaptation to properties of the playback environment. Its declarative model influenced later timing facilities associated with Scalable Vector Graphics, accessible digital publications, and browser-based multimedia.

Historical development

The W3C established the Synchronized Multimedia Working Group, generally known as the SYMM Working Group, during the expansion of web-based audio and video in the late 1990s. Existing HTML documents could place media objects on a page, but HTML did not provide a general model for expressing temporal relationships among those objects. The working group therefore treated synchronization as a document-structure problem rather than as a property of any particular media format.

The initial model emerged through a specification process in which Philipp Hoschka, Sjoerd Mullender, Lloyd Rutledge, and You Watanabe participated as contributors to the first-generation language. Their work addressed the representation of parallel playback, ordered playback, event-dependent timing, and region-based visual composition within an XML document. Hoschka served as editor of the resulting W3C Recommendation, while the wider working group supplied the technical definitions and implementation review associated with its publication.

SMIL 1.0 became a W3C Recommendation on 15 June 1998. It defined the principal timing containers, elementary screen layout, hyperlink integration, and references to external media. Its scope was deliberately narrower than that of later versions, but its basic distinction between temporal structure and encoded media remained central to the language.

SMIL 2.0 became a Recommendation on 7 August 2001. The second version reorganized the language as a collection of modules, allowing other XML vocabularies to incorporate selected parts of the timing architecture. Aaron Cohen, Dick Bulterman, Nabil Layaïda, and Patrick Schmitz were among the editors associated with the expanded specification. SMIL 2.0 added a more detailed event model, animation facilities, content-control mechanisms, transition effects, and extended presentation layouts.

SMIL 2.1, published as a Recommendation on 13 December 2005, refined the modular architecture and introduced profiles intended for resource-constrained mobile systems. SMIL 3.0 followed on 1 December 2008 and consolidated the language’s timing, layout, linking, animation, and media-control facilities. The third version remains the final W3C Recommendation for the complete language.

Document and timing model

A SMIL document is an XML document whose root element identifies the language and normally divides the presentation into a descriptive head and a timed body. The head contains information that applies to the presentation as a whole, including layout declarations and document metadata. The body contains the temporal hierarchy through which playback is organized.

The seq time container assigns its child elements consecutive intervals. Each child begins in relation to the completion or other defined timing state of the preceding child, producing an ordered presentation without requiring absolute timestamps for every item.

The par time container assigns overlapping active intervals to its children. It is used when visual material and an associated audio track occupy a shared period, although the individual resources may have different durations or explicit offsets.

The excl time container permits only one of its eligible children to remain active at a given time. Its behavior supports presentations in which user interaction or a defined event replaces one timed object with another rather than displaying both simultaneously.

Timing attributes supplement these containers with explicit interval constraints. The begin attribute identifies the condition that initiates an element, while the dur attribute specifies a simple duration independently of the media resource’s intrinsic length. The end attribute supplies an explicit termination condition, and repetition attributes extend an interval through a defined number of iterations or for a specified total duration. Timing expressions may refer to clock values, interaction events, or synchronization points derived from other elements in the same document.

This model separates an element’s simple duration from its active duration. The simple duration describes one traversal of the element, whereas the active duration incorporates repetition and other timing constraints imposed by the surrounding hierarchy. Parent time containers also constrain their descendants, so the effective interval of a resource results from both its own attributes and the interval calculated for its ancestors.

Media composition and layout

SMIL media elements represent external resources through references rather than prescribing their encoding. An audio element can identify a separately stored sound resource, while a video element can identify a moving-image resource whose decoding remains the responsibility of the playback system. Text and still-image resources follow the same reference model, allowing synchronization to operate without redefining their underlying formats.

Spatial composition is expressed through named regions. A layout declaration establishes a presentation surface and assigns rectangular areas within that surface. Timed visual media refer to those regions, connecting temporal activation with a defined rendering position. SMIL 1.0 supplied a compact layout system, while later versions introduced additional control over alignment, stacking behavior, and background presentation.

The language’s hyperlink model extends ordinary document navigation by associating links with timed objects and temporal positions. A link can remain available only during the active interval of its source element, and a destination can identify a particular point within another timed presentation. This combination of temporal and structural addressing distinguishes SMIL links from static links whose availability does not depend on playback state.

Conditional processing permits a document to select among alternative resources according to declared system tests. These tests describe properties such as supported language capabilities or available presentation dimensions. A playback system evaluates the alternatives as part of document interpretation, allowing one temporal structure to reference media variants suited to different environments.

Relationship to other web technologies

SMIL’s timing architecture was designed as a modular technology rather than exclusively as a standalone presentation language. Portions of the architecture were incorporated into SVG animation, where attributes derived from SMIL control changes to graphical properties over time. In that context, the timing model operates inside an SVG document instead of within a complete SMIL presentation.

The development of HTML5 produced a different approach to web multimedia. HTML5 introduced native audio and video elements, while timed text became associated with formats such as WebVTT. Dynamic coordination in web applications increasingly relied on JavaScript, the Document Object Model, and browser media APIs. These technologies did not reproduce SMIL as a complete declarative presentation language, but they covered many of the use cases that had motivated general-purpose SMIL playback in web browsers.

SMIL also differs from Cascading Style Sheets, although both separate aspects of presentation from encoded media. CSS primarily controls rendering and visual style within document trees, whereas SMIL defines temporal intervals and synchronization relationships. Later web animation systems combined script-based timing with CSS property animation, reducing direct dependence on SMIL outside XML-oriented applications.

Applications and implementation

General-purpose implementations included the RealPlayer presentation system and research-oriented players such as Ambulant. Authoring environments including GRiNS represented the temporal hierarchy graphically while serializing the resulting presentation as SMIL markup. Implementation coverage varied because the specification was modular and because individual players supported different media decoders, layout features, and language profiles.

A constrained form of SMIL became part of the Multimedia Messaging Service presentation model. In that environment, the language coordinated images, text, audio, and other message components as a sequence of timed slides. Mobile profiles limited the available elements and layout behavior to produce a smaller processing model than the complete desktop-oriented language.

SMIL acquired a separate role in accessible publishing, particularly within the DAISY Digital Talking Book standards. DAISY publications use SMIL documents to associate portions of recorded narration with corresponding locations in structured text. The synchronization layer permits navigation by document structure while preserving the temporal continuity of the audio presentation.

Browser support for standalone SMIL documents remained limited and inconsistent. Support for SMIL-derived animation inside SVG became more widespread than support for the full presentation language, although the precise set of implemented animation features differed among rendering engines. Consequently, SMIL’s continuing technical significance lies chiefly in its timing model, its specialized publishing applications, and its influence on later declarative multimedia systems.

File identification

Standalone SMIL documents commonly use the .smil filename extension, while .smi also appeared in early implementations. The shorter extension can be ambiguous because it has additionally been associated with Microsoft’s SAMI caption format. The registered media type for XML-based SMIL documents is application/smil+xml, which identifies the document syntax without implying any particular encoding for the media resources referenced by the presentation.

See also