Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Synchronized Multimedia Integration Language (SMIL)

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Synchronized Multimedia Integration Language (SMIL)
Description

Synchronized Multimedia Integration Language (SMIL), pronounced “smile”, is a World Wide Web Consortium (W3C) open standard, extensible markup language prepared by the Synchronized Multimedia Working Group (SYMM WG). The Synchronized Multimedia Integration Language (SMIL 3.0), W3C Recommendation 01 December 2008 (referenced throughout this document) standard is the most current version, extending functionalities contained in SMIL 2.1, but also introduces some new modules and defines 3 new profiles.

SMIL 3.0 standard describes multimedia presentations, defining object timing, layout, animation, transition, and linked media elements. The standard states SMIL 3.0’s main design goal as “Define an XML-based language that allows authors to write interactive multimedia presentations. Using SMIL 3.0, an author may describe the temporal behavior of a multimedia presentation, associate hyperlinks with media objects and describe the layout of the presentation on a screen.”

Structure of SMIL 3.0

SMIL 3.0 standard defines a set of markup modules, their semantics and XML syntax. SMIL 3.0 uses the concepts of Modularization and Profiling for integrating functionality.

  • Modularization: markup specified as modules containing XML elements and attributes/values, defined in coherent sets.
  • Profiling: creates XML-based language combination of the modules, providing specific functions required by a specific application.

SMIL 3.0 Scalability Framework - SMIL 3.0 includes functionality for various multimedia services (text, images, video, etc) for various platforms (desktops, mobile phones, car navigation, etc.), with each platform having their own specific requirements. SMIL 3.0 groups similar elements/attributes together (Modules) to produce Profiles that meet the needs of the different platforms. As stated in the standard, “For example, a hand held device, digital talking book player, or a mobile phone may only support a small subset of SMIL 3.0 modules in its own profile.”

