Multimedia Tools and Applications

, Volume 43, Issue 3, pp 203–224

SMIL State: an architecture and implementation for adaptive time-based web applications



In this paper we examine adaptive time-based web applications (or presentations). These are interactive presentations where time dictates which parts of the application are presented (providing the major structuring paradigm), and that require interactivity and other dynamic adaptation. We investigate the current technologies available to create such presentations and their shortcomings, and suggest a mechanism for addressing these shortcomings. This mechanism, SMIL State, can be used to add user-defined state to declarative time-based languages such as SMIL or SVG animation, thereby enabling the author to create control flows that are difficult to realize within the temporal containment model of the host languages. In addition, SMIL State can be used as a bridging mechanism between languages, enabling easy integration of external components into the web application. Finally, SMIL State enables richer expressions for content control. This paper defines SMIL State in terms of an introductory example, followed by a detailed specification of the State model. Next, the implementation of this model is discussed. We conclude with a set of potential use cases, including dynamic content adaptation and delayed insertion of custom content such as advertisements.


Declarative languages SMIL Multimedia web applications Delayed ad viewing 


  1. 1.
  2. 2.
    Bos B, Lie H, Lilley C, Jacobs I (1998) Cascading Style Sheets, level 2. Available at:
  3. 3.
    Boyer J (2007) XForms 1.0 (Third Edition). W3C. Available on:
  4. 4.
    Bulterman D, Rutledge L (2008) SMIL 3.0: Interactive multimedia for the web, mobile devices and daisy talking books. Springer-Verlag, Heidelberg, Germany. ISBN 978-3-540-78546-0Google Scholar
  5. 5.
    Bulterman D et al (2008) Synchronized Multimedia Integration Language (SMIL 3.0). W3C. Available on:
  6. 6.
    Clark J (1999) XSL Transformations (XSLT) Version 1.0. Available at:
  7. 7.
    Clark J, DeRose S (1999) XML Path Language (XPath) Version 1.0. Available at:
  8. 8.
    Costa R, Moreno MF, Rodrigues RF et al (2006) Live editing of hypermedia documents. DocEng '06: Proceedings of the 2006 ACM symposium on document engineering. ACM, New York, NY, pp. 165–172. doi: 10.1145/1166160.1166202
  9. 9.
    Ferraiolo J, Fujisawa J, Jackson D et al (2003) Scalable Vector Graphics (SVG) 1.1 Specification. Available at:
  10. 10.
    Flanagan D (2006) Javascript: the definitive guide. O'Reilly & Associates, Sebastopol, CA, USA. ISBN 0-596-10199-6Google Scholar
  11. 11.
    Gifford D, Lucassen J (1986) Integrating functional and imperative programming. ACM conference on LISP and functional programming. doi: 10.1145/319838.319848
  12. 12.
    Hickson I (2007) XML Binding Language (XBL) 2.0. W3C. Available on:
  13. 13.
    Hickson I et al (2009) HTML 5 Draft Recommendation. Available at: Retrieved on February 2, 2009.
  14. 14.
    Honkala M, Pohja M (2006) Multimodal interaction with xforms. ICWE '06: Proceedings of the 6th international conference on Web engineering. ACM, New York, NY, pp. 201–208. doi: 10.1145/1145581.1145624
  15. 15.
  16. 16.
  17. 17.
  18. 18.
    Jansen J, Bulterman D (2008) Enabling adaptive time-based web applications with SMIL state. DocEng ’08: Proceedings of the 2008 ACM symposium on Document Engineering (2008). ACM, New York, NY, USA. doi: 10.1145/1410140.1410146
  19. 19.
    King P, Schmitz P, Thompson S (2004) Behavioral reactivity and real time programming in XML: functional programming meets SMIL animation. DocEng '04: Proceedings of the 2004 ACM symposium on Document engineering (2004). doi: 10.1145/1030397.1030411
  20. 20.
    Lewis R et al (2007) Content Selection for Device Independence (DISelect) 1.0. W3C. Available on:
  21. 21.
    Lie H, Saarela J (1999) Multipurpose Web publishing using HTML, XML, and CSS. Communications of the ACM, Vol. 42, Issue 10. ACM, New York, NY, pp. 95–101. doi: 10.1145/317665.317681
  22. 22.
    Moggi E (1988) Computational Lambda-calculus and monads. In proceedings 4th Annual Symposium on Logic in Computer Science. IEEE Computer Society Press, Washington, DCGoogle Scholar
  23. 23.
    Muchaluat-Saade D, Rodrigues R, Soares L (2002) XConnector: extending XLink to provide multimedia synchronization. Proceedings of the 2002 ACM symposium on Document Engineering. ACM, New York, NY, USA. doi: 10.1145/585058.585069
  24. 24.
    Muchaluat-Saade D, Soares L (2003) XConnector and XTemplate: improving the expressiveness and reuse in web authoring languages. The new review of hypermedia and multimedia. Taylor&Francis, Bristol, PA, USA. doi: 10.1080/13614560208914739
  25. 25.
    Pemberton S et al (2002) XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition). Available at:
  26. 26.
    Pixley T (2000) Document Object Model (DOM) Level 2 Events Specification Version 1.0. Available at:
  27. 27.
    Raggett D (2006) Slidy-a web based alternative to Microsoft PowerPoint. XTech (Amsterdam, May 16–19 2006). Available on:
  28. 28.
    Scherp A, Boll S (2004) Generic support for personalized mobile multimedia tourist applications. MULTIMEDIA '04: Proceedings of the 12th annual ACM international conference on Multimedia (2004). doi: 10.1145/1027527.1027566
  29. 29.
    Thompson S, King P, Schmitz P (2007) Declarative extensions of XML languages. DocEng '07: Proceedings of the 2007 ACM symposium on Document engineering (2007). doi: 10.1145/1284420.1284442
  30. 30.
    Wadler P (1990) Comprehending Monads. In Proceedings of the 1990 ACM conference on lisp and functional programming, pages 61–77, Nice, France, 1990Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.Centrum Wiskunde & Informatica (CWI)AmsterdamThe Netherlands
  2. 2.VU UniversityAmsterdamThe Netherlands

Personalised recommendations