Generating Slides from Enhanced Media Content

Hauke Christoph
Institute of Computer Engineering, University of Luebeck
Germany

Biography

Hauke Christoph is a full-time research assistant at the University of Luebeck (Institute of Computer Engineering). His actual research topics are arising while working for the wwr-project and are dealing with xml-based multimedia training systems. He took his degree (diploma) at the University of Rostock in 2001. Among his key qualifications he lists a deep knowledge of the main languages and technologies related to web development.

Matthias Runge
Institute of Computer Engineering, University of Luebeck
Germany

Biography

Matthias Runge received his diploma degree in computer sciences in 2002 and is currently working as a research assistant at the Institute of Computer Engineering at the University of Luebeck whithin the scope of the wwr-project. His current activities contain e.g. developing contents for an xml-based e-learning platform and developing a transformation for slide presentations.


Abstract


This document describes a representation of a multi-functional slide sheet presentation as Scalable Vector Graphic ( [SVG] ) and its generation from a complex Extensible Markup Language ( [XML] ) document via XSL transformation ( [XSLT] ). An overview on slide presentations with a special aspect on the needs of the wwr-project [WWR] , which aims to produce multimedia enhanced lectures. Subsequently a scheme to utilize SVG for slide presentations is described and the way, how to translate from a specific xml language to SVG is presented. Finally obstacles in form of text breaking and possible solutions are discussed.


Table of Contents


Introduction
     WWR
         Audience
         Different levels of intensity
         Different output media
Output as slides
     Requirements
     Why use SVG
Results
     Slide presentation
     Transformation
Known Issues
     Formatting text
Summary and outlook
     Summary
     Outlook
Bibliography

Introduction

Multimedia learning systems became a widely used tool in education. Lectures are supported by electronical slides and mostly a script version is provided online. Many components in form of graphics or small films are shared between these versions. The production of multimeda enhanced lectures will be shortened by the provision of components or modules, from which the author can choose.

WWR

The wwr-project [WWR] is a joint project involving twelve German universities. It aims to generate multimedia enhanced lectures in Computer Engineering. Unlike other projects in Germany, WWR is not solely targeted at students. It is specifically designed to allow for a differentiation between the content provided for lecturers and their target audience. Finally a set of nearly 150 modules will emerge, which can be used as part of a whole lecture or a set of modules can be continued as basis for a lecture. Each university contributes modules, which later on should be used by all partners. These modules are supposed to fit to all other modules in a way that they can combined with each other. If for example a lecturer wants to know about fault tolerant memory techniques in parallel clusters, he would take this module from university A, maybe an introduction to parallel computer techniques from partner B and a special course about memories from university C.

The contents are written in an eXtensible Markup Language (XML) according to a certain xml schema. This language, we call wwr-xml, is rather complex and defines, aside from different learning steps, an introduction, a conclusion and an exercise part. In addition to this, wwr-xml supports many other features, like a bibliography or a glossary not mentioned here.

circle-3dim-text.svg

Figure 1: Scalability of WWR modules

Audience

The wwr-project aims to support both, teachers and students. The teachers version will contain enhancements, e.g. solutions to exercises, hints, additional background information, maybe suitable anecdotes or small jokes etc. The schema even supports different assemblies for the two groups of customers.

The version aimed for students will contain exercises where answers can be checked online. According to these facts, it should be clear, the teacher's version is larger than the student's one.

Different levels of intensity

wwr-modules exist in three different sizes or levels. The basic level is equivalent to a two-hour lecture. This type conveys basic knowledge for the topic of this subject.

The next level, called advanced level, builds up a deeper level of knowledge. This is equivalent to a four-hour lecture and incorporates the basic level and teaches further topics at a detailed level.

The largest amount of knowledge is taught at expert level, which is supposed to bring the student to a level of an "expert" in the concerning subject. This module includes all parts of the advanced level, containing eight hours of reading and more background information, case studies etc.

Different output media

WWR supports three kinds of output media: Output as online-version, as slide and as script version. The latter one is thought for students to recall things from their minds or to prepare the next lecture. Animated pictures will be replaced by static versions.

The online version includes multimedia components, e.g. videos, audio data and animations, which cannot be included in a printed version. In the course of WWR the educational material is being prepared in a multimedial way to achieve a better learning effect for the students.