Modules:

  • Animation: used for incorporating animation onto a timeline
  • Content Control: used for runtime content choices and optimized content delivery
  • Layout: used for positioning of media elements on visual/audio rendering surfaces and control audio volume
  • Linking: navigational hyperlinking, may be triggered by user interaction or other events
  • Media Objects: for referencing external media objects or controlling media object rendering behavior
  • SmilText: new media type, provides a text container element for a content model for defining timed text
  • Metainformation: descriptive information and presentation semantics of the document
  • Structure: mandatory module for structuring content
    • <smil> root element, may contain <head> and <body> elements
      • <head> - contains meta, layout, author information, and others depending on the profile
      • <body> - contains temporal and linking behavior information
  • Identity: identifies SMIL version and SMIL profile
  • Timing: coordinates and synchronizes the presentation media over time, media broad term, can include discrete media (still images, text, or vector graphics and/or continuous media (time-based; video, audio, animation)
  • Time Manipulations: manipulating time behavior, such as speed or rate of time
  • State: influences how the presentation runs, how the SMIL scheduler makes decisions, provides more control flow
  • Transitions: describing transitions and their parameters within SMIL, such fades and wipes
  • DOM: conforms to the (XML) DOM Core (DOM1, DOM2); 2 parts - module containing start/stop for presentation playback and descriptions of the attribute changes during playback

Profiles:

SMIL 3.0 Language Profile: contains support for all the major SMIL 3.0 features

SMIL 3.0 UnifiedMobile Profile: provides support for SMIL 3.0 Language and mobile devices (high-resolution display, sufficient memory/processor for rendering SMIL documents)

SMIL 3.0 DAISY Profile: tailored specifically for the DAISY standard and DAISY digital talking books

SMIL 3.0 Tiny Profile: simple SMIL presentations for devices with reduced capabilities, such as MP3/MP4 players or car navigation systems

SMIL 3.0 smilText Profile: support for external streaming text container, referenced outside of the content of the SMIL file

-

W3C’s Simple SMIL Example (listing multiple media files and sequence):

<smil><!--The SMIL file must start with a <smil> tag and end with the </smil> closing tag.-->
<head> <!-- SMIL file header, specify meta information in the multimedia presentation-->
<meta name="author" content="Jane Morales"/>
<meta name="title" content="Multimedia My Way"/>
<meta name="copyright" content="(c)1998 Jane Morales"/>
</head>
<body>
<seq> <!-- To play clips in sequence, use the <seq> ("sequence") SMIL tag.-->
<audio src="audio/newsong.wav"/>
<audio src="audio/oldsong.snd"/>
</seq>
</body>
</smil>

Uses of SMIL 3.0

As stated in the standard’s introduction, “Using SMIL 3.0, an author may describe the temporal behavior of a multimedia presentation, associate hyperlinks with media objects and describe the layout of the presentation on a screen.”

The SMIL format is increasingly being used for the creation and customization of digital signage. According to Garlic-Player.com’s resource article, SMIL suits perfect for Digital Signage, December 2022, “SMIL is an investment safe industrial standard from the W3- Consortium. Everyone can use SMIL to create applications without paying license fees. Companies are no more forced to reinvent the wheel. They can use solid field proven and powerful concepts which covers every use case... Overall, SMIL is a powerful and flexible language that is well-suited for creating and managing multimedia content.

A-Smil.org is a website dedicated to “Advocacy for SMIL as an open standard for digital signage.”

Relationship to other formats
    Defined via XML, Extensible Markup Language (XML).
SMIL defines an XML-based language.
    Defined via XML 1.0, Extensible Markup Language (XML) 1.0.
Per standard, “The SMIL 3.0 Conformant document MUST conform to the following W3C Recommendations: The XML 1.1 specification (Extensible Markup Language (XML) 1.1). Note: SMIL 3.0 conforms to both XML 1.1 and XML 1.0, with XML 1.1 being the definitive reference because it is newer.”
    Defined via XML 1.1, Extensible Markup Language (XML) 1.1.
Per standard, “The SMIL 3.0 Conformant document MUST conform to the following W3C Recommendations: The XML 1.1 specification (Extensible Markup Language (XML) 1.1). Note: SMIL 3.0 conforms to both XML 1.1 and XML 1.0, with XML 1.1 being the definitive reference because it is newer.”
    Defined via XHTML 1.1, Extensible HyperText Markup Language (XHTML) 1.1.
Per standard, “The elements names, attributes names and attribute values of SMIL linking constructs are, where possible, the same as constructs in XHTML [XHTML11] with corresponding linking behavior.”
    Used by XHTML 1.0, Extensible HyperText Markup Language (XHTML).
Per standard, ‘SMIL 3.0 components are used for integrating timing into XHTML [XHTML10]”
    Used by SVG, Scalable Vector Graphics (SVG) 1.1.
Per standard, ‘SMIL 3.0 components are used for integrating timing into SVG [SVG].”
    May contain CSS, Cascading Style Sheet (CSS) Markup.
Per standard, “Any use of CSS styles and properties shall conform to Cascading Style Sheets, level 2 CSS2 Specification.”
    Has earlier version SMIL 2.1, Synchronized Multimedia Integration Language (SMIL) 2.1.
Not described separately at this time. See Notes for more information. Per standard, “SMIL 3.0 edition is a new version, it extends the functionalities contained in SMIL 2.1.”
    Has earlier version SMIL 2.0, Synchronized Multimedia Integration Language (SMIL) 2.0.
Not described separately at this time. See Notes for more information.
    Has earlier version SMIL 1.0, Synchronized Multimedia Integration Language (SMIL) 1.0.
Not described separately at this time. See Notes for more information.
    May have component TTML1, Timed Text Markup Language Version 1 (TTML1).

The TTML1 specification states “While TTML is not expressly designed for direct (embedded) integration into an HTML or a SMIL document instance, such integration is not precluded.”

TTML may provide a standard content format to reference from a <text> or <textstream> media element in a SMIL 3.0 document.

Vocabulary Derivation - TTML element vocabulary items are based on the syntactic and/or semantic model defined by the reference SMIL 3.0.


Local use Explanation of format description terms

LC experience or existing holdings Likely exists in LC collections but not separately documented.
LC preference The Library of Congress has not defined format preferences for caption or subtitle files for moving image works in the Recommended Formats Statement.

Sustainability factors Explanation of format description terms

Disclosure Open standard and fully documented. Synchronized Multimedia Integration Language (SMIL) 3.0 is a W3C Recommendation which is considered a Web standard.
    Documentation

Synchronized Multimedia Integration Language (SMIL 3.0) | W3C Recommendation 01 December 2008. Maintained by W3C and the Synchronized Multimedia Working Group (SSMM WG). The SYMM WG closed April 1, 2012.

See Format Specification below for links to previous versions.

Adoption

According to Alejandro Mur in the MamutLove.com’s blog, Masks, Gradients and SMIL Animations on an SVG, October 2020, “The future of SMIL is far from being clear. It has a wide support but it could loss strength if the browsers reject it and bet for pure CSS animations and the newest Web Animations API.”

According to SignageOS.io’s blog, Universal SMIL Support for Digital Signage, October 2020, “Due to improvements to the SMIL open standard and its highly cost-efficient nature, SMIL remains a viable option for digital signage content distribution. Digital signage leaders including IAdea and ViewSonic, and software providers like SignageLive first offered SMIL compatible devices and player apps as early as 2004. Since that time, few companies chose to adopt and use the SMIL open standard for publishing content because of its lack of compatibility and support in web browsers. Today, major companies like Adobe, Apple, Microsoft still maintain SMIL compatibility for various purposes.”

Matt Visiwig in Is SMIL dead in 2022? Nope, September 2022, at the end of 2015 “SMIL had been sentenced to an abrupt end as Chrome announced intention to deprecate SMIL...Fast-forward to 2022 and the only browsers that don’t support SMIL are Internet Explorer (officially retired) and Opera Mini.

SMIL 3.0 Interoperability Implementation Report

Up-to-date browser support for SMIL on CanIUse.com.

Comments welcome.

    Licensing and patents

None. The W3C Patent Policy governs the handling of patents in the process of producing Web standards. The W3C Patent Policy has the goal of assuring that all W3C Recommendations can be implemented on a royalty-free basis.

Comments welcome.

Transparency

SMIL 3.0 files are XML-based, so they are both human-readable and machine-readable. These files are plain text, which means they can be viewed with any text editor.

While SMIL files can be written using a simple text-editor, there are authoring applications that allow users to produce SMIL presentation content.

The W3C’s Synchronized Multimedia page lists a variety of Authoring Tools for SMIL.

Comments welcome.

Self-documentation

The SMIL 3.0 metadata element has been expanded from SMIL 1.0 and 2.0, as described in the SMIL 3.0 Metainformation section of the standard. Overview of changes:

  • SMIL 1.0: allowed document descriptions using basic vocabulary with the ‘meta’ element.
  • SMIL 2.0: extended SMIL 1.0 to introduce ‘metadata’ element used with Resource Description Framework Model and Syntax Specification.
    • Per standard, “RDF is a declarative language and provides a W3C- recommended way for using XML to represent metadata in the form of statements about properties and relationships of items on the Web. Such items, known as resources, can be almost anything, provided they have a Web address. This means that you may associate metadata information with a SMIL document, but also a graphic, an audio file, a movie clip, or a structural sub-portion of a SMIL document.”
  • SMIL 3.0: expanded upon SMIL 2.0 ‘metadata’ element allowing multiple encoding in a single presentation. Additionally, SMIL 3.0 now allows metainformation in the body section of the document and not just the head section. Introduces ‘label’ attribute that specifies a URI to a SMIL document that provides extra descriptive information

A SMIL 3.0 Profile ultimately determines what Metainformation is required, supported, and which elements (child elements) have metadata.

According to Britta Meixner in Using SIVA XML and SMIL for Interactive Non-linear Videos: A Comparison, June 2014, “Standards like SMIL provide extensive structures to describe metadata for timing and spacing of single media elements which then forms a presentation.

Comments welcome.

External dependencies

None beyond availability of supporting software/hardware.

The standard defines a SMIL document player as “those applications that support playback of “application/smil+xml” documents and host language conformant document profiles.”

The W3C’s Synchronized Multimedia page lists SMIL players that support the different versions of SMIL, including Ambulant 2.0, RealPlayer, and GRiNS.

Comments welcome.

Technical protection considerations

RFC 4536 published May 2006 - IANA.org Regulations Security Considerations: See Section 6, "Security Considerations."

Network Working Group | Request for Comments: 4536 The application/smil and application/smil+xml Media Types, Security Considerations, Section 6:

“SMIL documents contain a construct that allows "infinite loops". This is indispensable for a multimedia format. However, SMIL clients should foresee provisions such as a "stop" button that lets users interrupt such an "infinite loop".

As with HTML, SMIL documents contain links to other media (images, sounds, videos, text, etc.), and those links are typically followed automatically by software, resulting in the transfer of files without the explicit request of the user for each one. The security The SMIL language contains "switch" elements. SMIL provides no mechanism that ensures that the media objects contained in a "switch" element provide equivalent information. An author knowing that one SMIL player will display one alternative of a "switch" and another will display a different part can put different information in the two parts. While there are legitimate use cases for this, it also gives rise to a security consideration: The author can fool viewers into thinking that the same information was displayed when in fact it was not.

In addition, all of the security considerations of RFC 3023 also apply to SMIL.”

Comments welcome.


Quality and functionality factors Explanation of format description terms

Text
Normal rendering

Good support. Per the standard, “SMIL 3.0 Conformant document MUST be well-formed XML.”

See XML.

Comments welcome.

Integrity of document structure

See XML.

Comments welcome.

Integrity of layout and display

See XML.

Comments welcome.

Support for mathematics, formulae, etc.

Little to no information on SMIL 3.0’s support of mathematics, chemical formulae, diagrams, etc.

See XML.

Comments welcome.

Functionality beyond normal rendering

SMIL 3.0 defines Animation Modules (optional), BasicAnimation and SplineAnimation, to incorporate animation into a presentation.

See XML.

Comments welcome.


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension smil
See https://www.iana.org/assignments/media- types/application/smil.
Filename extension smi
Per IANA.org “NOTE: On the Windows operating system and the Macintosh platform, the ".smi" extension is used by other formats. To avoid conflicts, it is thus recommended to use the extension ".smil" for storing SMIL files on these platforms.” See https://www.iana.org/assignments/media- types/application/smil.
Filename extension sml
See https://www.iana.org/assignments/media- types/application/smil.
Internet Media Type application/smil+xml
Per specification. See https://www.w3.org/TR/SMIL3/smil-modules.html#smilModulesNS- SMIL30MimeModules-Mime
Internet Media Type text/smil
XML-based markup language for multimedia presentations. See https://www.wikidata.org/wiki/Q1072180
Magic numbers RFC 4536 published May 2006 – IANA.org Regulations Magic Numbers: “There is no single initial byte sequence that is always present for SMIL files.” Section 4 of RFC 4536 document gives some guidelines for recognizing SMIL files.
Pronom PUID fmt/205
See http://www.nationalarchives.gov.uk/PRONOM/fmt/205.
Wikidata Title ID Q1072180
XML-based markup language for multimedia presentations. See https://www.wikidata.org/wiki/Q1072180

Notes Explanation of format description terms

General

Previous Versions of SMIL: Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, released in June of 1998 and was the “first version of SMIL integrating a set of independent multimedia objects into a synchronized multimedia presentation.” Synchronized Multimedia Integration Language (SMIL 2.0) - [Second Edition], released in January 2005, extending the functionality of SMIL 1.0, “SMIL 2.0 deprecates a small amount of SMIL 1.0 syntax in favor of more DOM friendly syntax.” Also, SMIL 2.0 updated the meta information functionalities with the introduction of the <metadata> element. Synchronized Multimedia Integration Language (SMIL 2.1), released in December 2005, was a new version built on top of SMIL 2.0 that introduced some new modules as well as new profiles built using SMIL 2.0 modules. Synchronized Multimedia Integration Language (SMIL 3.0), released in December 2008, built on top of SMIL 2.1, added three new profiles and two modules.

Each version provides a comparison to the previous version, detailing changes or updates.

History

W3C announced the Synchronized Multimedia Integration Language (SMIL) first working draft in November 1997, enabling authors to create television-like content for the Internet using a simple text editor. SMIL was developed by the W3C Synchronized Multimedia (SYMM) Working Group, including industry members from Digital Equipment Corporation, Lucent/Bell Labs, Microsoft, Netscape, Philips, RealNetworks and The Productivity Works, and leading research organisations such as Columbia University, CWI and INRIA. The SYMM Working Group’s mission is to continue to extend the functionalities started in SMIL 1.0, investigate proposals, and potentially develop new ones.

Synchronized Multimedia Integration Language | W3C Working Draft specifies “SMIL allows integrating a set of independent multimedia objects into a synchronized multimedia presentation” and list features of SMIL presentation. The document also covers SMIL’s relation to XML, syntax, and file layout. Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, released in June of 1998.

See notes for more information on previous versions of SMIL.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 05/18/2023