When you're SMIL-ing, when you're SMIL-ing...

By Philip Fennell
January 8, 2009

...the whole world smiles with you. No it's not a typo, the acronym for the W3C's Synchronized Multimedia Integration Language (SMIL) is pronounced "smile", and the SMIL Animation (SMILAnim) module sure makes me smile; even more so given the fact that I've seen it mentioned, outside of the usual multi-media circles, three times last year and once already this year.

When seen out from under its parent specification, SMILAnim was paired with HTML to give us HTML+Time and then more formerly specified as the XHTML+SMIL Profile. In general, SMILAnim has been almost uniquely identified with SVG as a means of providing rich animations and interaction - but uniquely no longer.

The Ubiquity SMIL Project, like its sister project Ubiquity XForms, is bring declarative programming to the browser - without plug-ins.

I've long-held the belief that SMILAnim is the missing piece in the client-side declarative programming jig-saw. SMILAnim's extensive capabilities for event and time-based manipulation of XML and CSS attributes does for presentation and interaction what XForms does for data manipulation and business logic.

Make no mistake, SMILAnim is a full featured, well thought-out and mature specification that caters for the needs of interaction designers and web developers alike; and where XForms is good for prototyping data driven web applications, SMILAnim provides a way to create and link together presentation behaviours and effects that's both quick and intuitive.

You see it's all about events, and I'm not just talking about your bog-standard click and mouseup/down/over/out User Interface (UI) events, the real trick with SMILAnim is the begin and end events. Any animation has a beginning and an ending, each marked by the begin and end events. You can define animations that listen for these events occurring on other animated elements and thereby construct a chain of actions that can result in complex and rich behaviours. Add to that the ability to use time-based offsets from these events you can start to imagine what might be possible with what appears to be a simple set of animation instructions.

Although to-date most of my SMILAnim efforts have been within the realm of SVG, I'll be looking forward to playing with Ubiquity SMIL.

You might also be interested in:

News Topics

Recommended for You

Got a Question?