HTML Timing

A declarative approach for HTML Timing using SMIL/Timesheets.

  1. introduction
  2. time containers
  3. real-world demos
  4. next-gen slideshows
  5. conclusion

HTML Timing?

Ever wanted to…

…without writing any single line of JavaScript?

SMIL Timing & Timesheets

timeContainer = "par|seq|excl"
specify a temporal behaviour to any HTML/SVG container
timeAction = "display|visibility|class:[className]|style|intrinsic"
defines how an element is to be activated / unactivated

“HTML Timing” Project

a.k.a. the “two-step world domination plan”

  1. SMIL Timing implementation
    (MIT license — less than 10 KB of JavaScript)
    • to “animate” HTML elements
    • to synchronize HTML5 <audio|video> media
    • to design slideshows, web documentaries, multimedia presentations…
  2. development of a wysiwyg editor
    (GPL/LGPL/MPL license — based on Mozilla Composer)
  3. possible SVG2 / HTML5 proposal

HTML Timing

A declarative approach for HTML Timing using SMIL/Timesheets.

  1. introduction
  2. time containers
  3. real-world demos
  4. next-gen slideshows
  5. conclusion

timeContainer="seq"

A seq container defines a sequence of elements in which elements play one after the other.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

timeContainer="par"

A par container, short for "parallel", defines a simple time grouping in which multiple elements may play back at the same time.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

timeContainer="excl"

Similar to par, but only one child element may play at any given time.
If any element begins playing while another is already playing, the element that was playing is stopped.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

Event-Values

begin="[elementID].[event]"

click me
The quick brown fox jumps over the lazy dog.
click me
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


    

Event-Values

same thing with an <excl> container:



    

Lazy Interaction

[first|prev|next|last]="[elementID].[event]"

applies to <seq> and <excl> containers:

  • first item
    1. one
    2. two
    3. three
    4. four
  • second item
    1. un
    2. deux
    3. trois
    4. quatre
  • last item
    1. uno
    2. dos
    3. tres
    4. cuatro


    

HTML Timing

A declarative approach for HTML Timing using SMIL/Timesheets.

  1. introduction
  2. time containers
  3. real-world demos
  4. next-gen slideshows
  5. conclusion

Rotating Banner

source: PortableLinuxApps.org

Video Subtitles

source: mozilla.com

As an open source project and community,
we need your feedback to make the next generation browser.

Meet some of the team that has been hard at work
on the Firefox 4 project.

I work on Web Standards like HTML 5, File APIs and IndexedDB.

We’re going to make the best and most secure browser out there!

We work on testing Firefox 4 beta.
We’d like to know what you think, we’d like your feedback.

You’re going to notice a feedback button
on the upper-right corner of your browser…

…that you can use to tell us
what you like and don’t like about Firefox 4.

Let me know what you think.

Im working on the Firefox 4 beta program.

I work on content security policy for Firefox 4.

We work on crash bugs.

I’m David and I work on developer tools for Firefox 4,
and I’d really like to know what you think.

We need as much feedback as possible.

I work on the Firefox 4 Sync servers.

Firefox Sync lets you take your Firefox experience with you
wherever you go.

And we’re really looking forward to your feedback.

I work on JetPack, which is a project
to make it easier to build Add-Ons and to make Add-Ons easier to use.

I worked on the new Add-ons manager in Firefox 4.

We’d really like to know your feedback
about what you love and hate about Firefox 4, so let us know.

Please help us and make Firefox better!

We need your feedback.



    

Audio Annotations

source: apm.ircam.fr/page/audio-tag

treble clef While the three other instruments hold a cluster of high notes, the cellist’s silent gestures interact with them, provoking a windy sonority that becomes noisier as the cellist’s gestures become more energetic.
funny music note A short interlude employing conventional playing techniques (bows are applied on the strings in the usual way, though sounds are still high and dissonant).
A rich mixture of tremolos and glissandos at various speeds in the highest register. Each part of the quartet descends progressively into the medium register: a sound colour with greater solidity emerges.
The first violin plays high notes once again, this time “flautando” i.e. with a flute-like tone (by lightly bowing across the end of the fingerboard). The other instruments follow suit until a disparate mix of “flautando” and “sul ponticello” is established and enriched by granular synthesis from the electronics.
Louder notes and groups of notes irregularly irrupt, often using a “gettato” bow stroke: the player lets the bow freely rebound against the string-once or several times in a row like a ping pong ball.
treble clef From this point onward all the preceding techniques are increasingly varied and combined. Identifying them becomes more challenging. Good luck!

    


    

HTML5 MediaElement

See: wam.inrialpes.fr/timesheets/html5media

Solution: double encoding of all media files
and/or use a Flash™-based, MediaElement.js fallback.

HTML Timing

A declarative approach for HTML Timing using SMIL/Timesheets.

  1. introduction
  2. time containers
  3. real-world demos
  4. next-gen slideshows
  5. conclusion

Slideshows

A <seq> time container is a good basis for a slideshow engine:



    

Progressive Display

The next slide will appear in 10s or if you click on the "Next" button below — whatever comes first.



    

Incremental Display

(you still have to click the "next" button to get the next slide)



    

Mozilla

Join Mozilla

Timesheet

JoinMozilla SMIL-Timesheet markup

E.N.S.

formaterre

Timesheet

ENS SMIL-Timesheet markup

HTML Timing

A declarative approach for HTML Timing using SMIL/Timesheets.

  1. introduction
  2. time containers
  3. real-world demos
  4. next-gen slideshows
  5. conclusion

Key Benefits

Roadmap

+ development of a wysiwyg editor
for HTML5 + SMIL/Timing

Easy Authoring

Work in progress:

Possible implementations: