abstractmachine

22 December, 2011

Graphisme génératif

Filed under: Design Algorithmique,feed,workshop — Douglas Edric Stanley @ 22:50 pm
  • Workshop: Graphisme génératif
  • Instructor: Douglas Edric Stanley
  • Location: —HEAD, Genève
  • Date: 31/10/2011-4/11/2011
  • Participants: Julia Garcia, Laura Couto Rosado, Nadezda Suvorova, Camille Dedieu, Roger Guindon, Patrick Donaldson, Kim Andenmatten, Amandine Baud, Annja Müller, Pierre-Alain Schilling, Yann Anspach, Marta Revuelta, Gention Cenko, Marie Rossi, Lucas Bertinotti, Angela Cardona, Emily Bonnet, Jakub Svehla, Laetitia Sejmowski, Jimmy Roura, Camille Rattoni
  • Documentation: Raphaëlle Müller —HEAD

A few weeks back I taught a workshop on generative graphics as part of a cross-disciplinary « semaine de tous les possibles » (week of possibilities) at the Geneva University of Art and Design. The workshop combined students from the Master Media Design and undergraduate students from Visual Communication. We worked mostly in the realm of print, introducing code into traditional book design and/or poster design. For example, the books were generated directly in Processing using the PDF Export library to generate multi-page booklets.

Les 100 mots les plus utilisés dans le petit livre rouge de Mao by Yann Anspach, Roger Guindon and Laetitia Sejmowski

Wsp Graphisme Generatif_HEAD©R.Mueller-3593 Wsp Graphisme Generatif_HEAD©R.Mueller-3594

Whole generation by Pierre-Alain Schilling and Jakub Svehla

Wsp Graphisme Generatif_©HEAD-0022 Wsp Graphisme Generatif_©HEAD-0030-2

Roue du Dharma by Kim Andenmatten, Amandine Baud and Annja Müller

affiche flower Wsp Graphisme Generatif_HEAD©R.Mueller-3555

Alice by Emily Bonnet, Angela Cardona, Marta Revuelta and Marie Rossi

Wsp Graphisme Generatif_HEAD©R.Mueller-3599 Wsp Graphisme Generatif_HEAD©R.Mueller-3602

Sisyphe by Lucas Bertinotti, Gention Cenko and Jimmy Roura

Wsp Graphisme Generatif_HEAD©R.Mueller-3514

Le livre rouge de Jung by Laura Couto Rosado, Patrick Donaldson and Camille Rattoni

vue iPad Wsp Graphisme Generatif_HEAD©R.Mueller-3536

Kaleidoscope by Nadezda Suvorova

Wsp Graphisme Generatif_HEAD©R.Mueller-3585 Wsp Graphisme Generatif_HEAD©R.Mueller-3587

stop_pattern_ornamentation by Julia-Garcia Skrenbneva

Wsp Graphisme Generatif_HEAD©R.Mueller-3590 Affiche Julia Garcia-Skrenbneva

Mapping by Camille Dedieu

Wsp Graphisme Generatif_HEAD©R.Mueller-3567 Wsp Graphisme Generatif_HEAD©R.Mueller-3564

19 May, 2011

CityMedia at Mapping

The CityMedia system is an open platform for the exploration of public screens and new forms of collective interaction. It uses multi-touch sensors, 3*d body tracking, webcams and internet connectivity to connect people, data, media and objects. CityMedia systems can connect to other CityMedia systems, with the first two exhibited simultaneously in Aix-en-Provence and Marseille during the month of April 2011. Tthe CityMedia Project can currently be experienced at the Bâtiment d’art contemporain as part of the Mapping Festival in Geneva, Switzerland until the end of May 2011.

Over the past year, we have been building and experimenting various applications at the Atelier Hypermédia in Aix-en-Provence and at the Master Media Design —HEAD Genève. We were also joined in the prototyping phase by students and teachers from the Studio Lentigo, ESBA Marseille, the École spéciale d’architecture Paris, and the École nationale supérieure des arts décoratives, Paris. Over forty students have built about twice as many prototypes in 10 different sessions dedicated to designing, prototyping and developing uses for and with the system.

There are currently about 25 applications presented in the system, with eventually more to come at the end of a workshop dedicated to Kinect hacking this Thursday, May 26, 2011, also at the BAC. This workshop sold out very quickly, and unfortunately we do not have any more room for extra participants. So please people, stop begging, it’s heartbreaking. You are welcome to come at the end of the workshop though, and watch as will attempt to add any working applications developped during the workshop into the system.

While the project was developed principally at the Atelier Hypermédia in Aix-en-Provence, our students in the Media Design Master at the HEAD did a considerable amount of work in the design and development of the various applications and contributed as well to the design of some important platform components; as a consequence we wanted to show the result of this work in Geneva. Given that there was already this interresting festival dedicated to real-time visualization, and given the amount of body tracking and various other techniques of real-time image manipulation we use in our system, the venue seemed appropriate.

Finally, I will be giving a talk Wednesday afternoon at 16:30 at the auditorium of the BAC, along with Jean-Baptiste Labrune and VJ Fader, moderated by Nicolas Nova. For my part, I’ll be exploring some of the artistic and speculative predecessors to Microsoft’s latest Kinect device, and will finish with the artistic work, research, and collaborations that allowed us to quickly get up to speed with these new devices.

P.S. There are some good pictures of the exhibit over at Pasta&Vinegar: From Hal to Kinect: live visuals, music and body tracking technologies – Mapping Festival Geneva

10 August, 2010

Multi-touch demo reel

Monolithe - 2001 A Space Odyssey

