July 16, 2012
How the #Mozparty is changing Popcorn

This is a detailed post that has been a long time coming. In summary:

  • Popcorn has achieved a lot in the last 5 months
  • We’re discovering that our template model is creating too much complexity
  • We’re realizing that Popcorn is a powerful media literacy tool
  • We’re increasing our focus on Popcorn Maker as a remixer
Over the last 5 months, the Popcorn team has been busy. While expanding our focus from Popcorn.js to include the Popcorn Maker app, we have shipped 7 releases, closed over 835 tickets, been featured on the mainstage of TedGlobal, ran hack days at North America’s two largest documentary film festivals, had a brand and UX review by the best in the business, created an educational curriculum for young people, and shipped a new version of our web app. The team has grown - Bobby Richter has been joined by developers Jon Buckley, Scott Downe, and our UX intern Kate Hudson who has become a leader in the project. Our collaboration with the Center for the Development of Open Technology has continued - David Humphrey has taken an increasingly active role in the engineering leadership at the Mozilla Foundation, and new researchers have joined our core contributors there. Its been a heady several months. Luckily we’ve had a few cakes to celebrate our release, or we might have gone crazy.

0.2 - Ghostbusters 0.3 - Breakfast Club
0.5 - Pulp Fiction

What we’ve been working toward

We articulated a design philosophy of Popcorn Maker in February:
  • Let people create great delightful interactive video experiences - quickly
  • Always stay human readable: HTML, CSS and JS.
  • Let users walk away with the source and hack it.
  • …and importantly, encourage the maximum amount of flexibility and generativity*.
* For those unfamiliar with this term, generativity refers to a given system’s ability to foster innovation. As Jonathan Zittrain describes it: “Generativity is a system’s capacity to produce unanticipated change through unfiltered contributions from broad and varied audiences”. Essentially - innovation without permission. If you had to pick a sentence that describes what gets everyone up in the morning at Mozilla, that would probably be it. (or in Latin: "innovatio sine licentia").

For Popcorn Maker, we saw the potential for generativity withinin templates. We imagined templates would be the vehicle that would let new contributors create an infinite variety of different interactive video experiences - essentially a video app factory. By creating a base template, we would invite webmakers to modify these templates, submit them to us, and create a virtuous circle of invention and creativity.

What we’re learning

With the launch of Mozilla’s Summer Code Party, a series of events designed to kickoff the webmaker program, we are in a great place to test our assumptions and see how people are using the app. We’ve learned a lot, but two things I want to call out:
  1. Generativity generates complexity
  2. Popcorn is an interest based learning tool

1- Generativity generates complexity

When we imagined the innovation that templates would foster, we didn’t (but probably could have) imagined the engineering problems that would emerge as a result. Each template created a chain reaction of bugs, Quality Assurance problems, and testing issues. To ship the 4 templates we created for the summer campaign, we ended up playing whack-a-mole with bugs and features began to slip.

A case in point is the Robots template that we produced for Storycamp. Our process worked like this:

  • The storycamp team (Laura Hilliger, Ben Moskwoitz, Jacob Caggiano, Kate Hudson and I) decided we wanted to teach students “procedural storytelling” - that a story can be told by changing a set of variables
  • I created some content by remixing video from the Internet Archive
  • Kate created a template that would allow learners to remix this content by adding popcorn plugins - change the google maps plugin and the robots invade your home town, change the flickr plugin and they’re pursuing different humans. Most popular - a new popcorn plugin that used speak.js to allow you to make the robots say whatever you want. Fun!
  • The problem started when this new template begun crashing browsers. Turns out that each time the robot talked, it actually needed to start a new computing process in the web browser to transcode a new audio file. Each time the bloody robot would talk, 300 mb of RAM was being used up! Slower computers fell to their knees. Solutions were proposed, teeth were gnashed. (note: this was our implementation, not the fault of the very cool speak.js library).
  • We ran into problems with our manual tests. Could you swap in youtube? Would that work on export? Turns out that CSS animation is crashing Firefox. Is it crashing Chrome? Omygod have you seen this in Safari?
  • you get the picture.
Now, the Robots template is an extreme case - synthesized speach was never in our roadmap! (and Bobby probably could have told us that was going to crash the browser). Yet we realized that since the most primary part of our web app was essentially boundless (authors could include any JS, any HTML, any CSS), it was going to infringe upon our ability to ship the rest of the features we wanted and do proper QA. We needed to find another way to keep the system open ended and generative, while still allowing us to ship.

#2 - Popcorn is a great learning tool

Since the Mozilla Summer Code Party would be a coming out party for Popcorn Maker, we were pretty nervous when 50 or so kids assembled, ready to use the app. I filmed them using it:

