field_drawing

What if one environment blended the code goodness of Processing with visual programming metaphors and patches, creating a single world for high definition video and OpenGL-powered 3D, with friendly-looking HyperCard-style inspectors, live coding, extensible graphical elements everywhere, an open-ended canvas, drawing with splines and images…

In other words, what if you could make anything, more easily?

That’s the vision of Field, a new authoring environment built on Java and Jython (Python on the Java VM). It’s Mac-only, with other platforms possible in the future (the underlying libraries are largely cross-platform, and apparently there’s the beginnings of a Windows build somewhere).

field_codeeditor

I asked Nick Rothwell to describe what it was about. Nick is collaborating with creator Marc Downie on choreographic generation and visualisation tools for Wayne McGregor’s Random Dance Company at Sadler’s Wells in London. Wayne, in turn, is choreographer in residence at the Royal Opera House and has worked on the Harry Potter Movies.

And Field can make your development environment feel, well, like a Muggle.


Field — Hybrid lines & code from OpenEndedGroup on Vimeo.

Here’s Nick’s capsule description:

Field is an open-source Mac-based media authoring system, built in Java by Marc Downie of the OpenEnded Group based on ideas formulated at the MIT Media Lab, and subsequently used for a variety of hi-def video installations and choreographic projects. It’s a graphical development environment attached to a high-resolution 3D OpenGL rendering engine, and applications are built on a display canvas with object boxes reminiscent of MaxMSP. But Field is different to MaxMSP because it’s language-based: the object boxes are individual containers of Python code, and the canvas is a flexible, scriptable interaction surface: Python code can draw on it using a 2D renderer, and user interactions and timing markers call back into the code.

There is a sophisticated editing environment for the code, and the canvas contents are version-controlled in a Mercurial repository which Field itself can inspect. Fieldis sufficiently self-referential to be regarded as a meta-environment: for example, click-and-drag editing operations on graphical elements cause Python code to be generated (and, of course, version-controlled). The text of the Python code itself can even contain embedded user interface components. Because Field is written in Java, it has access to all the Java libraries out there as well as portable Python libraries. Field can bridge to the Processing environment, allowing Processing to be scripted in Python and animated using Field’s canvas timelines and user interface components.

Working with Processing


Field — Processing Plugin overview from OpenEndedGroup on Vimeo.

The Processing integration is documented in a video shown here, as well as in a full tutorial. With everything built on the Java platform, though, it’s not really necessary for environments to “compete” – it’s a perfect example of how they can coexist, and how the Java platform can be more than just the Java language and the sometimes-ragged APIs that live in the JDK. (If you don’t know what that means, just trust me – that can be a world of hurt.)

Built with Field

Synchronous Objects by choreographer William Forsythe and a team at Ohio State led by Norah Zuniga Shaw is a spectacular example of ways in which motion can inform choreography. (Indeed: it really is about creating digital motion. Correction: this work is presently built in Adobe’s Flash 10, but there’s new work going toward Field – and it remains a great example of the intersection of choreography and digital visuals.)

As Nick put it in a recent email:

We’re all kind-of hooked up into this loose rebel alliance of choreographic software/systems research – I’ve worked at Forsythe’s Ballett Frankfurt and we’re all hooking up for a session at Sadler’s Wells next weekend… so I need to get Fieldworking again with the 3D visualisers…

It’s funny, I think that was once the way things were with Max and Isadora, except generally not in the hands of people who really knew how to code. Now, as fear of code and real research melts away, people are pushing the envelope in all of these tools.

field_canvas

Most importantly, of course, you’ll want to check out the work of the OpenEndedGroup. Among their literally open-ended projects, Loops is an ongoing work with Merce Cunningham, based on his 1971 solo. Merce more than any 20th Century choreographer was interested in extending the body into a new, digital self – I’d say even his non-technological work is fertile ground for inspiration in this arena. (See also the software he worked with early on, LifeForms … actually, this is probably the subject for a whole other post.)

pointa_b

There’s endless, beautiful work to check out at the OpenEndedGroup’s own site, like the Point A –> B stills above:

http://www.openendedgroup.com/

In a way, Field itself is an artwork by the group. It’s stunning work. Stay tuned for more both on the artwork made with this environment, and the evolving tools behind it.