Over the past year I have been working for Seconde Nature designing a public multi-touch platform via my Atelier Hypermédia in Aix-en-Provence. It’s a fairly ambitious project and involves many partners and most importantly, a whole bunch of students and researchers from five different schools/departments exploring interactivity from the perspectives of art, design, architecture or some combination therein. While I’ve been tooling away at the project in some form or another over the past 12 months, the production team was officially formed at the beginning of 2010 and still has about 6 months to go before completing the project with an exhibition planned for early 2011 in Aix-en-Provence and Marseille. In other words, we’re only at the half-way point and anything you see here should be considered highly work-in-progress, and purely experimental/speculative in nature.

That said, we have amassed enough material from the exploratory/workshop phase of the project to create the following document which can be considered a collection of ideas that we found interesting enough to record and group into this 20-minute demo reel. There were actually far more ideas explored than those you will see in this reel but they were unfortunately either lacking decent documentation or were simply too preliminary/unpolished. That said, many if not all of these ideas will need to be completely reworked during the production phase of the project. Only a few will be retained and most of those will be redesigned in collaboration with our content partners.

All of the projects were built within one of the four workshops, with each workshop lasting either 1 or 2 weeks. In total, this reel represents the accumulation of about 6 weeks of direct prototyping.

30 November, 2009

ofxiphone+MapKit

Filed under: abstractmachine,atelier hypermedia,code,collaborators,student,workshop — Douglas Edric Stanley @ 22:33 pm

Today we began our week-long « Mobility » workshop at the Aix-en-Provence Art School. We kicked off the session this afternoon with a conference from Thierry Marcou, director of the Villes 2.0 project at Fing who gave a general overview of the major issues facing the city as it evolves in the current networked era, as well as techno-social experiments, services and creations illustrating these tendencies.

Then, starting tomorrow, we’ll be working in two groups exploring the question of Mobility from an artistic point of view, using either the iPhone/iPodTouch platform via OpenFrameworks, a specifially-designed GPS platformed designed by the Atelier 3D, or some combination of both.

While Memo Akten couldn’t be here this week (cf. Decode), he nevertheless was able to come two weeks ago to the Atelier Hypermédia and help me (actually, the other way around) write a MapKit addon for the ofxiPhone project. This is a pretty cool little addition which allows you to run the standard Apple+Google MapKit library from within OpenFrameworks, and (magically) without breaking either. This addon is already sitting in the current svn/git of ofxiphone if you’re geek enough, otherwise it should be available within the next few weeks when the OpenFrameworks download is updated.

ofxiPhone MapKit Addon Example

6 March, 2009

Horse Simulator

Filed under: atelier hypermedia,code,exhibition,physicalization,play,workshop — Douglas Edric Stanley @ 20:09 pm

Henniraof

Antonin Fourneau and I are gearing up for the next Eniarof which begins construction next Monday and will open March 27th and 28th for two evenings of fun (18h-24h), open of course to any and all publics (animal, mineral, vegetable, fantasmagorical, whatever). I’ll post more at a later date concerning Eniarof itself, what it is, etc, but for the moment I will simply mention that we have some great special guests this year, including Nicolas Boone (cf. BUP) and Etienne Cliquet, along with previous eniarofers (cf. Charcutrie Brilliant), the students of the Beaux-Arts de Toulouse, and finally all the various stragglers and hangers-on who will throw up attractions with whatever means they can muster. This will all be taking place at the École supérieure d’art d’Aix-en-Provence and we’re open to all sorts of propositions, so if you want to join in on the fun, make yourself known and we’ll figure something out. Make sure you read the Dogme Eniarof first, as it gives the general theme of that-thing-otherwise-known-as-eniarof.

Henniraof screenshot

Anyway… long story short, before I get submerged by the Eniarof beast, I wanted to post a fun attraction my daughter and I made in a couple of hours for Eniarof. She’s 12, has seen every digitalinteractiveroboticgenerative thingamajig you can throw at her and really could care less. Twenty million screens and a gazillion sensors? Yeah whatever. It networks halfway across the globe and into space? Hasbeen. When she was four she shook the third arm of Stelarc, at five she was introduced to a man named Naut Humon, and over the years has met all sorts of other wonderful extraterrestrial constructs. Zzzzz. Next! So what could I possibly propose to peak the interest of a been-there-done-that 12-year-old? Actually, for years she’s been asking me to make something that matters, you know, something people might actually care about, like, for example, something with horses. I actually do have a wonderful installation along these lines (think Elephants, Stallions and Giraffes) but which has yet to find the right exhibit/curator, so she waits and waits still. So I finally gave up waiting, and as Eniarof was coming up we found a few available hours and created a horse simulator we are calling Henniraof. The functions of this horse simulator are simple: you wear various iterations of horse heads and bodies made out of cardboard, and prance about in an arena we will build for the occasion with similarly low-budget materials. Add one webcamera, one Optical Flow algorithm, a MacMini, some speakers and some horse noises and you have yourself a really fun horse simulator.

Henniraof Cardboard Horse Henniraof Cardboard Horse Henniraof Cardboard Horse Henniraof Cardboard Horse

I’ve included a link to the downloadable software. Remember, this was made very quickly and while it could be far more sophisticated this would totally defeat the purpose as an Eniarof attraction. Rule one when making an Eniarof attraction: once it works good enough for people to have fun with it, you should stop and move on to the next attraction. Rule two: do whatever it takes to get to rule one.

Added note, the source code will probably not work in your OpenFrameworks installation, since I’ve done some nasty hacking into my version of OpenFrameworks. When the next version of OpenFrameworks comes out its’ OpenCV module should have Optical Flow integrated in the basic installation; I’ll re-compile at that point. Sorry about that but I’m too busy right now. Until then, the code is simply listed here as a reference. Again, sorry…

That said, we plan to add Optical Flow into the next iteration of the OpenCV Processing Libraries which should actually be pretty easy to do in and of itself. It’s really just cleaning up the current library, updating to the new OpenCV release, and fixing some major architectural mistakes we made (impossible to use multiple instances, etc) in the first library that will take time.

