Processing, Mozilla, and Seneca a year later

It's FSOSS eve, which always puts me in a storytelling mood.  Tomorrow I'll be giving a talk on Web Audio, and demonstrating a lot of the things that are possible with our new audio API in Firefox 4.  I've been getting demos ready today, and I was reflecting tonight on just how many of them use processing.js for the visuals.  The audio work we did really grew out of the processing.js community's desire for a way to visualize data.  So it's fitting, and rewarding to see the two so naturally come together now.

At the same time we've been busy this week (it's our study week at Seneca) doing the last reviews and fixes for version 1.0 of processing.js.  It was one year ago this month that Frank Hecker and I sat down to make a plan for how Mozilla and Seneca's Centre for Development of Open Technology would support this work.  Frank wrote a fantastic document explaining why processing.js mattered to Mozilla, and what our overall goals were:

  • to enable Processing users to leverage the full power of the open web, and help spark a new wave of innovative uses of Processing
  • to serve as a forcing function to drive improvements in key aspects of Mozilla products and technologies, including JavaScript performance, Canvas functionality, applications of Bespin, Ubiquity, Multi-Touch and others
  • to reach out to and increase cooperation with the design, art, and new media communities, both as part of the existing Mozilla Education program and as a component of possible future Mozilla outreach efforts directed at those communities
    This project was one of the first examples of what would later come to be known as Mozilla Drumbeat.  I'm pleased with how things have unfolded.  On enabling Processing users, and sparking a new wave of innovation via the open web, consider Marius Watz's tweets from earlier today:

    Delighted to see that @processingjs runs old #Processing sketches without any translation. Prepping a piece for @agoasi's SPEED SHOW...

    New Code & Form post: abstract01js, documentation on my @processingjs piece for the SPEED SHOW exhibition this evening. http://ow.ly/301YH
    He goes on to say in his blog:
    I finally had an excuse to take Processing.js for a spin. Aram Bartholl is doing one of his Speed Show exhibitions this Wednesday (SPEED SHOW vol.4:’Super Niche’). The Speed Show format is based on taking over an internet cafe and showing artworks that can run in regular browsers without any special software.

    As it turns out, the code for Abstract01 from 2003 (originally created for Abstraction Now) worked on the first attempt. After a few adjustments I now have one interactive and one “automatic” version running perfectly in Firefox and Chrome.

That a digital artist can take Processing code (i.e., Java) from 2003 and have it work unmodified and "run perfectly" on the open web in 2010--that's how I measure our success.  We worked really hard to have processing.js "just work" with unmodified Processing code.  Watz isn't unique in doing this, but it still brings a smile to my face every time I see it (and I see people using it a lot these days).

If processing.js is a success in this regard, it's due in large part to the maturity of the web as platform in 2010.  Frank's second goal was about the work to finish and improve processing.js feeding back into Mozilla's development of Firefox.  I've lost track of the number of JavaScript, canvas, performance, and crash bugs we've discovered and filed as a result of our work.  We've worked closely with Mozilla's js and graphics teams, and the relationship has been hugely beneficial for both sides.  The JavaScript of 2010 is nothing like it was in 2003, and canvas, WebGL, CSS, et al opened new doors for our work.

Lastly, Frank imagined processing.js being about the start of new relationships with artists, designers, new media people, and educators.  As I get ready to go and join my Mozilla colleagues in Barcelona next week for the Drumbeat Festival, I can say without hesitation that we've done that too.  With processing.js we found ourselves at the intersection of the demo scene, digital art, visualization, and new media projects, all trying to push the web as hard as it could go.  What's more, we did it with an amazing group of students from Seneca--students building technology for other students and educators.  At the festival Brett Gaylor and I will be bringing this message to a new group of educators, showing them just how advanced the open web platform has become.

Its a story I love to tell, and I'm looking forward to telling it tomorrow, next week in Spain, and am glad to tell you now.