Developing Multimedia Content with SMIL

by: Jay Gitomer

Copyright 2001, Faulkner Information Services. All Rights Reserved.

Docid: 000????
Publication Date: 01??
Publication Type: IMPLEMENTATION

Preview

SMIL (Synchronized Multimedia Integration Language) is a markup language developed specifically to deliver interactive presentations over the Web. Presentations created in SMIL call content from the Web to the browser as needed, instead of downloading a large file containing all components before running. This allows SMIL files to be very small, which benefits the network. By caching content strategically, network benefits can be increased further. Because content in a SMIL presentation is maintained in discrete files, updating individual components doesn't require any changes to the SMIL script itself. This model also enables a single content item to be used in innumerable presentations. In addition to being easy to maintain and flexible, SMIL is easy to learn and inexpensive to implement. This report describes SMIL environment, modules, and objects and functions.

Report Contents:

Executive Summary

[return to top of this report]

SMIL (Synchronized Multimedia Integration Language) is a markup language that was developed specifically to deliver multimedia over the Web. SMIL It offers a versatile and powerful way to deliver interoperability, device choice and searchability to end users. Though powerful, SMIL is also network-friendly. The objects called by SMIL files can be archived, re-used, cached, and used in combination with each other, enabling better management of creative assets.

Related Faulkner Reports
Directory
Timeline
Company Profile
Services
State of the Marketplace
Directory

SMIL 2.0 offers some strong advantages over its competitors, including a faster learning curve. Used in conjunction with a database, SMIL can be used to build personalized, dynamic sites that are accessible to users on a variety of platforms, while meeting specialized needs such as alternate languages and accessibility needs.

 

 

 

Description

[return to top of this report]
In the same way that HTML controls the way that text and graphics appear in a browser, SMIL (synchronized multimedia integration language) controls the way that objects appear in a multimedia presentation. SMIL is a language based on XML that is specifically designed to allow developers to easily synchronize multimedia objects, such as audio, video, graphic and text files, as they appear in a presentation. SMIL takes advantage of the Web's ability to provide interoperability, flexibility, device choice, and searchability to deliver presentations that offer more than the passive types of presentations that can be delivered over a television.

SMIL differs from the established multimedia technologies, such as DHTML, Flash or Generator, in several key areas. For developers or designers who have an understanding of HTML, SMIL is easy to learn, far more so than its competitors. In terms of development time, multimedia objects that comprise a SMIL file can be edited more easily than is possible in any competing technology.

Objects, which are audio, video, graphic or text files, are summoned by a SMIL file in the same way that an HTML file calls other pages by using hyperlinks. Therefore, SMIL presentations can employ independent resources, such as banner ads, which can be updated without any changes being made in the SMIL file itself.

SMIL offers a great deal of versatility in its handling of objects. Objects can overlap, fade into one another, be combined with streaming or archived material, and be selected by the end user to create a customized presentation on the fly.

SMIL offers versatility in other ways as well. It supports multiple languages and bit rates through the use of 'profiling'. Profiling detects an end user's computer settings and responds; a corporate user on a T1 in the United States will automatically be sent a high-bandwidth version of a presentation in English, while an end user logging in from a residence in Paris can get a lower-bandwidth version in French.

SMIL presentations can meet accessibilty requirements by detecting and responding to screen versions and including captions for the blind or other enhancements.

Rather than downloading as a single multimedia file, SMIL downloads objects from anywhere on the Web in the sequence that they appear in the presentation. This incremental manner of downloading is more network-friendly than the downloading of a single large file. As each object is summoned, the SMIL file moves the timeline forward or backward to maintain synchronization.

Additionally, the content in SMIL presentations can be made available to search engines, increasing the exposure each file receives and providing a valuable archiving functionality to corporate users in particular. Presentations can easily be archived and retrieved, surmounting the common problem of locating presentations that are stored on someone else's workstation.

After a rocky start, SMIL has received widespread industry support. Microsoft and Macromedia were initially supporting the project, and then withdrew. With the advent of SMIL 2.0, however, both companies reconsidered their positions and once again lent support to SMIL. SMIL is now one of the main standards for delivering multimedia on the Web, and is incorporated into RealPlayer, Internet Explorer, Windows Media Player, Quicktime 4.1, Adobe's SVG plug-in, and the authoring environment GRINS.

The business benefits SMIL provides are as follows:

  • Enables standard multimedia synchronization

  • Adds hyperlink functionality to multimedia

  • Improves bandwidth efficiency

  • Improves ease-of-use

  • Has cross-industry support