The horsehead construction formula was designed by Lola in just a couple of minutes. Basically I left the room to get some industrial-sized staples and when I got back she’d designed this brilliant system, so I take no credit for the design (other than some vague notion of genetic influence). All of the elements are both structural and visual. The black tape reinforces the solidity, designs the look, and simultaneously protects users from the sharp edges of the big staples (it also helps keep the staples from ripping).

Ingredients:

  • Cardboard box
  • Tape (black gaffer tape gives great contrast with the brown cardboard)
  • 4 x Necrobutcher-sized staples (or just cut coat-hangers into staples, whatever)
  • Pliers (for working with the staples)
  • Cutting knife or scissors

Required Tools

Steps:

  1. Get a box.

Pick a box

  1. Flatten the cardboard box by identifying the natural seam where the box was glued together and tear at this point. This should give you a flat piece of cardboard to work with.

Separate box from glue-point Flattened box

  1. Identify the ugliest side and remove it. In my example, I’m removing the side where the handle was torn off (probably through use — those eggs must have been pretty heavy). Keep this piece, we will use it later for the horse’s mane.

Select a crappy end section Cut off crappy end section Crappy section removed

  1. Fold the remaining sides together to make the horse’s head shape. You will probably figure it out pretty quickly by looking at the photos, but the basic idea is to make an elongated horse head by folding the two side-flaps over one another. I recommend folding the lower flap over the upper flap.

Fold into Shape

  1. Chose the strategic points for the four staples and place the black tape on both sides (inside and out). Try to position the back staples at a strategic point: not too close to the edge of each flap so as to risk tearing the cardboard, but high enough to be used as the horse’s eyes once covered with tape. This is a judgement call, but you don’t really have to be all that perfect about it. We noticed that as long as you get the eyes close enough to the position of true horse anatomy eye sockets, imagination takes over.

Mark staple points (muzzle) Mark staple points (eye)

  1. Push the staples into the cardboard (using pliers, or an industrial staple-gun), fold the ends down as flat as possible, and place a piece of tape over the staples, in order to protect whomever from scratching/cutting themselves on the staples. Remember, Eniarof is an event open to animals of all ages, so let’s try to avoid meaningless accidents (thereby leaving room for meaningful ones). Of note: once you’ve placed the two staples at the horse’s muzzle your structure should be pretty solid and you’ll be able to work fairly easily on the rest of the horse head.

Staple Muzzle Staple Muzzle Flatten inside muzzle staples Inside muzzle staples Protect interior muzzle staples with tape The horse takes shape

  1. In order to make your horse even more solid, and simultaneously build his/her bridal gear, wrap one long piece of tape around the nose.

Make horse bridal Horse bridal

  1. Cut out the ears. I suggest first making a drawing on the pieces you want to cut. I also suggest using the cutout from the first ear to draw the second ear. This should give both ears the same size/shape.

Draw first ear Cut ear Use first ear remains as a pattern Second ear pattern Finishing touches on ear

  1. Create the mane with whatever scraps you have remaining and attach them with tape.

Use remaining cardboard for mane First half of the mane the completed mane Completed mane Completed mane

  1. The method you use to make your viewport is up to you. Here I’ve started cutting from where the original handle-hole was cutout and simply cut horizontally to the same length on the other side. I then wrapped the edges with tape so as to avoid tearing the cardboard and eventually cutting the players’ own muzzles. Make sure that your viewport is large enough for the eyes and the nose. Note that you should now be able to see through the hole at the horse’s nose on the other side.

Select viewport Make viewport safe Viewport visibility

  1. All horses should have a name. Naming your horse is a pretty easy affair. Remember, nothing is superfluous. Here we’ve chosen two names based on the cardboard boxes’ original packaging information: « Boulette » was the name of our first horse, and « Calibre » our second, although I now regret not having retained « Oeuf » from the packaging. Living in France it would have been easy to name our horse « Picard » or « Carrefour » (wheras in the States I suppose it would be « Kellogs », « Joe » or « Safeway », depending on where you shop), but then you’d have a lot of horses all with the same name, so « Boudin », « Tripes », « Sponges », or « Spam » is probably a better bet.

Chose name (Boulette) Choose name (Calibre)

  1. Voilà, you now have a horse puppet. Download the software, set up your camera and go get all jiggy wit’ it.

15 December, 2008

Vision Factory

Filed under: abstractmachine,atelier hypermedia,code,workshop — Douglas Edric Stanley @ 22:39 pm

Vision Factory

In a couple hours we’ll be starting a four-day workshop using Julien Gachadoat’s Vision Factory platform. This one’s gonna be purely experimental folks, so come prepared with lab coats, flame retardants, and a whole ‘lotta patience. Julien has whipped up a crazy-but-cool server-client system for collective livecoding using a little OSC + Processing client for delivery of the code to the mothership. Should be interesting.

1 December, 2008

CCC

Filed under: abstractmachine,code,live,physicalization,play,workshop — Douglas Edric Stanley @ 12:19 pm

I’ll be heading to Geneva tomorrow for a talk on Wednesday morning, followed by a mini-workshop in the afternoon at the CCC. We will be discussing the role of algorithms, software, and machines in the changing political landscape of our contemporary societies. There will obviously be some discussion of code and hacking in there, but I also want to discuss the role I think games and/or « electronic ludism » (i.e. the larger context of play and algorithmic machines) can play in future political/citizen intervention.

23 October, 2008

Design algorithmique

Filed under: abstractmachine,atelier hypermedia,code,live,workshop — Douglas Edric Stanley @ 15:27 pm

Yet another workshop next week. This time I’ll be returning to the Institut d’arts visuels, a design school in Orléans, to kick-start a year-long project with a group of their students involving algorithmic objects. I’ll also be giving a conference on Wednesday, but I haven’t figured out the title yet, so I’ll post that at a later date.

Here is the official description of the project, written by Caroline :

  • Atelier de recherche et de création
  • Objets interactifs : interfaces physiques et design algorithmique

L’arc se propose de réfléchir aux problèmatiques en jeu dans la physicalisation des nouvelles interfaces et d’explorer l’interactivité lorsqu’elle se déploie dans l’espace ou au coeur d’un objet (installations interactives, objets communicants, scénographie interactive…).

Du palais de Tokyo au distributeurs de jeux vidéo, de nos lieux intimes aux espaces publics, une nouvelle génération d’oeuvres, d’espaces et d’objets apparaissent dans notre quotidien. Qu’ils soient vecteurs d’une expérience originale, d’information, ou tout simplement dotés de nouvelles fonctions, leur spécificié réside dans leur capacité à réagir. Ils sont dotés de comportements. Ils réagissent à nous, mais aussi entre eux, communiquent, parfois.

Qu’il s’agisse de la console Wii, d’une oeuvre d’electronic shadow, ou des véhicules de dernière génération, le point commun de tous ces “objets” est qu’ils embarquent un microprocesseur, de meme nature que celui nos ordinateurs. Cette infiltration de l’informatique dans les autres champs de l’industrie, de l’art, du design, car il s’agit bien de cela, permet de donner aux espaces, aux objets, aux oeuvres cette capacité à réagir, interagir, avec le spectateur, l’utilisateur, l’environnement.

Comment penser, concevoir ces objets interactifs, objets machines, et surtout leurs interfaces, c’est à dire les moyens par lesquelles ils “communiqueront” avec nous, avec le monde, entre eux. Ou s’arrete le design, ou commence la communication? ou plutot comment les deux chanmps doivent se rencontrer pour élaborer d’autres facons de réfléchir, de nouvelles méthodologies de conception pour élaborer ces objets algorythmiques? C’est ce que nous nous proposons d’explorer dans ce nouvel arc.

Jacques Francois Marchandise président de la FING, prédit que la prochaine révolution de l’internet, sera l’interconnexion par le réseau des objets. Dans peu de temps le nombre d’adresses IP (identifiant unique de chaque machine connectée au réseau) attribuées à des objets du quotien explosera et dépassera de loin le nombre de celles attribuées à des ordinateurs personnels. Nous ne pouvons faire l’économie d’une exploration des enjeux qu’implique ce constat dans nos métiers et surtout dans le métier de demain de nos étudiants.

Notre arc s’inscrit donc à la fois dans le design et dans la communication car élaborer des interphaces physiques c’est à la fois l’un et ‘autre.

Nous envisageons de travailler avec un partenaire (musée, institution culturelle) et mettre en place un moment de mise en situation et de présentation publique des projets.

21 October, 2008

openframeworks::cours()

Filed under: abstractmachine,atelier hypermedia,code,workshop — Douglas Edric Stanley @ 17:08 pm

Last week, we finished a week-long introductory course on OpenFrameworks. This was an advanced-level course, and considered as a pre-requisite the basic concepts explored on-line and on-site in my classes on Processing). The session was somewhat improvised, given that I’d never taught a class on C++ programming in an art school. I had to do a lot of adjustments, and we didn’t really hit our stride until the final day, when the class on pointers (apparently) tied everything together into a pretty little package, at least for those that had the courage to stick around until the end.

TeaParty TeaParty

As it turns out, the final strategy turned out to be: just ignore the C++ part, and teach people what they need to know in order to work on their projects. From there, what they need to know can be learned from within the project. As always for us, the pragmatic on-the-job-training method always works best.

If you speak/understand French, or trust robot translators, you can check out the on-line classes I prepared for this class: OpenFrameworks, cours en ligne. So far, there are only four basic classes, but these should be enough to get you started, especially if you’ve already walked through the classes on Processing. We purposefully jumped straight from configuring the environment to building classes, vectors, and using pointers, since these are basically all the important concepts you need to know to get started in real-life projects.

Over at the Happy Code Farm you’ll also find some OpenFrameworks examples/experiments from students, as well a contribution from two researchers from the Laboratoire ERASME who came to follow the workshop. They were great and helped us figure out a couple of configuration issues with Code::Blocks in Linux. Since everything begins in the Atelier with Pong, they created an OSC-Pong in order to figure out how to work with several machines at once. They have done a lot of work with interactive video walls, multi-touch interfaces, networked museum spaces, etc, and so they needed to know how OpenFrameworks could plug into their other interfaces/spaces which often communicate via OSC.

Once you’ve gotten through these classes and examples, there are further links listed in the introduction to very-good-things® such as the OpenFrameworks wiki or the OpenFramworks forum where you’ll find the rest of what you need.

12 October, 2008

OpenFrameworks::learn()

Filed under: abstractmachine,atelier hypermedia,code,live,workshop — Douglas Edric Stanley @ 11:10 am

As I mentioned last week, starting tomorrow I will be teaching a week-long intensive introduction to OpenFrameworks and C++ programming for artists and creative types. If you’re motivated and want to join in, let me know. Unfortunately, my blog has been down all week and I only figured out how to fix it today (Sunday), so this call for stragglers will probably be too late. But if you’re already in the south of France, we still have some room for what I called last week « des piques-assiette ». Just come with a laptop and we’ll set you up with 220V, wifi and ‘da knowledge.

As in last week, classes are en français, and we can’t make any travel accomodations. Also, this is an advanced class, so I’m going to figure that you’re already knowlegable in classes and lists. If you want to prepare, you should basically know how to program classes/objects in Processing/Java but you do not need to know C++ already. I’ll set you up with that. You should also understand how 3D works, pushMatrix() and popMatrix(), although I will of course go over all these concepts on Monday. (Si vous vous sentez perdu, vous trouverez une brève introduction sur ces concepts dans mes cours sur Processing). I’ve also started a class on using OpenFrameworks but I’m only at the introduction for now.

12 July, 2008

OpenCV for Processing v01

OpenCV For Processing is an open-source library for integrating basic computer vision analysis and tracking within the Processing environment. It simplifies access to the powerful OpenCV library and offers a Java/JNI wrapper for artists, designers and multimedia developers looking to integrate OpenCV into their project.

OpenCV Pour Processing est une librairie open-source permettant de l’analyse et de la reconnaissance basique à l’intérieur de l’environment de création, Processing. La bibliothèque simplifie l’intégration d’une librairie puissante pour la reconnaissance optique, OpenCV.

is an open-source library for integrating basic computer vision analysis and tracking within the Processing environment. It simplifies access to the powerful OpenCV library and offers a Java/JNI wrapper for artists, designers and multimedia developers looking to integrate OpenCV into their project.

Stéphane Cousot and I are announcing today the public availability of our OpenCV Library for Processing. Although the library has been ready (in various states of undress) for a few months now, we have been using the intervening time to learn more in-depth how OpenCV works, debug, simplify method calls, test the library in real-world situations, add various features, plan out features for future releases, and — most importantly — write coherent documentation for those Processing users discovering OpenCV for the first time. It might seem like a light start, given the limited number of functions we’ve made available from the impressive Intel library, but we wanted to make sure each component worked as promised. Also, we wanted to make working with it as painless as possible for Processing users, and follow the Processing logic of getting complex things done with a limited number of simple methods. And finally, we wanted to make sure it was stable enough in a real-world installation context.

Download link: here

OpenCV for Processing

For the features, you have internal (via OpenCV) and external (via Processing) capture, basic image treatment (threshold, comparison, extraction, etc), contour tracking, face & body tracking, and a few other little goodies thrown in here and there. So, as it stands, you can (for example), recognize someone’s face, grab the outline of that face, and go into the image data of that person’s face to extract the face data. Or, you could use infrared filters with lights pointed at or placed on your body (see below), a multi-touch surface, or some other artificial lighting condition to grab light blobs for finger or body-part tracking and use that data somehow in Processing. There are obviously many possibilities.

Some of the things you cannot yet do, and which we plan to add to the library: motion history images and optical flow (pixel tracking), kalman predictions, color tracking, histograms, and obviously the list could go on and on. A lot of these functions I already have working in OpenFrameworks for an installation (soon to be announced) which will be exhibited later this summer. So consider the current release a starting point, with what we believe is a fairly clean start, but we could be wrong on that. The code is open, so go in and dig around — perhaps you can give us some good advice or add to the code yourself.

Special note: this library will also work for pure Java work, and yes, there is Java documentation.

So, why did it take so long? Well… when I say that we’ve been busy testing it in laboratory and real-world instances, I mean it. I’ve gotten some mail on this recently, so I should make things a little clearer: if you ever wondered why I don’t post as much as I (or apparently some of you) would like, it’s because I’m busy elsewhere working on so many @#&*$% projects. I do not just work on my own projects and I am definitely not a full-time blogger : I teach, run an atelier, collaborate with other artists, do research, write, write code, consult, curate, and somewhere in there, I’m a dad for two lovely and brilliant young (or youngish) women. Since I don’t have a secretary, nor a double, that means some creative Douglas-time-sharing. So when I’m quiet here, it most certainly means that I’m busy doing one of these other things. And over the past few months, that has worked out to about 50% of my creative work involving OpenCV in Processing and OpenFrameworks.

And on Stéphane’s side, he’s been just as busy working over the past six months on a gazillion projects for various artists, art students, and researchers; and only a part of that work involved this OpenCV library.

So, what have we been doing with it? The library has already been used in numerous projects at the Atelier Hypermédia, in external workshops at schools such as the Institut d’Arts Visuels in Orléans, as a research tool at the DRII laboratory (Dispositifs relationnels : Installations Interactives) at the École Nationale Supérieure d’Arts Décoratifs in Paris, and in two public works, one an installation for Gamerz 0.2 and the other as a component of a haptic dance performance-dispositif by Wolf Ka and his studio. Finally, we used the library to prototype an urban-design project by Lei Zhao for the Studio Lentigo, Marseille although this project was eventually finished in OpenFrameworks due to the high video performance demands of the installation. So all in all, about a dozen different projects over the past few months.

Here are a few images/videos with links for more information on the author(s)/works:

Wolf Ka, Moving By Numbers Wolf Ka, Moving By Numbers Wolf Ka, Moving By Numbers Wolf Ka, Moving By Numbers

C'est toi la patate !? C'est toi la patate !? C'est toi la patate !?

  • Lei Zhao, Node City (follow link for more videos).

Lei Zhao - Node City Lei Zhao - Node City

  • Fabien Artal, Diplôme DNSEP (avec les félicitations du jury), L’école supérieure d’Aix-en-Provence. There is a video, but you’ll have to jump to 23:15 for Fabien’s installation.

Fabien Artal - Diplôme DNSEP Aix-en-Provence Fabien Artal - Diplôme DNSEP Aix-en-Provence Fabien Artal - Diplôme DNSEP Aix-en-Provence

  • Students of the Institut d’Arts Visuels, Workshop Légerté + Nuit des musées, Orléans (follow this link for — very poor quality — video).

Workshop IAV Orléans Workshop IAV Orléans Workshop IAV Orléans

  • I’ll leave off with these images from an installation Stefan Schwabe created with his collaborator Sebastian Neitsch in a public pool in Halle. As swimmers wade about, their movements are tracked by a camera and modify an image built out of 4 overlapping projectors, projecting onto the dome of the rotunda. It should be mentioned that, like Lei Zhao’s Node City, this piece used Processing only during the prototyping phase (the final work was created in vvvv). Nevertheless, Stefan & Sebastian’s project was an important one in our year-long experimentation with various forms of video surveillance in art and design installations. (See Stefan‘s website for video of this installation).

Stefan Schwabe & Sebastian Neitsch - Episureo Stefan Schwabe & Sebastian Neitsch - Episureo Stefan Schwabe & Sebastian Neitsch - Episureo Stefan Schwabe & Sebastian Neitsch - Episureo

