Since May 2010 I have been involved in a Mozilla sponsored project popcornjs. The project aims at bringing filmmakers and artist to the web by providing an easy way to add extra data to their videos. So instead of posting their video on youtube or vimeo - websites that decide what the viewer sees around the video. They can host their own video and use popcorn to display timed data such as wikipedia articles, google news, google maps, flickr, twitter, and websites. Of course the time at which this data comes in and out can be controlled.
Because the initial aim of this project was to make it easy for non tech savvy people to use, we used an XML structure to control what data would be used at what time during the video. As the project received more exposure, we were getting more and more feedback. This feedback included requests for more feature supports such as Open Maps, and a more flexible Twitter function. As well as a better way of allowing users to add their own functionality. As it was, users had to dig in to popcorn’s core in order to add anything new. Our choice of using XML has also been questioned.
To combat all of this and also to bring popcornjs to the next level Mozilla decided to bring in the big guns. Bocoup is a Boston based company that has a lot of experience with jQuery and its plug-in architecture. They have taken popcorn under their wings and recommended a plug-in architecture that both developers and filmmakers will be happy to use. This is not to say that they have taken over the project. Their main goal is to build butter. A popcorn UI that anyone can use to produce a popcorn enhanced website. User will fill out what feature they want and the in and outs and then press export to generate a webpage with a default template. Most of the code updates will still be done by Scott and I. However, Rick, Boaz, and Al will guide us along the way.
So the bottom line. Popcorn now fully supports plug-ins. We are still working to convert all of the functionality into plug-ins but when we are done anyone will be able to write plug-ins. This will include parsing different types of data (JSON, QuickTime export format) and DOCUMENTATION.