The third output target and focus of this work is a slide version. This version is intended to be used by professors or more in general by instructors to present the subject in a lecture. This paper shows a solution for a slide presentation in SVG and its transformation from wwr-xml to SVG.

Output as slides

Slides should support the teaching person in instructing. To determine which contents should be copied to slides, the author has to mark topics of the content of teaching. These special markings are defined in wwr-xml.

Slides in general depict as a kind of state machine. At each state, a slide will be displayed. Transitions are initiated by user actions, e.g. click on a forward or backward button.

Requirements

The following items describe the requirements from wwr's view on a slide presentation to be used in the wwr-project.

Why use SVG

First the online version emerged, which supports both, MathML and SVG. We decided for the embedded MathML and against externally rendered graphics to display mathematics, because this solutions yields better quality on different output media.

The features of SVG, combined with the fact that wwr's contents are XML-text based, influenced out decision to utilise SVG. Using SVG also made it possible to develop a product that is platform independent – something that is crucial if wwr's slide format is to achieve broad acceptance.

There exists a related project, namely JackSVG, which currently transforms texts notated in xml to SVG. However, we have the additional requirement to transform tables and MathML which JackSVG cannot accomplish.

Before starting to develop any xsl tranformation, we created an animation scheme, which is now used for the slides. It bases on an ECMAScript. It is necessary to have at least one variable, to store a counter representing a page number. Variables are currently not natively supported by SVG. This script causes that the resulting documents cannot be edited by standard WYSIWYG-SVG editor.

We discussed the question, if a teacher can accept automatically generated slides, which cannot be (easily) modified. We came to the conclusion that this is not acceptable. So the above mentioned situation is not tolerable. If anyone finds a typo in the slides, he wants to be able to fix it easily.

Results

This section is divided into two parts. First of all a deeper look at the slide presentation itself and its concepts will be taken. Later on we will discuss the possibilites and problems of the XSL-transformation.

Slide presentation

overview.svg

Figure 2: Overview of presentation scheme

The slide show is based on a steering svg which includes a style sheet and an ECMAScript. The possibilities and the cause of CSS is obvious. ECMAScript is needed to store a page number and to browse through the pages. Browsing is implemented by making objects visible. The pages are organized as groups of elements owning a special name. In the start situation all of these groups are invisible by default. If someone likes to view the first page, the ECMAScript sets the visibility of the object group representing the first page to visible. This is possible, because the object names are known. We name our pages state1, state2, etc. This script is not only capable to flip pages at a user request, but on a timer interrupt as well. This enables the slide show to be run standalone at information terminals also.

However this concept carries a few problems. It is not able to crossfade between pages, like in [JackSVG] . More generally, it is not (easily) possible, to display SMIL-animations. In fact, this didn't turn out to be a problem so far. The included JavaScript could be enhanced to enable such a feature, but this solution doesn't enable freely onfigurable page flips per se.

The page contents itself are not defined by this scheme. A user is free to place contents on the slide. Limitations to the use of this scheme arise through the xsl-transformation which is discussed in the next section.

Transformation

wwr-xml is transformed to SVG by an xsl-transformation. XSL generally is a language for transforming XML documents into other documents, mainly but not necessarily XML conforming documents. Basically an xsl-transformation matches patterns and applies rules to the nodes from an XML tree which fit into a special pattern. This is achieved by association of patterns with templates. Each template is able to create nodes in the result tree.

The transformation from wwr-xml to SVG turned out to be more complex than transforming to (x)html, because SVG has no built-in capability of handling special things like line-breaking or displaying tables.

The transformation supports text, lists, captions, headlines, images and tables. Text is broken roughly into lines. Tables produce problems, because it is not really possible to know how broad columns have to be. This is caused by the fact that it is unknown how long a word would be rendered exactly. It is questionable, if exact text-rendering is possible, just using xslt. To bring in another situation where such a transformation would be overemployed, one can easily think of a real complex figure. If a human would design such a figure for a slide show, he would hide most or some parts of it, would explain it piecewise and expose the corresponding parts step by step.