A few things became apparent right away:

  • Kids get it. Aside from a few annoying papercuts (timeline zoom, our event editor),they found the interface intuitive
  • They got the idea of mixing video with web content. To the point that they didn’t understand why we thought this was cool :)
  • They got excited when we let them work with existing Youtube content. They (naturally) thought their project was cooler when it was based on their favourite pop star or TV show
It got me thinking - while Popcorn has always been positioned as part of the Webmaker family, we’ve assumed that Thimble would be the primary learning tool. “We’re having a code party here - we need people writing HTML!”

It was clear at the Toronto event, though, that there was some pretty interesting learning going on. While the kids naturally took to remixing using video, it was definitely the case that none of them had ever used a web app to combine video and 3rd party APIs before.


I called up Erin Knight to chat about this and we discussed the draft web literacies that Michelle Levesque had written, and which Doug Belshaw is currently expanding.

Looking at the first draft, its clear that Popcorn does address many of these proposed literacies. I circled the literacies I felt were relevant to using Popcorn Maker.

Of course, there’s a fine line between which literacies we depend on vs which ones we teach - but clearly Popcorn addresses many of the “soft skills” of webmaking. And it raises for me a central point of this whole initiative - we aren’t only teaching people to code - we’re teaching people how to express themselves on the web. I’ve never been a coder, but you’re damn straight I’m a webmaker. We need to make sure our tools address not simply how to right semantically accurate HTML and CSS, but that they make you understand that the web is a malleable thing.

From the webmaker website:

"Mozilla believes it’s crucial that we give people the skills they need to understand, shape and actively participate in [the web] instead of just passively consuming it."
Douglas Rushkoff sums this up in the nice (and gleefully bombastic) turn of phrase “program or be programmed”.

Watch this clip from my 2008 documentary Rip! A Remix Manifesto - Mark Hosler of Negativland sums up culture jamming - you can stop after Mark raises his fist :)

Hosler’s desire to remix media, to participate in culture rather than consuming it, is the same impulse that led Atul to create the X-Ray Goggles. Whether you’re remixing a commercial or hacking the HTML of the New York Times, you’re reflecting on why and how a piece of media is being crafted. And both are a path towards creating your OWN media - to be a participant.

Or as Faisal Aziz, a webmaker who had arranged a mozparty event in India described when he realized he could remix the Robots template to include a Bollywood film

"OMG!!!!!!! That is totally awesomeeeeeeee!!!!!!! ,…the reason i why i love this tools is freedom to select videos which resembles regional cultures, we can experiment with our local videos and make learning easy,interesting and entertaining."

Popcorn Maker as remix app

Looking at the kinds of creations people have created with Popcorn through this remix-as-learning lens, we realized that the most successful projects have in fact been remixes. A few examples:

The Pop up Video template:
Talk back to any video on the web - cheekily add comments or context

History In These Streets
Mix together Google Street view and a narration hosted on soundcloud

TEDGlobal Demo
Ryan Merkley, our COO at the Mozilla Foundation, demo’ed Popcorn at Ted Global using a custom newscaster template. He created a mock newscast that drew dynamically from Google Maps, weather information, and flickr.

These creations all had a few important things in common:

  • They’re created by combining media from across the web - including 3rd party APIs
  • They’re relatively quick to make
  • They completely fill a constrained, rectangular layout
These similarities led to some important decisions with regards to the direction of our app.
  • To further highlight Popcorn as a learning tool, and to evaluate how it’s used by casual webmakers, we’re aiming to host the app at webmaker.org as soon as possible
  • we’re rethinking the interface to make it dead simple for people to quickly remix their favourite videos. Rather than a nice to have, support for hosting sites such as youtube become high priority
  • we’re focusing on one universal layout/template, and ensuring all of our popcorn plugins work with this new layout. This will simplify our development, speed up QA, ensure that popcorn creations work embedded in 3rd party sites, and reduce odd interface requirements such as target areas and certian plugins only working with certain templates.

Taking a cue for our colleagues in the thimble app, we’ll also replace “templates” with “projects”, which are essentially pre-populated starter content that demonstrates how to use the app in a creative way, and which invite the user to jump in and remix. We think that THIS is where the generativity lies - showing people different and creative ways to use our app, and providing them with starter content that lets them get to work immediately. It is also a key goal of the Mozilla Foundation in 2012 to provide easy ways for contributors to get involved in our projects - this will help.

We’ve updated our roadmap to reflect these new priorities. The best place to interface with our roadmap is via individual milestones in our Lighthouse issue tracker:

0.7 - Amelie
0.8 Rushmore

…though we’ve updated the popcorn roadmap etherpad for quick digestion.

It also worth looking at how these new priorities are being translated into UX changes in the app - here is Kate’s most recent summary.

This post is the first of many on this subject - and is meant to start conversations. Please leave some comments, and thanks for bearing with me!

Liked posts on Tumblr: More liked posts »