Get up to speed with SMIL 2.0

An XML-based approach to integrating multimedia into Web content

SMIL 2.0, the Synchronized Multimedia Integration Language, has begun to establish itself as an important new approach for integrating multimedia into Web content. SMIL, which offers XML-based approaches for controlling the timing and presentation of multimedia elements, has begun to attract the support of many large software vendors and toolmakers, making it increasingly accessible for developers. In this article, Anne Zieger provides an overview of SMIL and describes several tools available to make SMIL coding simpler.

Anne Zieger, Chief Analyst and founder, PeerToPeerCentral.com

Photo of Anne ZiegerAnne Zieger is a widely published analyst, writer, and speaker whose work has appeared in many of the tech industry's leading journals, including developerWorks, Information Week, Byte.com, InfoWorld, CIO, and Internet World. Zieger is chief analyst and founder of PeerToPeerCentral.com, the leading analyst firm researching the impact of peer-to-peer technology on enterprises. She can be reached at azieger@peertopeercentral.com.



01 September 2002

For developers outside the multimedia world, the Synchronized Multimedia Integration Language, or SMIL, may be something of an obscure technology. But at least among a few key players, SMIL has begun to establish itself as an important approach to presenting multimedia online.

SMIL support has crept into technologies backed by Adobe, Microsoft, and perhaps most prominently, media delivery leader Real Networks. A wide variety of smaller vendors have begun to provide SMIL authoring tools and players as well.

In days to come, as support for the current 2.0 specification grows, working with SMIL could become a standard strategy for any developer whose work requires some form of multimedia asset control. If the growing roster of tool creators is any indication, building presentations in SMIL should become easier as well.

SMIL history and overview

SMIL has been in development since March 1997, when the World Wide Web Consortium (W3C) established a working group on synchronized multimedia.

SMIL is an XML-based language that allows authors to write interactive multimedia presentations without using multimedia management tools such as Macromedia Director. Authors can describe the timing of multimedia presentations, associate hyperlinks with media objects and define the layout of the presentation onscreen. The SMIL 2.0 spec, for its part, is a series of markup modules defining semantics and XML syntax for certain SMIL functions.

The W3C released the first version of SMIL in November 1997, attracting a moderate level of industry attention, including some support from Real, Adobe, and Microsoft.

With the 2.0 version of SMIL, released in August 2001, these companies remain on board; in addition, more than a dozen independently-crafted SMIL authoring platforms have arrived on the market. According to W3C documents, SMIL 2.0 has two main design goals:

  1. To further define an XML-based language that allows authors to write interactive multimedia presentations.
  2. To allow re-use of SMIL 2.0 syntax and semantics in other XML-based languages, notably integrating timing into XHTML and Scalable Vector Graphics (SVG). (SVG is a language for describing two-dimensional graphics in XML.)

One example of how the group met the second goal is Microsoft's XHTML + SMIL profile, which integrates SMIL directly with XHTML and Cascading Style Sheets. While technically not part of W3C's SMIL 2.0 recommendation, they're linked; one of the implementations used to validate SMIL 2.0 was based on the XHTML + SMIL profile.


Vendor support

Arguably, the most dedicated and visible vendor in the SMIL arena is Real Networks, whose RealOne player supports playback of SMIL presentations. To support SMIL authoring, Real released its own XML/SMIL authoring tool, SMILGen, in September 2001.

Microsoft added a subset of SMIL support to Internet Explorer starting with version 5.0. The current version of IE, 6.0, has extended its SMIL support. IE 6.0 allows developers to:

  • Use SMIL filters and effects (such as fading an image)
  • Transition between text or media elements by using wipes
  • Apply a graduated color background to an element, controlling the timing for each

Another SMIL-friendly vendor is Adobe, whose visual authoring program for Web designers, GoLive Studio, offers both SMIL and QuickTime editors. GoLive is designed to be a highly comprehensive package; the fact that SMIL is included as a standard feature suggests the extent to which it has become an accepted approach to media production.

The wireless industry, meanwhile, has taken on SMIL as a means of enriching its current text-based messaging technology. Many industry players expect to see the highly popular Short Messaging Service (SMS) evolve into Multimedia Messaging Service (MMS) as wireless networks adopt second- and third-generation technologies. Using SMIL encoding and SMIL-based players, MMS would add text, images, audio, and eventually video to SMS.


Tools and media players

In addition to large industry groups and vendors, smaller players are leaping into the SMIL support industry.