If just readability is in focus, this could be achieved by a rough transformation. But if a good page layout including print quality is expected, the resulting xslt would get too complex. For example, at looking at the left margin, a line beginning with a large letter A seems to begin a little more to the right than e.g. a line beginning with a large E. To balance the left margin, the line is slightly justified to the left. A more complex problem arises for the right margin. A line could be syllabified or a line slightly too short can be justified by lengthening spaces between words and spaces between letters. In good printings spaces between lines are aligned based an a level of blackness of the lines. A more dark line gets a slightly larger space below than a line containing more white parts. This is needed for a uniform page impression.

We use the Adobe SVG-plugin in its third version. Sadly this plugin does not implement the foreign object tag, which is defined in the SVG-standard to allow embedding of other xml documents inside an SVG document. This would allow an (X)HTML block inside an SVG, which could take care of breaking text into lines, displaying tables and even rendering MathML.

The transformation process is currently performed in a two step process. First text blocks in pages are broken into content blocks. For example, a single image or lists are treatet as content blocks. These are saved in an intermediate step enhanced by a length information. The second step places these content blocks on the slide page.

Known Issues

Formatting text

The major problems arose from the text handling in SVG. Because there is no way to know at which coordinate a word or a text ends, we were forced to estimate these coordinates. Text breaking was done on characters per line basis. This is encountered again at table handling. Unlike in (X)HTML where a browser renders tables, in SVG tables must be prepared previously by an external application or transformation. Because it is unknown which width a table row has to have, these widths have to be estimated.

We took a program that transforms MathML to SVG. We'd like to get similar results as in html, where we can mix up mathematical symbols and text. Imagine a text shown in Figure 3 , which of course can be easily shown using MathML.

MathML-sum.svg

Figure 3: Example for mixing MathML and Text

To display this formula, the text will be broken into segments the value of, an image of a greek letter beta, is described by and a further image displaying the sum for i equal one to n over i squared. To describe this in SVG, we have to know where the of ends and where the by ends.

This description is far more negative than the situation is in reality. Nearly no lecturer accepts slides, which he can not affect. In our project most of the content will be generated by other people than the lecturer, which means a lecturer would like to edit the automatically generated slides anyway.

This issue will be met by an editor, which we are about to produce. This editor enables a lecturer to change a presentation aside the possibilites of the transformation. In the situation mentioned above, someone would easily justify the layout to suit a professional presentation.

Summary and outlook

Summary

This paper presents a transformation from an xml language to SVG. The introduced solution for slide presentations appears as a general approach. It provides a user with a transformation, which suits most cases. Basic text rendering like text blocks or lists without any fine tuning are possible to display in an SVG slide presentation. Problems arise, when images and tables are involved. These would not appear, if a viewer would implemen the foreign object keyword as specified in the SVG standard.

Outlook

The upcoming standard promises a better text handling. But even SVG 1.2 seems to own no possibility to get an information about the end of a word or a text. Here should be annotated, that SVG is not intended to implement a complete text formatting system like TeX.

The introduced system is capable to display tables and mathematical formulas. It is far from completeness, but shows an outlook in a promising future. An editor for editing generated slide shows would improve the handling of slide shows according the described scheme significantly.

The viewing tool is capable of dealing with marked-up XML-content for lectures and automatically generating multi-functional slide presentations. This type of presentation is highly customizable to meet the needs of the individual. The tool was designed to meet a demand expressed by members of wwr and is expected to be widely used both within wwr and by institutions affiliated with wwr.

Bibliography

[WWR]
The Use of XML for the Development of an Adaptive Multimedia Teaching and Learning System, U. Lucke, D. Tavangarian, H.-R. Vatterott, Proceedings of the World Congress on Networked Learning in a global Environment, ICSC Academic Press, Canada / The Netherlands, 2002.
[W3C]
World Wide Web Consortium , developer of specifications for XML, XSLT, SVG etc. (http://www.w3.org)
[SVG]
Scalable Vector Graphics (SVG) 1.1 Specification http://www.w3.org/Graphics/SVG/
[XML]
Extensible Markup Language (XML) 1.0 (Second Edition) http://www.w3.org/TR/REC-xml/
[XSLT]
XSL Transformations (XSLT) http://www.w3.org/TR/xslt/
[JackSVG]
A program to create SVG slide presentations http://titanium.dstc.edu.au/xml/jacksvg/
[MathML]
Standard for inclusion of mathematical expressions in Web pages http://www.w3.org/Math/

XHTML rendition created by gcapaper Web Publisher v2.0, © 2001-3 Schema Software Inc.