SMIL 2.0
Named after the city in which it was drafted, SMIL Boston first appeared during the summer of 1999. Later renamed SMIL 2.0, this specification was designed to meet two goals:
To continue defining an XML-based language that controls the timing and positioning of media objects in a Web multimedia presentation
To allow use of the SMIL syntax in other XML-based languages, such as eXtensible HTML (XHTML) and Scalable Vector Graphics (SVG)
The latter goal was extremely important to Microsoft because it addresses Microsoft's interest in incorporating SMIL timing elements into HTML and making them available to a Web browser. It also opens the door to much tighter incorporation of SMIL with other technologies, such as the emerging SVG format for graphics and animation.
SMIL 2.0 Modules
Whereas SMIL 1.0 is simple and easy to get into quickly, SMIL 2.0 is more complexyet much more powerful. Divided into 10 functional areas that contain related modules, the SMIL 2.0 specification includes the following:
Animation modulesThese modules include elements for placing animation into the presentation timeline. They also allow for combining the effects of multiple animations.
Content Control modulesThese modules expand on the <switch> element and increase the control of presentation flow and format.
Layout modulesThese modules slightly augment the initial <layout> capabilities presented in the SMIL 1.0 specification. Additional support for audio layout is included.
Linking modulesThese modules amplify the hyperlinking capability of SMIL 1.0.
Media Object modulesThese modules further enhance the calling of media objects (such as animation, audio, video, text) as first defined in SMIL 1.0.
Metainformation moduleThis module adds more descriptive power to the initial limited <meta> element that was offered in SMIL 1.0.
Structure moduleThe basic elements of a SMIL 1.0 document gain additional attributes with the introduction of this module, which allows greater presentation control.
Timing and Synchronization moduleBuilding on the previous <seq> and <par> elements, the SMIL 2.0 Timing and Synchronization module offers more timeline control. The new <excl> element for playing an exclusive set of objects is also included here.
Time Manipulations moduleThis module offers control of such time characteristics as the speed or rate of a media object. This is a particularly important module for implementing animation in the timeline.
Transition Effects moduleAbsent from SMIL 1.0 was the capability to transition between one media object to another. This module adds the capability to offer standard wipes and fades between media objects.
SMIL Profiles
As you have seen, the SMIL 2.0 modules offer more elements and attributes than the simple capabilities available in SMIL 1.0. But the new specification does not stop there. SMIL 2.0 adds profiles, which further enhance the potential for smooth playback of multimedia presentations. Profiles combine modules as an attempt to achieve interoperability across players and browsers. Theoretically, presentations meeting established profile characteristics will be able to hop from player to player with acceptable results. But for the near term, most authors will probably still create presentations for specific players.
Currently, three language profiles make use of SMIL 2.0 modules. Two are host-language conformant, indicating that the profile incorporates a Structure module that contains the root element of the language. (In this case, that would be the <smil> element.) The main profile is called the SMIL 2.0 Language Profile. A subset of this profile is the SMIL 2.0 Basic Language Profile, which is basically a stripped-down profile for use with personal digital assistants (PDAs), mobile phones, and entertainment devices such as MP3 players. Yep. Portable MP3 players with image displays can SMIL.
The third language profile, the XHTML+SMIL 2.0 Language Profile, is based on a proposal by Microsoft and is undergoing development by the W3C. Although it is a subset of the larger SMIL 2.0 Language Profile, it is integration-set conformant, in contrast to host-language conformant. This means that the profile does not include the root (or <smil>) element. With this profile, SMIL is incorporated into the Web page along with HTML. In the past, Microsoft has referred to this approach as HTML+TIME. Extensions to HTML allow for timing and interactivity right within the HTML without using scripting languages.
Deprecation
As can be expected, anytime a language changes, some of its syntax also changes. Deprecation occurs when a portion of the language is no longer included or is marked for phasing out in a future specification.
Thankfully, deprecation between SMIL 1.0 and 2.0 is reasonably digestible. The most notable change between SMIL 1.0 and 2.0 is in the replacement of hyphenated attributes with mixed case (sometimes called camel case) attributes. For example, a clip-begin attribute would now be clipBegin.