音声ブラウザご使用の方向け: SKIP NAVI GOTO NAVI

DINF Seminar on Development of DAISY LimSee2

LimSee2

an open-source, cross-platform SMIL2.0 authoring tool

The problem:

SMIL is a very powerfull rich-media language, featuring support for:

  • graphical layout (hierarchical, with z-index capabilities...)
  • timing and synchronization (including user interactivity and other types of events...)
  • adaptivity (to user settings, system configuration...)
  • hyperlinking (to external as well as embedded objects...)
  • transitions
  • animations (for graphical and timing attributes as well)
  • etc...

SMIL is XML-based, so:

  • SMIL doesn't embbed media objects (images, video/audio clips, text...etc): instead, a SMIL presentation consists in at least one XML file and some external media files (which can be distant or available locally)
  • SMIL presentation source code can be edited using a simple text editor or a more sophisticated generic XML editor (maybe DTD-driven)
  • SMIL content can be automatically generated using scripts or XML transformation technologies (XSLT)

SMIL is a complex language, because the size of its specification (the extent of its rich-media capabilities).
=> So it needs editing tools that can handle various aspects of the authoring process: layout design, timing specification, encoding support, document preview...

The solution:

LimSee2 is:

  • soon going to reach its 2 years of existence.
  • an open-source software.
  • a cross-platform application that runs on Windows, Linux, and MacOSX.
  • distributed as an easy-to-use installer (InstallAnywhere), and can be launched online (Java Web Start)
  • It has a website, mailing lists, documentation

[DEMO BEGIN]

Opening of the website pages

[DEMO END]

It has a rich user interface

[DEMO BEGIN]

Opening of 2 SMIL presentations in order to present the GUI organisation:

  • the ambulant welcome page (very short and simple)
  • the "father christmas" presentation (complex, with animations and transitions)

This gives the opportunity to introduce

  • drag and drop file open (from local file browser and web browser)
  • the tabbed interface (multiple documents open)
  • each of the 4 edition views and their specificities:

Although each view provide a particular abstraction level to the SMIL language, they all feature edition functions that alter the SMIL source code direclty.

As a result, all views are synchronized: they show the current state of the SMIL document, and selections in one view will be reflected in all other counterpart views.

[DEMO END]

## LimSee2 is a challenging software project with 3 main objectives, targeting 3 particular use-cases:

- Objective 1:

Ability to create new SMIL presentations from scratch, so that users can rapidely produce rich-media content, from design, test, adjustment, to final delivery.

[DEMO BEGIN]

  • Opening of an existing presentation with accessibility features (video captioning, in several languages), and hyperlinking => play in external player (with system captions on, language preferences...etc)
  • Creation of the presentation from an empty new document

=> automatic ID creation for video, but manual edition for subtitles
=> automatic creation of regions when inserting new medias, or use of existing regions.

[DEMO END]

- Objective 2:

Ability to open existing presentations (whatever method was used to create this content in the first place), so that refactorings/fine-tuning/enhancements can be made to the document.

[DEMO BEGIN]

Opening of an existing SMIL presentation that contains errors (not-well formed XML, SMIL validation).

Here we focus on:

  • - the incremental open function for not-well-formed XML documents
  • - the source view which provides a simple text editor with syntax hilighting, search/replace with token hilighting, and pretty-formating. (This view is not structured, so only selections of XML elements are reflected to/from the other views)
  • - Change doctype, encoding

Draw attention to the design of the slide show:

  • - menu entries are images
  • - menu bullet shows current presentation advancement (and is made of several images)
  • - menu hyperlinking uses source links '<a href="..."/>' pointing to target links '<anchor id="..."/>' located within the video.

=> clicking a menu changes the video time offset, and the player takes care of synchronizing the slide that match the corresponding time stamp.
=> from the authoring standpoint, this introduces an issue: linking and slide timing are separated.

[DEMO END]

- Objective 3:

Ability to generate SMIL content using template-based methods, so that repetitive authoring tasks can be automated.

[DEMO BEGIN]

This capability introduces a key benefit for content maintenance issues: some sort of meta-language stores the "core" presentation data, and a template function inputs this data to generate the actual SMIL content.

LimSee2 provides a dedicated user interface to edit the core data.
As a result, maintenance is made on the core data, not on the SMIL content.

This 2-stage authoring technique allows the separation of content description and custom presentation caracteristics (visual layout, timing, linking ...).

Draw attention to the design of the slide show:

  • menu entries are formatted text (external RealText files were created)
  • menu bullet shows current presentation advancement (and is made of a single image moving from one region to the next)
  • menu hyperlinking uses source links '<a href="..."/>' pointing to target elements corresponding to specific slides

=> as a result, changes a slide timing will automatically update the link destination within the global presentation time.

[DEMO END]

Conclusion, perspectives:

LimSee2 fulfills major authoring requirements, but we have plenty of ideas for new developments:
indeed, there are still many unimplemented use-cases such as automatic generation of accessible presentations, using captioning for example.

LimSee2 in fact welcomes suggestions, remarks, and development task force as well !
LimSee2 is an active project, releases are frequent. Please make sure to check the website regularly.

Thank you for your attention, I hope you enjoyed this presentation.


Daniel WECK
Technical project manager
Main developer

Nabil Layaida
Senior research officer
Scientific leader