Update: I used the wrong terminology. Oops. We decided to call this version v01, precisely to suggest that there is still much progress to be made. Previously I called it v1.0, which is a very different idea!

4 June, 2008

Young, old, furry, slippery

Filed under: abstractmachine,atelier hypermedia,code,physicalization,workshop — Douglas Edric Stanley @ 08:29 am

Starting tomorrow, I’ll be spending two days participating in Fing‘s Université de printemps (Spring University) entitled Plus longue la vie (A Longer Life). As you can tell by the subject matter, it’s about aging and the role of new technologies in the life of seniors, which is great for me because it adds yet another piece to the puzzle that I’m currently working on. Last year, plot worked with France Cadet, the Hacking Lab, Christian Graff and the students of the ESAA on interfacing with electric fish (cf. Workshop Mormyrophone™). Some interresting ideas emerged from that workshop, most notably Games For Mormyridae (cf. Mormyre-Pong) as well as biological random number generators. That’s the slippery part, and feeds nicely into the whole process of physicalization which I have been working on recently, especially the idea of biological computing using insects, à la crickets and moths. Also thanks to France, I will most probably be working sometime next year on making games for primates (Games For Gorillas). More on that later, but that’s the furry part. Also in progress, an ENIAROF for redesigning our anarchic form of play for the younger set. So it is only natural, now, that I turn my attentions to the question of abstract machines and play in the context of the ever-extending lifespan. Although all of the ateliers intersect the type of work I do, I’ll be participating in the atelier entitled Un habitat confortable et modulable, facilitateur de vie. The rest of the time I’ll probably just be napping because there is a lot of blah blah blah planned, which I have very little time or patience for.

14 April, 2008

Plot’s Mountain Getaway

Filed under: abstractmachine,atelier hypermedia,code,plot,workshop — Douglas Edric Stanley @ 09:31 am

This week Plot was supposed to be in the Pyrenées — riding rustic trains, going for walks in the mountains, playing with accelerometers and GPS, and watching The Sound of Music, Moloch and other mountain movies — but through various accidents we ended up transporting the entire mountain to Aix-en-Provence.

Plot Voyager Map

30 March, 2008

L’orientation algorithmique

Filed under: abstractmachine,code,live,physicalization,workshop — Douglas Edric Stanley @ 11:45 am

Yes, I am off to yet another workshop this afternoon. This time to the IAV in Orléans, a design school that is organizing all week a series of workshops, conferences, and presentations dealing with the theme La légèrté (lightness). This concept is obviously following in line with what is probably now 100% of the design schools in the world who have jumped onto the bandwagon of durable design. And yet while I’m thrilled with this turn of events, I wander into this new context with some trepidation; and so as usual I replied to their invitation with an amical quip, reworking the subject of “légèrté” into that of “orientation”, suggesting therein that oppositions such as light vs. heavy do not really grasp the current transformations of space, objects and subjects. In place of such dichotomies, I’m suggesting here that we rework Duchamp’s concept of the “inframince” (ultrathin), taking into account the new forms of re-orientation that are changing our contemporary polis.

On the practical side, this workshop will very much be keeping in line with my steady reorientation to the subject of phyiscalization, and as such we’ll be working with Arduino as much as with Processing.

Here is the full French description of the workshop. I should probably translate it, because there are some essential concepts in there for my current thinking on digital art and design, but I have to get on a train so you’ll just have to use your favorite translator if you can’t read it in the native tongue.

Proposons une nouvelle mesure : celle de la modularité des choses. Encore plus léger que la légerté, l’inframince n’est plus cet espace liminaire qui s’imaginait jadis comme le poids de la fumée — l’intangible comme une sorte d’ontologie indécise. Aujourd’hui l’inframince se définit plutôt dans l’hésitation du neurone avant de se décharger, c’est-à-dire à travers l’esprit intangible qui permet à des choses tangibles de se moduler. C’est le potentiel d’une ontologie à la fois matérielle et varible : « inframince » comme « l’orientation » des choses, « modularité » comme leur « ouverture » sur le monde.

Une approche « orientée » (du design, de l’art, peu importe) se déploit dans un monde physique de plus en plus capable de se réadapter « en fonction de … », « envers … », et « vis-à-vis … ». Pour ce workshop, nous tenterons une avancé vers ce monde en explorant ses machines programmables. Ces machines sont riches mais également complexes. Le but premier sera alors de dompter ses méchanismes modulaires. Pour y arriver, nous utiliserons principalement deux environments de création algorithmique — Processing et Arduino –, conçus tous les deux pour et par des artistes voulant rendre (plus) accessible la création modulaire.

L’intérêt de ces deux environements réside non seulement dans l’accès qu’ils donnent à l’intéractivité, la générativité, l’interfaçage ou la mobilité; ils sont surtout essentiels pour la continuité qu’ils permettent entre le monde des médias et celui de l’espace physique. Car pour nous il s’agit d’un seul et même continuum entre l’algorithme côté machine et son « expression » dans le monde physique. C’est dans ce sens que nous ne parlons plus du composition de l’objet mais de son orientation, c’est-à-dire de la façon dont un objet peut s’exprimer dans l’espace d’une installation à travers un programme informatique ou vice versa. C’est ce que nous appelons la « physicalisation » du monde algorithme.

Bien que cela ne soit pas l’objetif principal du workshop, ces expérimentations peuvent mener à terme vers l’argument implicit dans celui de la « légerté en design » : autrement dit le développement durable et le « poids » des interventions de l’homme. Pour nous, la réflexion sur la transformation du monde ne peut pas faire abstraction des nouvelles abstractions algorithmiques qui s’abattent sur nos territoires, y compris dans leurs dimensions politiques. Pour ne donner qu’un exemple, nous ne voyons pas dans le balisage du paysage uniquement des histoires de localisation, mais aussi de la gestion du territoire. Nous nous opposons en conséquence à toute idée de dématérialisation qui ne s’accompagnerait pas d’une réflexion sur la re-matérialisation; c’est-à-dire l’hypermatérialisation. C’est dans ce sens que nous parlerons d’une « orientation algorithmique » qui approche le monde non plus comme une série d’artefactes plus ou moins lourdes mais plutôt comme un territoire de choses en évolution constante capables d’être mesurées par leur modularité.

