Processing: Revolutionary Creative Coding Tool Now 1.0, No Longer Beta

I heart Processing. Image (made with Processing, of course): (CC) Nik Rowell.

The creative, visual development platform Processing has undergone what may be one of the longest, strangest betas ever – in a good way. What other “beta” has had tomes written about it, tens of thousands of students studying it (in some large programs, as the basis of their work), rockstar music videos made with it, museum exhibitions, major ads, print graphics, motion graphics – all over the course of a number of years.

Processing.org

Download Processing, and you might be forgiven for thinking this “beta” thing would last forever. Insanely frequent updates only reinforce that idea, as though “beta” really meant “ongoing development.” And after all, the software isn’t like other apps. It’s entirely open source and free. First download it, and you’re presented with what seems like a stripped-down text editor. There’s no real manual, as such: instead, you delve into an elegantly-composed reference to commands, and the real “help” is in the form of folders of example code. Yet this environment is capable of visualizing data, crunching 2D and 3D imagery, video, sound, and via external libraries, anything that you can do with Java – opening it to one of the most-extended platforms around.

But believe it: the beta really has ended. As of Monday, Processing the “beta” is now just Processing. The number scheme has changed, too: it’s just 1.0 now (0162, if you’re still counting, though it will no longer officially be called that).

We’re really pleased on this site that Processing has hit 1.0, not just because of what this tool itself means, but because of the bright future we see for expressive visuals, live visual performance and visual interaction, and the DIY creative movement. Over the coming days and weeks, we’ll have everything from learning materials to interviews to celebrate the launch. Someone somewhere ought to really get some champagne (or considering it’s based on Java, maybe some Irish Coffee). And after years of waiting, coding, learning, artmaking, and an epic development effort by co-creators Ben Fry and Casey Reas, the core developer team, and the wider community, I think this deserves more than just a few hours of attention. Given what Processing has done in beta, it’s almost (wonderfully) terrifying to think what it could do after 1.0.

What’s changed, current users?

If you’re a current user, you’ll want to take a real look at the change log, because the last few weeks of coding have brought more rapid change and bug stomping than any time in recent Processing history. Some highlights:

read more

Polar Views of Video: Fodder for 3D, Pixel Bender Effects?


2.5D - Polar Panoramic Video from Valentijn Kint on Vimeo.

Speaking of Adobe’s new Pixel Bender, VKNT writes about work he’s doing with polar views, as modified in an application that processes panoramic images called Pano2VR. It’s not a real-time process, in this case (though the finished result is built in Processing), but I don’t see why you couldn’t do some filter math in something like Pixel Bender or a conventional OpenGL filter that would do the same live. Could be fun stuff. VKNT writes:

This is part of my research on movement in space and new ways to represent this. It is essentially a series of 360° panoramas following a path through a space. These spherical images are converted to an angular projection, which introduces a typical distortion. The further you get away from the center, the more distortion. The center of the image is determined by 3 parameters: pan, tilt en roll. I animated these parameters resulting in a sense of movement and deformation of the space.
More info and downloadable .mov file at:
vknt.be/2008/09/25/25d-happy-new-ears-rez-08/

Ideas, dear readers?

Processing + iPhone, Via JavaScript, SpiderMonkey, OpenGL ES

Despite my complaints about trying to run Processing in JavaScript in a browser, the recent port of Processing’s syntax to JavaScript has a lot of potential. Part of the underlying lesson here: platform-independence is cool. So where better to show that off than the iPhone/iPod Touch: a showpiece for Apple’s proprietary, platform-specific goodies.

German user mqwaq has ported the Processing.js port to iPhone. But it’s not the iPhone part that makes this so excellent, necessarily. Even cooler:

  • SpiderMonkey, Mozilla’s C implementation of JavaScript, runs underneath. That allows for greater speed, and –
  • It doesn’t require a browser to run. And –
  • The graphics engine is OpenGL ES, the cross-platform 3D spec for mobile/embedded devices.
  • And then he tweaked the whole thing to make it still faster.

The beauty of this to me, as well, is that the results can do all sorts of wonderful stuff — but you could easily bring the results to other mobile devices, too. (Hello, Android!) I’d still like to see Java on the iPhone, but it’s just one piece of the picture: the larger picture is the ability to make art with code on any platform using free and open-source code that works really well.

And credit where it’s due: the other reason this works well is that Apple’s done such a good job of making the OS and hardware interface work. This demonstrates that having a real OS has power not only when you’re using vendor-specific frameworks from Apple, but cross-platform frameworks, too. Now, if only Apple weren’t so restrictive about what they let you run.

Via Christopher Blizzard, who found this by way of JavaScript guru John Ressig who did the JS port in the first place.

Open Source Visuals - Pure Data Videopedia & Processing OpenGL Workshops

By vade

Function Field Sytem by Voltage Controlled - made with Pure Data/GEM/PDP/PiDiP

Open Source software can be hard to approach sometimes, especially DIY programming environments, so there is some good news for those wanting to get started with two leading open source packages for performance.