From a technical point of view, SMIL is faster and easier to use than Javascript or DHTML, and will run even if users have Javascript turned off in their browsers. It is capable of more complex actions than is Javascript or DHTML.

Whether SMIL becomes widely adopted depends on several factors. It is slightly late to a market that is currently dominated by Macromedia Flash, and there exists no sophisticated graphical-editing software to make it simple for non-technical designers to use.

Organizations that can benefit from SMIL include those that need to maintain dynamic pages, manage syndicated content, deliver intensive multimedia files, meet the needs of many disparate types of users, and make multimedia searchable online. This describes news organizations, entertainment vendors, some consumer-focused sites, and a few corporate sites.

Alternatives

[return to top of this report]
There are three main alternatives to SMIL. They are DHTML, Flash and HTML+TIME.

DHTML

SMIL is similar to DHTML, or 'dynamic hypertext markup language'. DHTML is harder to learn then SMIL, and harder to use. To make an audio track play when a slideshow loads, the DHTML developer must know DHTML, CSS and DOM (document object model). He must build a document division element for the image area of the screen with the positioning attributes, write a timer script, write a switch statement that listens to the timer variable, place the source attribute of the image element in the document division at specific switch inflection points, and then he must test the results in various client environments to be sure it works. To perform the same task in SMIL, the developer merely has to know SMIL and insert a few lines of simple code.

DHTML has numerous features that perform only in Internet Explorer, which ignores users of Netscape and other browsers. This is of particular concern to Web developers on consumer sites that are geared for the mass market.

Flash

Flash has several shortcomings when compared to SMIL, but it is predominant in the market and is likely to retain that position for the next few years. Flash files consist of one large file, as compared to SMIL's calling of objects as needed. A single large file seems to download more slowly than a SMIL presentation . As well as seeming to download more slowly, Flash files are more intensive to edit than SMIL files since many discrete tasks must be performed to make updates. In SMIL, the obsolete object is overwritten by the new version and all presentations that refer to it are virtually updated. Flash does not have language or accessibility targeting.

Flash is an affordable multimedia application that lets non-technical designers create general animated files without having to learn to program. To perform more complex actions in Flash, however, Actionscript must be learned. Actionscript is a proprietary language similar to Javascript. While this presents no problem to many Web developers, it does preclude most Web designers from using the product to its full potential.

Its primary advantage over SMIL is that it is widely accepted by Web developers across all industries. Although not a simple program, Flash novices will find it well documented both by Macromedia and by third-party writers, and possessed of active user groups able to help with problems.

HTML+TIME

Microsoft, Macromedia, and Compaq worked together on the development of the Timed Interactive Multimedia Extensions for HTML (HTML+TIME) specification, which is very similar to SMIL and re-uses SMIL elements and attributes as much as possible. It is based on the idea of extending SMIL concepts into the browser. This means that timelines can be applied to previously static content, such as text. HTML+TIME originally was created to compensate for shortcomings found in SMIL 1.0, but with the release of SMIL 2.0, HTML+TIME is less relevant. Microsoft now positions SMIL as a predecessor to HTML+TIME, which it intends to develop beyond the capabilities of SMIL in the future.

HTML+TIME has not been widely accepted. Microsoft released a graphical editor for the product, but only kept it on the market for about a year before withdrawing it. However, Microsoft continues to support the product and it is not unlikely that HTML+TIME will be the multimedia leader among Web developers working in corporate environments within the next few years, assuming the company maintains its product strategy that long.

Possible Pitfalls

[return to top of this report]
The primary pitfall of SMIL is that it remains to be seen whether it will be widely accepted. If it isn't, companies that develop with SMIL may find it difficult to find qualified programmers. For larger departments that have some skills redundancy, this may not be an issue. SMIL probably won't become obsolete, but it may be end up being transparent to the developer.

Some major industry players, including Microsoft and Macromedia, were initially resistant to SMIL because it overlapped with several other W3C standards. However, the developers of SMIL stated that the overlap was intentional, in order to provide as neutral an environment as possible for developers. Currently, SMIL is supported by several vendors, including RealNetworks, Oratrix, and Macromedia. Graphical editors are offered by Oratrix Development, which makes the GRiNS Player for SMIL 2.0, Confluent Technologies, which offers a software tool called Fluition for designing the layout and sequence of streaming audio and video presentations, and several other companies. None of these interfaces are as polished or powerful as they will need to be if SMIL is to achieve a high level of acceptance.

