# Synchronized Multimedia Integration Language

Synchronized Multimedia Integration Language (SMIL (/smaɪl/)) is a World Wide Web Consortium recommended Extensible Markup Language (XML) markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities to HTML.
Members of the World Wide Web Consortium (also known as the "W3C") created SMIL for streaming media presentations, and published SMIL 1.0 in June 1998. Many of these W3C members helped author several versions of SMIL specifications between 1996 (when the first multimedia workshops were hosted by the W3C) and 2008 (when SMIL 3.0 was published). SMIL is an XML-based application, and is a part of many Multimedia Messaging Service (MMS) applications. SMIL can be combined with other XML-based specifications such as with SVG (as has been done with SVG animation) and with XHTML (as done with HTML+TIME).

## Version history

As of 2008, the W3C Recommendation for SMIL is SMIL 3.0.

### SMIL 1.0

SMIL 1.0 became a W3C Recommendation on 15 June 1998.

### SMIL 2.0

SMIL 2.0 became a W3C Recommendation on 9 August 2001. SMIL 2.0 introduced a modular language structure that facilitated integration of SMIL semantics into other XML-based languages. Basic animation and timing modules were integrated into Scalable Vector Graphics (SVG) and the SMIL modules formed a basis for Timed-Text. The modular structure made it possible to define the standard SMIL language profile and the XHTML+SMIL language profile with common syntax and standard semantics.

### SMIL 2.1

SMIL 2.1 became a W3C Recommendation on 13 December 2005. SMIL 2.1 includes a small number of extensions based on practical experience gathered using SMIL in the Multimedia Messaging System on mobile phones.

### SMIL 3.0

SMIL 3.0 became a W3C Recommendation in December 2008. It was first submitted as a W3C Working draft on December 21, 2006. The last draft revision was released on October 6, 2008.

## Authoring tools

Authoring and rendering tools for smilText and SMIL 3.0 PanZoom functionality:
* Fluition by Confluent Technologies
* Ezer by SMIL Media
* Grins by Oratrix
* GoLive 6 by Adobe, discontinued in April 2008
* Hi-Caption, a captioning tool by Hisoftware
* HomeSite by Allaire, discontinued in September 2003
* JM-Mobile Editor for mobiles using SMIL and J2ME technologies
* Kino: a non-linear DV editor for Linux. It features integration with IEEE-1394 for capture.
* LimSee2 is an open source SMIL authoring tool, with support for SMIL 1.0 and SMIL 2.0.
* MAGpie, a captioning tool by WGBH
* MovieBoard, for e-learning (Japanese only)
* MMS Simulators list
* Perly SMIL, a SMIL 1.0 Perl module
* ppt2smil tool is a PowerPoint macro that convert a PowerPoint presentation to a streaming SMIL presentation with audio and/or video.
* RealSlideshow Basic by RealNetworks
* SMIL Composer SuperToolz by HotSausage
* Smibase, a server-installed software suite
* SMIL Editor V2.0 by DoCoMo
* SMILGen by RealNetworks, a SMIL (and XML) authoring tool designed to ease the process of XML.
* SMIL Scenario Creator by KDDI
* SMIRK presentation authoring tool for the production of accessible slide shows outputting to SMIL 2.0, SMIL 1.0, XHTML + SMIL, HTML 4.01.
* SMOX Pad and SMOX Editor, for advanced SMIL and HTML+Time development.
* SMG for a PDA, a BREW, a Phone and a PC by Smilmedia
* TAG Editor 2.0 - G2 release by Digital Renaissance ???
* Tagfree 2000 SMIL Editor
* Toolkit for MPEG-4 from IBM, creates MPEG-4 binary from content created in XMT-O (based on the SMIL 2.0 syntax and semantics).
* TransTool - open source transcription tool
* VeonStudio by Veon
* Validator: SMIL 1.0, SMIL 2.0, SMIL 2.0 Basic and XHTML+SMIL by CWI.
* 3TMAN allows to easily author the complex multimedia projects and then can export the multimedia projects to the Html+time and/or SMIL formats
Demos
* SMIL 2.0 Feature-by-feature demos by RealNetworks
* Torino and New York demos by Telecom Italia Lab
* SMIL1.0, SMIL 2.0 demos available from Oratrix.
* Synchronized Multimedia Summer School at INRIA
* The Webnews demo, by CWI. (needs an HTML renderer)
* Demos available from RealNetworks
* SMIL 1.0 tutorial written in SMIL
* SMIL1.0 demo of the Canyonlands
* XHTML+SMIL demos, by Microsoft (works In > IE5.5 only)
* XHTML+SMIL demos, by Patrick Schmitz (works In > IE5.5 only)
* Demos of SMIL Animation used in combination with SVG at Burning Pixel and KevLinDev
* Karaoke demo; SMIL version, you can directly test a Html+time version for IE6. An enhanced Karaoke demo.