Puisqu’il est de la résponsabilité du designer d’être à la fois en phase et déphasé avec son temps, ce workshop propose de répondre à ces constats à travers des expériences concrètes avec les formes directement résponsables, et voir les réponses artistiques qui s’en suivent.

17 March, 2008

Art du code, Bordeaux

Filed under: abstractmachine,code,live,workshop — Douglas Edric Stanley @ 20:18 pm

Hi. I’ll be in Bordeaux this week, in yet another workshop on how to make art using code. Here’s the official statement:

Introduction aux pratiques actuelles de la programmation dans le champs artistique. Initiation au logiciel open source Processing. (processing.org)

Artiste d’origine américaine, Douglas Edric Stanley est professeur d’Arts numériques à L’école supérieure d’art d’Aix-en-Provence où il intervient dans des champs tels que l’esthétique informatique, l’interactivité, la robotique, et la programmation, et dirige L’atelier Hypermédia, un atelier qui traite l’algorithme et le code en tant que matières plastiques. Depuis 1997, il a donné de nombreux workshops sur la programmation dans un contexte artistique pour divers institutions, universités et écoles d’art. Il a participé en tant qu’artiste à des expositions liées à l’art informatique, dont la Biennale ICC, Tokyo; le Festival Ars Electronica, Linz; ZeroOne/ISEA2006, San Jose; EnterMultimediale, Prague; Villette Numérique, Paris; Festival Némo, Paris; Ecoute, Centre Pompidou, Paris. En 2000, il a reçu une mention aux Prix Ars Electronica pour son installation à retour d’effort, Asymptote. Il est également chercheur au Laboratoire Esthéthique de l’Interactivité à Paris 8, où il travaille sur les trasformations de l’art face à l’algorithmisation du monde.

19 January, 2008

C’est toi la patate !?

Filed under: abstractmachine,atelier hypermedia,code,exhibition,transatlab,workshop — Douglas Edric Stanley @ 22:34 pm

Here are some screenshots from « C’est toi la patate !? », the design-it-and-build-it-as-fast-as-you-can « installation ludique » we created in just under 4 days during the PlayVision workshop. The main goal of this installation was to use our still-in-construction Open Computer Vision library for Processing in a real-world context and see if it could hold up. Conclusion? So far, so good.

C'est toi la patate !? C'est toi la patate !? C'est toi la patate !?

The idea is very simple. You stand in front of a screen which acts as a surveillance-system/mirror. If you hold a part of your body still, the computer will take a picture of it and detach it from the rest of your body. Once you have detached the body part, you can play with it by moving your body around. The installation stores many body parts, leaving a sort of weak memory trail which (re)connects the successive players to one other over time.

We called it an « installation ludique » in response to an idea put forth by Jean-Baptiste Labrune during the opening Transatlab brainstorming session. I had been talking about Huizinga’s and Caillois’ theories around games and play, and Jean-Baptiste suggested we also keep in mind Winnicott’s theories around free play. The idea of a game open enough for the rules to more or less emerge during gameplay appealed to us greatly. This is one of the reasons there is no real specific goal to our « game », outside of the fairly obvious constraints of the interactive algorithm itself and the behavior required to achieve whatever it is you want to do. Jean-Baptiste also insisted that this model of gameplay has a power relation: it could be suggested that those who generate the rules, are exceptions to them.

Unsurprisingly, most people have been playing with the mirror from a purely narcissistic desire: fascinated by the pure game of self-recognition. Mirrors, apparently, still fascinate us. However, very quickly (in fact, almost immediately), people figured out that you could tell stories with it, and even salacious ones at that. By detaching your fingers in a suggestive manner and pushing them into suggestive configurations of body parts, one can in fact construct a compelling little marionette play, albeit a somewhat simplistic one. Funny that those two configurations — reflection and storytelling — should both be so immediately compatible in an interactive context, so easy to tap into. There is a great word for this which I used back in my pre-doctoral thesis on interactivity, namely « relation ». Relation, in French, can mean both a relation (in the English sense of relationship) and the act storytelling, i.e. the process of relating something to someone else. Interactivity, I wrote back then, was often about relation: what story is constructed in the liminary space generated between the player and the machine?

14 January, 2008

Gamerz 0.2

Filed under: abstractmachine,atelier hypermedia,code,exhibition,workshop — Douglas Edric Stanley @ 23:51 pm

It’s running late and I’ve still got some code to write, so I’ll have to write more about this later. But I wanted to mention that the GamerZ 0.2 exhibit will be opening tomorrow evening at the Espace Sextius in Aix-en-Provence followed by a concert at the Aix-en-Provence School of Art.

If there’s one piece that stands out above all the others, it’s this very cool Damien Aspe installation entitled From Russia With Fun. It’s great, and reminds me of Space-InvadersRubikubism installations, only more art-pop (but still cool).

As for my participation, M2F found a little spot for the Atelier Hypermédia and the installation we built during our tiny workshop entitled « PlayVision ». The students have come up with a fun little project, all built in about 5 days total. It’s a sort-of live Mr. Potatohead, and you’re the Potato. We used, as previously mentioned, OpenCV inside of Processing, and Minim for the sound generation. The last two evenings I’ve spent a few hours stitching it all together and re-writing everything into cleaner classes, and so on and so forth. Tomorrow we finalize everything on-site and adjust the lighting with the organizers and fellow artists. Lighting is always a complete pain in the ass with video surveillance — gosh golly I sure hate adjusting lights.

7 January, 2008

Edge Detection