While some important SMIL implementations exist, it is not widely adopted in corporate Web departments. This is probably due to the fact that while SMIL 1.0 was receving mixed reviews due to some important shortcomings, Web designers were turning to Macromedia Flash. Having spent time learning the user interface for that product, designers are unlikely, in general, to learn a new tool that doesn't show a clear advantage over a product in which they've invested their time. While SMIL does offer advantages over Flash, they are more likely to be apparent to the corporate individual who is responsible for site strategy, and who is concerned with issues such as accessibility, globalization, caching and bandwidth utilization.

Step-by-Step Implementation

[return to top of this report]

The SMIL Environment

The SMIL environment consists of the following aspects:

  • Transfer Protocol, such as HTTP or RTSP
  • RTSP/RTP/HTTP Server
  • Media Integration Language (SMIL)
  • Media Languages, such as HTML
  • SMIL Browser, such as Internet 5.5 or GRINS
  • SMIL Editor, optional software to simplify coding

SMIL is not intended to replace any of the multimedia formats in use today. It is instead a glue that holds disparate file types and formats together. An SMIL file calls other files; by itself, it doesn't include anything other the SMIL script. The environment required to run SMIL is not an intensive one. The primary difference between a SMIL environment and an HTTP environment is that, in most cases, media server software such as Real Network's RealSystems Server will be required to run simultaneous streams. The HTTP environment is not designed to handle the time-based nature of a SMIL presentation; that, however, can be resolved with the use of a media server. With a media server, SMIL developers have access to all SMIL functions. Using http without the server software will give the developer less control over the material.

The developer determines whether a SMIL presentation will be viewed in a discrete player or viewed in a player that is embedded in the browser. SMIL presentations can be viewed in most browser through the use of a plug-in, such as RealPlayer or QuickTime.

SMIL can be developed in a text program, such as Notepad, or in a graphical editor, such GRINS or SMIL Editor V2.0. Now that SMIL is a W3C recommendation, more software should be arriving on the market to make it easier to write and to extend its capabilities. The existing SMIL editors are not as polished as the products that exist to edit HTML, but improvements are occuring on that scene. Macromedia HomeSite offers a tag pack that extends its HTML editing capabilities to SMIL; Macromedia DreamWeaver, a graphical HTML editor, has SMIL plug-ins, and Macromedia Flash can export SMIL files as .SWFs.

Formats supported by SMIL include GIF, JPG, RealAudio/Video, QuickTime, AVI, AIFF, AU, WAV, ASF, and Vivo.

Like HTML files, SMIL files have two parts. The first is the header portion, which in an HTML file contains the meta-data and base paths. A SMIL header includes that information along with information on the layout of the presentation that controls its appearance on the screen of each unique end user. The second part of a SMIL file is the body, which contains information on the synchronization of objects. All SMIL files are defined, like HTML, with <smil> and </smil> containers at the opening and close of each page. SMIL commands are written with two commands; <par>, which runs object actions in parallel with each other, and <seq>, which makes them occur sequentially.

SMIL can be used in conjunction with a database. Used in this manner, the content of a SMIL file can be changed by any end user, not only Web developers. An administrator in product marketing can upload pictures of new inventory without having to interact with the Web development team. Use of a database with SMIL enables personalized multimedia delivered on the fly.

SMIL 2.0 Modules

SMIL 2.0 is organized as a set of modules, each containing a different area of functionality. Each module contains the syntax used to describe its functionalities, as well as definitions of interdependencies and integration requirements. These are the modules that the programming staff will have to tackle in order to implement SMIL:

  • Timing and Synchronization
    Describes when to objects will appear and play, and allows objects to act in sequence or in parallel

  • Time Manipulations
    Offers advanced timing features that control the introduction and removal of objects

  • Animation
    Allows document values to be changed over time and defines a model for composing multiple animations

  • Media Elements
    Provides a way to easily include disparate types of objects in a document

  • Transitions
    Provides 99 ways to program timed transitions between objects in a SMIL file

  • Layout
    Describes the appearance of the presentation in a manner similar to the absolute positioning used in CSS

  • Linking
    Provides a functionality similar to that offered by hyperlinks in an HTML document, but when the user clicks a hyperlink in a SMIL document, the document timeline moves forward or backward to ensure that the referenced object is displayed or playing

  • Content Control
    Deliver tailored content to each user by testing his language and accessibility settings, and responding to them

SMIL Objects and Functions

Objects must be developed in order to used in SMIL. They can be MP3, GIFs, JPGs, FLAs, WAVs, or most other types of multimedia. Once developed, the file must be compressed to its optimal size, as it would normally, and then uploaded to a server. Once the object is available on a Web server, it can be accessed by any SMIL file (and by any Web site as well, if in a Web-friendly format).

