Currently, online multimedia content providers usually offer their content in a fixed Web HTML interface. These interfaces, however, limit the flexibility of content usage.
Instead of providing fixed HTML pages with embedded links to multimedia content, we have developed a more flexible content-changer system that can enable playback of multimedia on the Web. The basic idea is to enable the dynamic building and control of player settings based on the values present in the communicator. Our content-changer component loads two lists of links. The first list contains links to multimedia content, such as a link to a movie, or a link to a VRML scene. A link could refer to static content on some server, or to a dynamic Web page that generates multimedia content on-the-fly. Every link from this list is also associated with a list of players that can be used to open the linked content, optionally with the target window in which it should be played. The second list contains links to dynamic Web pages that embed players for each of the supported multimedia content types. Each of these pages requires a link to content that it will play. We have developed several of these dynamic pages, using PHP, JSP and ASP technologies, with embedded players for different content types (for example, RealPlayer, Windows Media Player, VRML players). Our player pages also embed a scripting applet, described in the following section, that enables the control of audio-visual playback by using a sensing module, such as a speech recognizer or a camera-based face detector. When a user selects the content from the list, the content changer automatically selects an appropriate player Web page, and generates the link to the selected content.
Links to content and player pages are described in the form of templates that can be populated with variables present in our communicator. This means that parts of URLs can be replaced with actual variables from the communicator, enabling run-time selection of content and adaptation of players. For example, parameters to dynamic Web pages can be replaced with actual values, such as user state, or preferred colors. Active player Web pages can receive parameters about the dimensions of the screen, and adapt the dimension of the player window.
The content changer is implemented as a Java application that communicates with the communicator in several ways (Figure 3). Firstly, the content changer registers for the commands, such as reload of current content, or selection of previous and next content item from the list, so it can be controlled with any component that updates this variable. The content changer also updates variables based on the currently selected content and player, and can reload the content when some of the variables change. For example, dynamically generated content can be sensitive to changes in the user state, and can be automatically adapted with the described technology. Finally, the content changer can update the variables with one or more URLs of currently selected content. This variable can be used with any application that wants to present this content. A simple content change applet that registers for this variable, and reloads the content in the Web browser each time new content is selected, facilitates automation of the process. The content changer is configured with links to player and content templates, which can be files, or an active Web page that generates these lists based on user queries for multimedia content.
|
Figure 3. Template-based content changer and its interaction with the communicator. |