SMIL 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.
SMIL 1.0 became a W3C Recommendation in June 1999.
SMIL 2.0 became a W3C Recommendation in 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 became a W3C Recommendation in 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 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.
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.
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.
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 is anticipated for use within TEI documents.
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 by HD DVD for advanced interactivity.
The field of Digital Signage is embracing SMIL as a means of controlling dynamic advertising in public areas.
The Internet Video Site Hulu uses SMIL as part of its media playing technology.
In order to view a SMIL presentation, a client will need to have a SMIL player installed on his/her computer. Examples include:
It would be convenient to be able to show these SMIL files natively in web browser, eliminating the requirement of a separate SMIL player or plug-in. Currently, Microsoft's Internet Explorer has limited support for SMIL features. The open-source Mozilla project is incorporating SMIL and other XML-related technologies such as SVG and MathML into their browsers.
Media player boxes based on dedicated 1080p decoder chips such as the Sigma Designs 8634 processor are getting SMIL players embedded in them.
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.