Netherlands-based Oratrix Development, for example, produces both a generic SMIL editor (GriNS Pro Editor for SMIL 2.0) and a SMIL editor targeted specifically at RealNetworks' RealOne platform (GriNS Editor for Real One). The Real editor offers integrated RealMedia conversion or direct import of RealMedia; it also provides integrated publishing for RealOne and optional upload to RealServer.

Oratrix also offers its own SMIL player, the GriNS Player for SMIL 2.0. The player includes extensions that allow migration of examples with SVG and XHTML + SMIL/HTML + TIME.

Another entrant is Toronto-based Confluent Technologies, which publishes a SMIL authoring tool called Fluition. Fluition can be bought separately, but also comes bundled with Real's RealPlayer and RealProducer apps.

The Fluition API Edition for Windows, released in April 2001, is an ActiveX DLL set that allows developers to integrate SMIL code into applications that support ActiveX controls.

London-based Ovate takes a different approach. Its Smibase product is a server-installed software suite that enables creation and management of synchronized multimedia presentations. Smibase is a database-driven SMIL content management system.

Smibase creators designed the product to make SMIL content more accessible; the suite's authors had previously found that their clients could do little to upgrade or reuse SMIL code without highly specialized training.

Yet another participant in SMIL development is Israeli toolmaker InterObject, which has developed a SMIL 2.0 player running over standard Windows platforms along with the PocketPC. InterObject's player includes an easily-modified skin GUI based on User Interface Markup Language (UIML).


Comparing SMIL approaches

Without attempting to provide an overall primer on the use of SMIL, which would take up far more than the space allotted here, there are a few basic approaches that distinguish some of the major deployments. Perhaps the most important are those promoted by RealNetworks and Microsoft.

RealNetworks

As previously noted, perhaps the most extensive implementation of SMIL 2.0 comes from Real Networks. RealOne Player supports the SMIL 2.0 Language Profile, which incorporates most, though not all, of the modules supported by SMIL.

In addition to supporting most standard SMIL modules, RealNetworks has developed several of its own extensions to SMIL. To use these extensions, developers must follow the standard XML declaration, defining namespaces with a specialized line that adds a Real namespace (in this example, rn):

<smil xmlns= "http://www.w3.org/2001/SMIL20/Language"

xmlns:rn = "http://features.real.com/2001/SMIL20/Extensions">

Here's an example of the RealNetworks backgroundOpacity attribute, which follows this convention:

rn:backgroundOpacity="50%"

The prefix is user-defined, though the attribute name is predefined. The namespace must therefore use the same user-defined prefix as the attribute.

Microsoft

Microsoft's HTML+TIME adds timing and multimedia support to HTML pages, using a short list of SMIL-based XML elements and attributes. To add timing to an HTML document, developers add new attributes to existing HTML elements. The new elements were created to simplify adding media to these HTML pages.

To use any of the HTML+TIME elements, developers must declare the XML namespace t in the HTML tag:

<HTML XMLNS:t="urn:schemas-microsoft-com:time">

To use the namespace, developers preface HTML+TIME elements with t, then import the time2 behavior into the namespace as follows:

<?IMPORT namespace="t" implementation="#default#time2">

Other deployments

Other than these two vendors, most authoring tool and player developers seem to differ primarily in whether they're focused exclusively on full desktop deployments of SMIL, or paying at least some attention to the basic SMIL 2.0 subset that's used for smaller-footprint mobile devices.

Also, as wireless networks evolve, SMIL players focused on MMS deployments should introduce new considerations into SMIL authoring.


Future directions

As SMIL's popularity grows, developers are branching out into tools and tactics borrowed from other coding environments. Independent projects adding power or functionality to SMIL include PerlySMIL, a tool that creates dynamic SMIL files using Perl, and Cheshire Cat, a project that integrates SMIL with industry standard multimedia authoring tool Macromedia Director.

Future projects bringing SMIL into other programming worlds seem likely, with Java technology-related projects an especially likely target:

  • Soja, a Java-based SMIL 1.0 player already created by the French non-profit development house Helio
  • Schmunzel SMIL 1.0 player created in Java technology by SunTREC Salzburg
  • X-SMILES, a Java-based open browser supporting XML

As SMIL 2.0 adoption continues, Java technology projects embracing the 2.0 standard are almost certain to follow.

The already flourishing group of tools for SMIL is also likely to grow in coming months, as Web design specialists reach out for new multimedia options and multimedia houses continue to seek smoother Web delivery.

All told, it's looking like a promising year for SMIL. Developers who get involved now may shape the future of what could be a rich medium for enhancing multimedia on the Web.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into XML on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=XML
ArticleID=12153
ArticleTitle=Get up to speed with SMIL 2.0
publish-date=09012002