Pure Data - the open source dataflow/patching environment now has a shared playlist on youtube. If you’ve been interested in Pure Data but hadn’t the slightest clue what it is or how to use it, you should check out the Pure Data Videopedia. The videopedia contains performance clips, tutorials and examples made with PD and some video related plugins.

Not into datalflow/graphical programming environments? Get your hands dirty with Processing. Check out the recently posted tutorials by user b2kn : “Coding for visual performance” workshop. You can find the accompanying processing sketches here. Good stuff!

Bill Etra’s Pioneering Video Processing Work: Retrospective @ Blip.tv

By vade

Bill Etra, the analog video processing pioneer, has been posting some of his original works from the late 1960s through 2005 on video sharing site Blip.tv. It’s a sort of ongoing retrospective of his work. His techniques are varied, including Rutt-Etra processing (using the hardware he co-designed), hand-controlled oscillator-to-RGB inputs, and laptop-based software rigs.

While not a complete archive, it’s an interesting look back at important works and techniques. I’m glad this is online; it’s hard to find useful archives of older analog pieces simply because most techniques involved were incredibly hard to capture to tape. Usually only re-scanning would work (re-scanning is a fancy term for pointing a camera at a CRT). More work will be added, so check back occasionally. I think archives like this are invaluable for inspiration.

Bill Etra’s blip.tv Page

Ed.: We’ll definitely be watching for updates, and hopefully cdmotion can help encourage more documentation of this stuff online. -PK

Off to Aspen for Ben Fry’s Processing Workshop

Ben Fry anemone screenshot

Ben Fry’s Anemone is a generative illustration created from web traffic - a web traffic creature! (I need one in material, sculptural form on my desk so I know when I need to “water” Create Digital Motion so it doesn’t wilt!)

I’ll be out next week at the Anderson Ranch Arts Center in Aspen, Colorado, where I’m taking a workshop led by Processing co-creator Ben Fry.

In this workshop we will focus on Processing’s video library, learning how to play with pixels from a live camera by analyzing their makeup, altering colors, and experimenting with effects. We will also explore video as an input to control graphic elements on-screen, whether by controlling their movement or generating dynamic, abstract compositions.

I’ve done work with video and Processing before, but naturally not with Ben Fry himself nearby, so I’m quite excited! I’ll be interested to see how he teaches it, since video performance is not a strong suit of Processing (largely the fault of Java, not Processing), though it is an interesting tool for using video for other tasks.

I’ll try to “liveblog” some of it next week, but if that doesn’t work, I promise some code examples of my own and other tidbits when I return.

Why is Apple’s Support for Java Multimedia So Poor?

It’s ironic to me that so many users of the superb, Java-based Processing multimedia tool seem to prefer the Mac, because Mac Java support seems downright anemic. Mac users have long complained that, since Apple develops their own Java support for Mac OS X, the platform tends to lag behind Sun’s releases. That to me doesn’t seem like such a problem — early adoption of each new Java to leap out of Sun is generally a bad idea anyway. A more significant issue, though, is that Java performance tends to lag on the Mac in multimedia apps and that Apple has dropped support for two of the most important multimedia APIs.

On the music side, Apple dumped its com.apple.audio.midi java package with 10.4.8. Result: not only do you lose all the features that make the Mac great for MIDI, like the IAC bus for inter-application MIDI routing, but your external devices also spontaneously disappear. Nice.

On the video side, QuickTime for Java has long been vaporware. Following an update for QuickTime 6.4 and Java 1.4, Apple seems to have abandoned the platform altogether. Note that again, the common theme is Mac OS X 10.4.x. Video sometimes works under QuickTime 7, but there are many potential issues. And each time Apple releases some new QT update, apparently in the interest of supporting the iTunes ecosystem rather than actual video production, stuff often breaks.

Maybe I’m missing something, and maybe I’m being overly harsh (there are platform-specific issues on Linux, Windows, and from Sun themselves), but I would like to learn more about how these issues can addressed to make the Mac a more robust Java multimedia development platform.

read more

Strange Loops and Consciousness: The Deeper Meaning of Video Feedback

By vade

A book surprised our friend Anton, Jitter wizard and visualist: can feedback (video and otherwise) be understood more deeply in relation to consciousness? -Ed.

Wandering through a Barnes & Noble book store on the way to the checkout the other day, the cover of a book grabbed my attention. The cover showed the intricate geometries, swirls and loops of what most CDM readers are familiar with as video feedback. Instantly curious, I flipped through the pages to find no other illustrations like it, other than a few very basic examples in a small color insert. Then I noticed who the author was: none other than Douglas Hofstadter, author of Gödel, Escher, Bach - An Eternal Golden Braid - a book exploring a myriad of topics, but ultimately a book about consciousness. That book had both vexed and tantalized me, with language, logic and math seemingly just beyond my understanding. (Don’t forget Achilles and the Tortoise. I’ll admit I never quite finished it. I highly recommend it.)

A companion piece to G.E.B., I am a Strange Loop is the latest work by Hofstadter. I knew I had to buy it. On the subway ride home, I was delighted to find a chapter dedicated to video feedback. I skipped ahead and wondered what insights might lay waiting. Of course, G.E.B. had a brief encounter with video feedback as a visual study, but no detailed accounts of the rich phenomenon.

read more