SMIL's great strength is in the way it handles objects. An object can be any type of file that is supported by SMIL, including audio, video, and graphic files. Most multimedia technologies require that each object be imported into the file, and then melded inextricably with it when it is compressed and exported to a browser-friendly format. Existing multimedia applications do a good job of compressing all their comprised objects into one file that is is smaller than the objects were in total before compression. However, the final file still isn't small, and can take too long to download to the end user. SMIL files call objects in sequence as they are needed, in the same way that an HTML file uses hyperlinks to call other pages. The sequential download of objects may result in more network traffic over all, but the traffic created is relatively thin and network-friendly.

SMIL's use of linking to remote objects provides several advantages over its competitors. The distributed placement of objects enhances the ease of management for creative assets. A single object can be used in any number of presentations. A graphic that is used in multiple presentations, such as a sales presentation or corporate logo, can be updated in all presentations simultaneously simply by writing a revised version over the original file. The next time each presentation summons the object, the new one will be downloaded. This is simpler than in other technologies, which would require a developer to open a multimedia file, revise it, test it, export it, and test it again, and then make it available to those in the company who needed it. Also, objects handled in this manner can be cached; objects that are summoned frequently, such as the corporate logo, can be placed on servers outside the LAN, reducing the burden on the corporate infrastructure and minimizing security risks by keeping visitors outside the firewall.

Because objects remain separate from each other, an added level of flexibility is available for Web developers, marketing personnel and others. For instance, one generic sales presentation may serve all customers, but by providing the sales staff with the ability to select from a variety of synchronized soundtracks, presentations can be tailored to target specific vertical customers. In this manner, the investment in the original slideshow is extended with minimal effort and cost.

Like other multimedia technologies, SMIL lets developers establish layouts and timelines to control the appearance and the actions that comprise a presentation. An object can transition into any other object using one of SMIL's 99 pre-defined transitions; an image can wipe to a movie, for instance.

SMIL offers 'profiling', which is part of the content control module. Profiling detects the network and browser condition of the end user requesting the file and then delivers an optimized version of the file to that user. By specifying the profile definitions in the SMIL file header, a developer can ensure that an end user accessing the file from an old browser over a low-bandwidth connection will receive a version of the file suitable to his environment, while an end user with the latest browser accessing through a T1 receives a more bandwidth-intensive version. Profiling can also be used to target specific devices; the same SMIL file that delivers a complex animation to high-bandwidth end users can also send a stripped-down version to handheld devices or mobile phones.

SMIL offers language capabilities that can also be optimized with profiling. Several miscellaneous language modules are available in addition to the standard eight modules. By specifying the languages that the SMIL file is available in within the file header, SMIL will automatically detect the language to which the user's computer is set and deliver the presentation in the appropriate language. If no language is specified, SMIL will default to English.

The same flexibility that is applied to meeting user's language requirements can also be used to meet the Federal government's accessibility requirements. A presentation can automatically determine a user's display settings to adapt the presentation to the needs of the vision-impaired user, or it can offer all users the option of viewing the audio files with sub-titles. In this way, developers can meet the needs of a wider range of audiences without huge investments of time, effort or server space.

A simple but powerful function of SMIL is that SMIL content is searchable, making the archiving of presentations automatic. Corporations that have presentations being created in many different departments on individual workstations can build a repository by default as presentation templates are deployed.

The strength of SMIL is in its versatility. Functions from its modules can be used in any number of combinations, and since SMIL is designed to overlap with other technologies, the capabilities of SMIL cn be extended further. With versatility, power, low cost-of-entry and a fast learning curve, SMIL is a multimedia tool that can help companies deliver complex multimedia presentations to their clients and staff in a short timeframe with a minimal investment.

About the Author

Jay Gitomer is an Internet strategy consultant. Formerly, she was the manager of corporate web development of USinternetworking. Prior to that she was on the marketing staff of Silicon Graphics, where she was responsible for creating an online presence for the Silicon Graphics Federal Marketing Division. Ms. Gitomer has a B.A. from Sarah Lawrence College and an M.A. from New York University, and is a regular contributor to Faulkner Information Services.

Web Links

[return to top of this report]
Adobe: http://www/adobe.com/
Macromedia: http://www.macromedia.com/
Microsoft: http://www.microsoft.com/
Oratrix: http://www.oratrix.com/

QuickTime: http://www.quicktime.com/

[return to top of this report]