The Speaker Slides Extension

Justus Piater

Easy Navigation for Lecturing

Features:

  • Requires multiple displays; the slides for the audience appear on an external display.

    • Distinct slides from the same slide set can be displayed and navigated independently on multiple external displays.

  • The speaker’s view is distinct from the audience’s view:

    • Display speakernotes.

      Nice cheat sheet for interactive blackboard teaching.

    • Interact with other programs without the audience watching.

  • The speaker’s display shows all slides in a single HTML file, one after the other:

    • Multiple slides visible at the same time.

    • Rapid navigation.

  • Mnemonic keyboard shortcuts for the most important functions.

Usage

Making And Running a Presentation

  1. Process your DocBook slides by speaker.xsl, as well as by a regular, chunking slides stylesheet.

  2. Load the Speaker-styled (X)HTML file into the browser.

  3. Type A (capital) to open or switch to the audience’s primary view (making it current) at the current slide.

    Likewise, type B or C to open or switch to the audience’s secondary or tertiary view, respectively.

  4. A click on a slide’s H(ere) button loads it into the audience’s current view.

  5. The speaker can navigate to other slides within the current view (typically using <space> and <backspace>) using the paradigm of two cursors indicated by colored slide title bars:

    • The slide currently visible to the audience is marked in pastel yellow.

    • The slide currently active in the speaker’s view is marked in pastel blue.

    • If both coincide (the normal situation), the slide title is a saturated yellow.

Keyboard Navigation

<arrow-up>, <arrow-down>Move the speaker’s cursor back or forward by one slide.

<arrow-left>, <arrow-right>Move the speaker’s cursor back or forward in browsing history.

<enter>Move the audience’s cursor to the speaker’s cursor.

<backspace>, <space>Move both cursors back or forward by one slide.

sAlign the speaker’s current slide with the top of the speaker’s browser window (useful after using the scroll bar).

aMove the speaker’s cursor to the audience’s cursor, and align this slide with the top of the speaker’s browser window.

cMove the speaker’s cursor to the ToC slide.

tMove the speaker’s cursor to the title slide.

A, B, CSelect the respective view and move the audience’s cursor to the speaker’s cursor.

Other keys are not currently defined and are interpreted (or not) as usual by the browser.

Mouse Navigation

Internal links move the speaker’s cursor to the slide containing the target; the audience’s cursor is not affected. Thus, to follow an internal link, one would typically click on the link and then hit <enter>.

External links are currently not handled specially. In particular, if an external link is activated in the speaker’s view, the audience’s view remains unchanged.

Inline Movies with HTML5

This will only work with browsers that support the HTML5 <video> tag:

autoplay, loop

Full-Screen Movie Test

Implementation

speaker.xsl

speaker.xsl is a customization of slides/xhtml/flat.xsl.

Principal extensions:

  • Creation of a slide title bar for each slide.

  • Loading of speaker.js.

  • Replacement of internal links by Javascript code.

  • Rendering of speakernotes.

Extensions that might be pushed back into flat.xsl:

  • Association of id attributes to slides (computed from chunk filenames).

  • Addition of a ToC.

speaker.js

speaker.js is loaded by the speaker’s HTML file. These are its principal actions:

  • Open new windows for the audience’s views.

  • Maintain the two cursors and their colored visualizations.

  • Intercept keystrokes and handle navigation.

If an audience’s window is closed, the speaker’s view continues to function correctly. To restore audience’s window, hit A, B, or C.

Current Status

The Speaker Slide Extension has been developed and road tested during many years of university teaching.

There are no known bugs.

It has been used with Firefox, Chromium, DocBook 4.x, and chunked slides output by slides/xhtml/plain.xsl only.

The Speaker Slides Extension

Table of Contents

1. Easy Navigation for Lecturing
2. Usage
3. Making And Running a Presentation
4. Keyboard Navigation
5. Mouse Navigation
6. Inline Movies with HTML5
7. Full-Screen Movie Test
8. Implementation
9. speaker.xsl
10. speaker.js
11. Current Status