Filed under: abstractmachine,atelier hypermedia,code,transatlab,workshop — Douglas Edric Stanley @ 22:06 pm

Ok, so we’ve still got a lot of work to do from here on (like making a distributable library package, for example), but this evening Stéphane and I at least got a pretty decent little edge detection example working with OpenCV humming along quite nicely inside of Processing. So we’re ready for the workshop that starts tomorrow. Of course, there are other libraries that already do this inside of Processing, but this will open a lot of future doors, so we’re pretty happy. Here’s a quick snapshot before I go to bed:

OpenCV + Processing

4 January, 2008

playVision

Filed under: abstractmachine,atelier hypermedia,code,transatlab,workshop — Douglas Edric Stanley @ 23:32 pm

I’m a little giddy this evening, because Stéphane Cousot and I finally got a first very-alpha version working of the OpenCV library for Processing. We’re building this library for a workshop that begins next week and will eventually finish with a game to be installed at the Gamerz 0.2 exhibit on January 15th in Aix-en-Provence. After that, we’ll join up with the other groups working within the context of the Transatlab workshops throughout all of January, and see if we can’t put our OpenCV library to good use in their projects.

As for the library itself, talking back and forth from Processing to OpenCV turned out to be, as expected, quite a pain. Basically, we have to write bridge-code to all the OpenCV functions that we want to use, and implement inside of the JINI-side of the library all of the code required for manipulating and storing the image analysis data. Yikes. In fact just getting that Java-C++ bridge right without any memory leaks or other hazards was 90% of what took us the couple of days we’ve put into it so far. I’m also a bit obsessed with keeping the code as fast as possible (i.e. with as little communicated data as possible between the two environments), since native processor speed is one of the reasons you’d want to work with a library like this with Processing.

OpenCV Processing test

The original plan was to base our work on the fine code created by those wonderful people over at OpenFrameworks, and just add some JINI wrapper for Processing. Yeah right. Turns out you can’t just shoehorn these things like that, so we had to go back to the Intel source code and work from there. All was not lost though: we’ve been able to use OpenFrameworks as a cheat-sheet, and more importantly to try to match their methods to ours. We couldn’t make it 100% compatible, so you won’t be able to just copy your Processing code over. But we’re at least trying to keep the two projects as close as possible, so that people can take the essential routines from Processing and port them over to OpenFrameworks without too much hassle. So far we’ve found it pretty easy to go in this direction (it’s a fabulous way to learn C++, by the way), so why not return the favor and get inspired by OpenFrameworks to generate some code for Processing for a change?

For those that might be interested in this library, know that we’re working on it, but also that we don’t have any specific time-frame for releasing it. As Stéphane and I did for the UDP library, we’ll just fine tune it until it works within the context of the atelier, and then Stéphane will probably clean it up and make it all spiffy as he usually does.

That said, if you want any specific functions from the OpenCV library to be put at the top of the list (i.e. while we still have time to work on this project), let me know — perhaps in the comments here? As I mentioned above, we’re beginning with a simple demo-to-demo match of the OpenFrameworks example, and then we’ll maybe roll in some of the face detection behavior currently offered in the Face Detection library by Jaegon Lee. That’s a big maybe, because that library already works. But in the end, since it’s merely just a wrapper to a specific Mac OS X port of OpenCV, it would probably be good to just go back to the original OpenCV framework for Mac+Win+Linux compatibility. Anyway, edge/blob detection & face tracking are the first two on our list, along with all the fun little extra gadgets that come with making those two aspects work. Any others?

5 December, 2007

Immédiat

Filed under: abstractmachine,atelier hypermedia,code,workshop — Douglas Edric Stanley @ 21:21 pm

After a very pleasant meeting with the professors and students of design in Marseille last friday, I’ll now be traveling back to see my friends in Geneva at the art & design school where I’ll run another three-day workshop. So far, we don’t know exactly where it’s going to go — as always I like to keep it open — but we have decided to work from the perspective of visualist performance. So that will probably mean making visual algorithms that relate to live sound input. I’ll see how far we can push that purely technical configuration, and will probably construct some temporary concept to give us a more theoretical framework to work from.

You can see the work we did at the last two workshops in the design section of the school : Ooo and Play!. Those went very well, but apparently the school has changed quite a bit, so I’m looking forward to seeing how this new melding of the art & design schools is coming along.

I love Switzerland (and the Swiss). They have this wonderful speed at which they work — a speed that most French find maddening, because the tempo is just a tiny notch beneath their own.

My favorite Swiss moment was on my way to my first day of teaching at the design school. I was nearby, but couldn’t find the street. I stopped into a local shop and asked for directions. « Hmmm. Je crois la connaître, regardons… » the fellow said, and pulled out a map. He then proceeded to first unfold the map, and then to my amazement fold it up again, only folding it in a very specific way such that he was able to show me the precise position of my target.

The idea is very simple, and almost identical to any other map you might know. In any old dopey map you have letters (A-Z) on the vertical sides of the map, and numbers (1-666) along the horizontal sides. The problem is that you have to hold the map open with two hands, and then use the fingers of your other two hands (or your feet, I suppose) to follow those coordinates in a straight line until you end up crossing at the street you want. But the Swiss are obsessive with the little details, and in such a way that probably explains why most French people find them quaint. The Swiss have letters on the sides of their maps too, only the numbers are printed on the back of their maps. Get it? You fold the map at the letter indicated in the street index, and this lines up the bottom backside of your map precisely at the horizontal position you’re interested in. Then you follow that edge’s numbering system horizontally and bingo, you’ve got your street.

So first you have to imagine that the A-Z number does not give you the row you’re interested in, it gives you the fold you’re interested in, in order to line up the bottom of the map and your street. Very clever, that. Too bad I can’t find any pictures on the Internet to show you what I’m talking about. I’ll have to bring one back with me.

Oh, and did I mention that the typography on that map was to die for?

 older »