## SMIL documents

A SMIL document is similar in structure to an HTML document in that they are typically divided between an optional <head> section and a required <body> section. The <head> section contains layout and metadata information. The <body> section contains the timing information, and is generally composed of combinations of three main tags—sequential ("<seq>", simple playlists), parallel ("<par>", multi-zone/multi-layer playback) and exclusive ("<excl>", event-triggered interrupts). SMIL refers to media objects by URLs, allowing them to be shared between presentations and stored on different servers for load balancing. The language can also associate different media objects with different bandwidth requirements.
For playback scheduling, SMIL supports ISO-8601 wallclock date/time specification to define begin/end events for playlists.
SMIL files take either a .smi or .smil file extension. However, SAMI files and Macintosh self mounting images also use .smi, which creates some ambiguity at first glance. As a result, SMIL files commonly use the .smil file extension to avoid confusion.

## Combination with other XML-based standards

SMIL was created during a time when structured data using XML was very popular and during a time when Internet Explorer was very popular. Thus "combining" SMIL with other markup languages was considered one of the best current practices of the day.

### SMIL+SVG

SMIL is one of three means by which SVG animation can be achieved (the others being JavaScript and CSS animations).

### SMIL+RSS or other web syndication methods

While RSS and Atom are web syndication methods, with the former being more popular as a syndication method for podcasts, SMIL is potentially useful as a script or playlist that can tie sequential pieces of multimedia together and can then be syndicated through RSS or Atom. In addition, the combination of multimedia-laden .smil files with RSS or Atom syndication would be useful for accessibility to audio-enabled podcasts by the deaf through Timed Text closed captions, and can also turn multimedia into hypermedia that can be hyperlinked to other linkable audio and video multimedia.

### SMIL+VoiceXML and SMIL+MusicXML

VoiceXML can be combined with SMIL to provide a sequential reading of several pre-provided pages or slides in a voice browser, while combining SMIL with MusicXML would allow for the creation of infinitely-recombinable sequences of music sheets. Combining SMIL+VoiceXML or SMIL+MusicXML with RSS or Atom could be useful in the creation of an audible pseudo-podcast with embedded hyperlinks, while combining SMIL+SVG with VoiceXML and/or MusicXML would be useful in the creation of an automatically audio-enabled vector graphics animation with embedded hyperlinks.

### SMIL+TEI

SMIL is anticipated for use within Text Encoding Initiative (TEI) documents.

## Status of SMIL

SMIL is being implemented on handheld and mobile devices and has also spawned the Multimedia Messaging Service (MMS) which is a video and picture equivalent of Short Message Service (SMS).
SMIL is also one of the underlying technologies used for "Advanced Content" in the (discontinued) HD DVD format for adding interactive content (menus etc.).
The field of Digital Signage is embracing SMIL as a means of controlling dynamic advertising in public areas.

## SMIL players
### Software

Most commonly used web browsers have native support for SMIL, but it has not been implemented in Microsoft browsers. It was to be deprecated in Google Chrome, but it has now been decided to suspend that intent until alternatives are sufficiently developed. Other software that implement SMIL playback include:
* Adobe Media Player
* Amarok
* Garlic Player
* Helix Player
* QuickTime Player
* RealPlayer
* Totem
* Windows Media Player (Playlist Files)
* Zune (Playlist Files)

### Hardware

* IAdea XMP-300 media player
* IAdea XMP-7300 media player (with limitations)
* Planar MP70 media player (with limitations)
* SpinetiX HMP400 / HMP350 / HMP300 Hyper Media Player (SMIL 3.0 support)
* Thomson/Grass Valley MediaEdge-3 player
* ViewSonic NMP-550 media player
* ViewSonic EP1020r wireless display+player (supporting a subset of SMIL)
* Innes DMC200 media player
* Innes DME204 media player with HD H264 encoder embedded
Media player boxes based on dedicated 1080p decoder chips such as the Sigma Designs 8634 processor are getting SMIL players embedded in them.

### Embedding SMIL files into XHTML web pages

A SMIL file must be embedded, then opened using a plug-in such as Apple's QuickTime or Microsoft's Windows Media Player, to be viewed by a browser that doesn't support SMIL.

## Sources

* van der Heijden, Dennis (2007-05-25). "SMIL Standards and Microsoft Internet Explorer 6, 7, and 8". Axistive. Archived from the original on 2007-06-03. Retrieved 2013-11-22.