I am very proud to announce that Popcorn.js hit 0.2 today. The Popcorn.js team has been working hard to deliver a stable, documented and unit tested JavaScript toolbelt for working with HTML5 <video>.

Popcorn.js 0.2 rethinks Popcorn.js 0.1 as an event system for HTML5 <video> with an API, a plugin system, and strong adherence to the native HTML5 <video> API.

Popcorn.js’ API follows the standard HTML5 method names by using a passthrough system to the native HTMLVideoElement. Popcorn builds on these native method names like .mute(), .load() and .play(), and adds new method names like .exec(), .listen(), .trigger(), .getTrackEvents(), and so on.

Popcorn methods also make a point of returning a reference to the current Popcorn instance where possible, so you can write nice method chains.

popcorn-api-examples-natives.js

Popcorn('#video')
  .play()
  .currentTime(30)
  .pause()
  .listen('timeupdate', function(event){
    console.log( this ) // the current popcorn object
    this.currentTime() // the currentTime
  })
  .play()
  .currentTime(20)

Popcorn also offers a plugin system that makes it easy for developers to add methods to Popcorn that package functionality for responding to events in a video.

Roadmap

The Popcorn team is actively working on a 0.3 – 1.0 roadmap. Come join the conversation and get involved on IRC at irc.mozilla.org/popcorn.

Butter

Today also marks the soft release of Butter 0.1, an authoring tool for Popcorn that Bocoup is developing for Webmade Movies, the Mozilla Drumbeat project. I urge you to take it for a spin.

We will continue work on Butter in the coming months as we prepare Butter to be the open source JavaScript video editing software. Butter is dual licensed MIT/GPL, and the source code will be opened on Github with the forth coming release of Butter 0.2.