A Client-side Framework to Aggregate Multimedia Content Benoît Charroux LRIE - EFREI, Ecole d’Ingénieur 30-32, avenue de la République 94800 Ville juif, Fra nce 0033-146774353 benoit.charroux@efrei.fr Jeswanth Manikonda VIT Unive rsity Vellore, Tamil Nadu India 632014 091-9849530251 jeswanthm2006@vit.ac.in Joan Romano Montserrat Facultat d’Informàtica de Barcelona Carrer Jordi Girona Salgado 1-3 08034 Barcelona, Spain 0034-699593150 joanromano@gmail.com ABSTRACT In this paper we define the basis of a framework for online playable multimedia applications. An application is described by a document that gives a high level description of the scenes to be displayed. Our framework can be used to write screenplays for multimedia applications. It uses Spring Web Flow standard which allows us to define a flow (navigation between views) using XML. This flow definition acts as a template for multimedia applications. This template written in Spring Web Flow language allows us to define states and also the transitions between states. At runtime, the application uses this template to navigate among the states and the views are chosen automatically according to the current state. Our implementation is based on XForms (to handle states) and Java Script (to choose automatically the view to be displayed according to the current scene by testing transitions). The combination of XForms and Java Script makes it portable. The major asset of our implementation is a pure client-side implementation. Our framework is dedicated to many persons, each having different roles: a web-designer designs view, a programmer defines transitions, and the framework manages flows automatically. Categories and Subject Descriptors Adaptive Documents, Automatically generated documents, Mark- up Languages (SGML, XML), Style Sheets (CSS, XS), Multimedia & temporal aspects (MPEG-4, SMIL, MHEG, NCL). General Terms Multimedia Screen play (scenario), Web flow, Real time controls, MVC. Keywords Spring Web flow, XForms, MVC and Java Script. 1. INTRODUCTION Since our implementation is mainly based on Spring Web Flow [2] (from now on, we note Spring Web Flow as SWF), we begin the discussion by reminding what SWF is. SWF is an industry standard that defines a high level XML based description for a website: each view to be displayed on the client-side (a simple form for instance) is associated to a state on the server-side. Spring Web Flow allows defining transitions from one state to another. When data are received on the server, the state is resumed and transitions to other states are tested. This can lead to a new state that displays a new view on the client-side. According to the XML web flow definition, the Spring framework generates a Java implementation that handles states on the server-side. Thus, once the web flow is defined, a web designer has to design the views, a programmer writes a program to evaluate the transitions (using Java), and the framework manages automatically the flows. Our goal is to handle web flows for multimedia presentations. Unfortunately SWF is a server-side technology. Since we want to display multimedia applications controlled on real time, we have defined a client-side implementation of SWF. Our implementation is based on XForms (to handle states) and Java Script. Our framework can be used to write screenplays for multimedia applications. Our implementation is in charge of choosing automatically the view to be displayed, according to the current scene by testing transitions. Our client -side implementation is the first piece of a huge framework that we expect to build. Our objectives are the following: to build a framework for handling playable multimedia applications from a document that gives a high level description of the scenes to be displayed. Here are the constraints we have added to build such a framework: The scenes should be described in MPEG-7. The framework must delegate the existing or future service that provides the search for scenes describes in MPEG-7. Each instance of scene (the instance is the one that replaces the MPEG-7 description and that is to be displayed instead of this description) can be described using many formats: XForms, SMIL, etc. The flow of scenes (in other words, the screen play) can also be described in addition to the description of each scene. The flow should be controlled programmatically (changing a scene should depend on the result of a program computation). The multimedia presentation can be enhanced by using interactive real-time controls.