Web-Based Presentations

Erik Wilde (UC Berkeley)
Philippe Cattin, Felix Michel (ETH Zürich)

Abstract:

The management and publishing of complex presentations is poorly supported by available presentation software. This makes it hard to publish usable and accessible presentation material, and to reuse that material for continuously evolving events. XSLidy provides an XSLT-based approach to generate presentations out of a mix of general-purpose HTML and a small number of presentation-specific structural elements. Using XSLidy, the management and reuse of complex presentations becomes easier, and the results are more user-friendly in terms of usability and accessibility.

layout/zurich/zurich.jpg

Web-Based Presentations

XML-Tage Berlin 2007

Felix Michel, ETH Zürich
September 24, 2007; Berlin, Germany

Abstract

The management and publishing of complex presentations is poorly supported by available presentation software. This makes it hard to publish usable and accessible presentation material, and to reuse that material for continuously evolving events.
Hotspot provides an XSLT-based approach to generate presentations out of a mix of general-purpose HTML and a small number of presentation-specific structural elements.
Using Hotspot, the management and reuse of complex presentations becomes easier, and the results are more user-friendly in terms of usability and accessibility.

Introduction

A Word of Precaution First

Motivation

Outline (Motivation)

  1. Motivation [2]
  2. Hotspot [13]
    1. Hotspot Extensions [2]
    2. Kilauea [7]

Presentation Software Today

  • Desktop applications: Microsoft's Powerpoint, Apple's Keynote
  • Strengths:
    • Posh & shiny layout templates
    • Fancy transitions
  • Deficiencies:
    • Poor support for
      • structured content
      • content reuse / transclusion
    • Impenetrable content models
    • Customizing or extending the applications is hard
  • Web-based: S5, Slidy
    • Since last week: Google Docs

Use Case Scenario

  • Slideshow presentations for a university course
    • A series of lectures
      • → a bunch of related presentations
    • Information usually appears in additional contexts:
  • Furthermore, academic lectures are very likely to contain
    • Cross-references
    • Formulas
    • Excerpts (e.g., sample code)

Hotspot

Outline (Hotspot)

  1. Motivation [2]
  2. Hotspot [13]
    1. Hotspot Extensions [2]
    2. Kilauea [7]

Hotspot

  • One XML document for
    • one or multiple presentations
    • additional information (e.g., TOC and index preferences)
  • Output is generated via XSLT
  • Structured collection of presentations
  • No redundant content
  • Apply changes once

Hotspot Architecture

Features: Listings

Hotspot Extensions

Outline (Hotspot Extensions)

  1. Motivation [2]
  2. Hotspot [13]
    1. Hotspot Extensions [2]
    2. Kilauea [7]

FormuLaTeX

  • The Formu\LaTeX extension brings the full power of \LaTeX to Hotspot
  • \LaTeX code can directly be inserted in <tex/> elements:
    <tex>$\calF{F}\{f(x)\} = F(u) = \\
    \int_{-\infty}^{\infty}f(x)e^{-j2\pi{}ux}dx$</tex>
  • The Formu\LaTeX extension then produces image files and alignment information, and the formula looks...
    <img src=... alt=$\calF\{f(x)\} = ...
    
         style=height: 5.37ex; 
                vertical-align: -2.11ex; />
  • ...perfect: $\calF{F}\{f(x)\} = F(u) = \int_{-\infty}^{\infty}f(x)e^{-j2\pi{}ux}dx$


FormuLaTeX (II)

  • Furthermore, \LaTeX packages can easily be included:
    <tex pkg="amsmath">...</tex>
  • The Formu\LaTeX extension is implemented in Perl and XSLT
    • all you need is Perl and a working \LaTeX installation
  • A caching mechanism ensures economic processing and no redundant HTTP transfers

Kilauea

Outline (Kilauea)

  1. Motivation [2]
  2. Hotspot [13]
    1. Hotspot Extensions [2]
    2. Kilauea [7]

Kilauea

  • Browser-based slideshow presentations
  • Implemented with Javascript and CSS
  • Cross-browser operation
    • No substantial browser-dependencies

      Compatibility Chart:

      Browser Version OS
      Firefox 1.5 OS X 10.3
      2.0 OS X 10.4
      Windows XP
      Linux
      Camino 1.0 OS X 10.4
      Safari 2 OS X 10.4
      Safari 3 beta OS X 10.4
      Konqueror ? Linux
      Shiira 2.0 beta OS X 10.4
      Opera 8.45 Linux
      9.22 Linux
      OS X 10.4
      MSIE 6 Windows XP
      MSIE 7 Windows XP
    • No plugins required


Kilauea Features

  • True hypertext:
    • Structured content (including parts and sub-parts)
    • Logical, not physical, markup
    • Hyperlinks (link to parts, slides, and everything else)
  • Flexible (wide variety of initialization configurations)
  • Customizable (e.g., via CSS)
  • Extensible (sophisticated plugin architecture)
  • It is possible to embed presentations

Kilauea Javascript

  • Localization support
  • Small footprint (24 kB packed)
  • Backwards-compatible with Slidy
  • State-of-the-art Javascript:
    • Inserts only one variable into the global symbol space
    • Browser-independant, W3C-like event model
    • → no problems with third-party Javascript
  • Offers custom events (e.g., slideChange events)

Kilauea Plugin Architecture

  • Plugins unleash the true power of Kilauea
  • Plugin development is easy with Kilauea, but almost impossible for existing presentation software
  • Extensive developer documentation eases plugin development
  • Architectural details:
    • Plugins are identified by URIs
    • Object-oriented: each plugin is a class, which inherits some utility properties
    • Plugins are loaded at run-time
  • Currently available plugins include:
    • remote: Support for distributed, remote presentations
    • logger: Sophisticated logging facilities
    • doublescreen: Presentator mode with two browser windows

Remote Presentations

Logging Facilities

  • Sophisticated logging and evaluation of presentations
  • Export as HTML or CSV

Transitions

  • Currently, we are working on a plugin which enables basic transition effects
    • This might not seem to be very important, but it is a nice-to-have for moments like today's presentation
    • Once the transition plugin has been included, transitions can be assigned to slides in a declarative way:
<div class=slide transition:fade</div>

  <h1>Transitions</h1>
  <ul>
    <li>Currently, we are working on a...
    ...

Outlook

  • A rich-text editor will be indispensable in order to lower the barrier-to-entry for users
  • Import from other formats (e.g., .ppt) would be nice, (but will be hard to implement)
  • Better documentation, installation guidelines, and online help

1 Introduction

Web content most often is produced to be read online or to be printed on paper, but there are also many settings where content is intended to be presented as auxiliary material for an aural presentation. Typical scenarios for this kind of setting are business presentations, courses, and lectures. There is a wide spectrum of different requirements for these scenarios, which in most cases depend on the amount of presentation material that is prepared, the structure of this material, the need for structured presentations, and the requirement to make the presentation material available in some reusable form to the audience.

When we speak of “complex presentations” in the following text, we refer to differ- ent aspects which in our practical experiences are typical for larger presentations. These aspects include

Today, presentation material is often prepared using commercial software packages and then “published” on the Web as PDF. Presentation software excels at providing visual effects, but provides little support for handling structured and complex presentations. Furthermore, because of the very nature of dedicated software and proprietary file formats, presentations prepared with these packages are not very usable and accessible for anybody not using that particular software.