February 14, 2008
See Peacock in Action

If you wonder why I haven't posted anything during the last months it's because I'm involved with some very exciting projects which unfortunately take all my attention so the blog currently suffers quite severely. But at least the time has come that I can show you one of the objects of my affection and since the beta invites are going out now you even might get the chance to try it yourself. Here is Peacock (together with Phoenix) in action:

Peacock comes disguised as a "Pattern Generator" but in reality it's an experimental visual playground. I prefer to call it "Lego for Pixels". It features a node based interface similar to those found in Quartz Composer, VVVV, Max/MSP or Yahoo Pipes. It works by dragging hubs onto a workbench, connecting their inputs and outputs and then adjusting their individual settings. There are many different hubs to choose from (and new ones are added constantly) and each one has a specialized function - there are simple generators like Perlin Noise or Plaid, there are effect hubs like Blur, Polar Mapping or Color Matrix and there are some functional hubs, too, that split and join the flow. Like with Legos you can simply try to stick together these elements and see what comes out. Of course once you've familiarized yourself with the functions you can also "program" special effects with a goal in mind.

If you have never worked with a node based interface before the amount of options might be a bit overwhelming at first, but as you will see this gives you unlimited possibilites to create really unique visuals - not just out-of-the-box effects that look almost the same for everyone. (Well you actually can have those too, as you can see in the clip :-) )

The great thing is that once you have build a composition it allows you to create endless variations of it by simply changing a parameter - which makes it almost a generative art generator, too. Here are a few example of things I've made with Peacock (whenever I had the time to play with it instead of building it).

Posted at February 14, 2008 12:55 PM | Further reading

Wow! Looks amazing, can't wait to have a play with it...

Posted by: Kelvin Luck on February 14, 2008 02:22 PM

Whoa! That looks amazing Mario! Definitely interested in checking it out when invites become available! ;-)

Posted by: Avi Muchnick on February 14, 2008 02:23 PM

Yeah well done. I also wounder when ist will be possible to get the a.viary set for non beta testers. What is it with the invites? Do you have some ;) ?

Greets Niel

Posted by: Niel Smith on February 14, 2008 03:59 PM

just for curiosity's sake: what's the point in duplicating max/msp or quartz composer? esp. in an environment that's not hardware accelerated and runs slower than native apps?

Posted by: ron on February 14, 2008 04:10 PM

not to piss on your parade, i'm just curious: how often do you find yourself in an internet café in thailand with no photoshop around and no access to a friends computer, not to mention your own? and how often do you really need to do pro grade graphics compositions and photo retouching in these situations?

i find the point of many web apps useless and silly but i'm still giving you the benefit of the doubt here. what are these for?

Posted by: ron on February 14, 2008 04:14 PM

ron, how often do you have fun? you should try it.

very cool Mario. I copied you moments after I saw it (on my blog) ;)

Posted by: Keith Peters on February 14, 2008 04:36 PM

keith: very nice. thank you. it's just that i do the same things or more in max/msp plus there is quartz composer which is free so i'm asking mario (not you). what is the purpose behind this? maybe there is a very valid reason that i don't get so... convince me.

Posted by: on February 14, 2008 04:46 PM

Ron: the same could be said of many of the small steps in the evolution of software in the past few decades.

Posted by: Zeh on February 14, 2008 04:51 PM

ron - well, it looks like you are simply not the target group then.

So to answer your comments: Peacock does not aim to duplicate or replace Quartz composer or max/msp in any way. What I wrote is that the node based interface is similar to other tools that make use of this metaphor. And even those two tools didn't invent the idea of node based composing.

I cannot even talk qualified about max/msp since it comes with a pricetag of $495 which was too high for me to be used as a visual toy only. And since I don't earn my living as a visualist or an artist (yet) I never needed it on a professional basis.

Quartz Composer is great and powerful (and free) but only available for Macs and for whatever reason hidden by Apple deep down in their developer tools. And Quartz has a very different set of functions and a much broader range of possible applications than Peacock which currently only wants to be useful in the creation of interesting 2D visuals.

The "not hardware accelerated" part will not be true for very much longer. If you check out Adobe Labs you can already test Hydra which will allow to create hardware accelerated pixel shaders that can be used by the Flash player. And you can be sure that Peacock will make heavy use of those as soon as we can.

And - no, I probably will not sit in an internet cafe in Thailand and retouch photos either. But if you have a look at Worth1000.com for example there is a huge community of people who simply love to create awesome composings for fun. The whole Aviary suite is also about community and sharing - something you don't get with any of the tools out there.

So instead of playing online sudoko how about next time wasting your time in a productive way and try to create some wicked visual?

Posted by: Mario Klingemann on February 14, 2008 04:53 PM

I don't think the purpose is to copy max/msp or similar softwares. They're for interactivity using sound, image and video. I think the comparison was more towards the way you link stuff visually rather then write code. This software is for image synthesis using several different types of transformation. It's as if it was max/msp or vvvv just with image and color matrixes, and a few custom transformation modules, but I still think it's quite unique in what it tries to do. It's a very fun way to approach generative images.

Posted by: Zeh on February 14, 2008 05:03 PM

ron, sorry to come off that way. Mario said what I meant to say, in a much more diplomatic way. It's all about fun, creativity, sharing. i don't see that something is "useless and silly" just because it is not as powerful as the top-of-the-line project.

Posted by: Keith Peters on February 14, 2008 06:38 PM

Wow, that's very impressive. The Aviary suite is shaping up really nicely. Much more than similar attempts from the big guns. Love the interface, I think we all will end up working with nodes instead of writing lines and lines of code. Your examples are beautiful (as usual).

Posted by: C4RL05 on February 14, 2008 08:33 PM

Very impressive. Would you be able to export your creations from the GUI and reuse them in own projects?

Posted by: Nick on February 21, 2008 03:19 AM

The final "product" Peacock produces is always a PNG file which of course you can use anywhere. But if I understand you correctly you would like to have something like an swf component that reads your composition data and renders it on the fly - maybe even with animation. That is definitely a very interesting idea which I have to think more about, but unfortunately that is not yet supported. But thanks a lot for the input - you will be the first to know in case we implement it!

Posted by: Mario Klingemann on February 24, 2008 05:34 PM


is that node editor written from scratch or is it extending another library? If it is bespoke, any chance that you might release that part as a library for other developers?



Posted by: Joc on March 8, 2008 12:17 PM

That editor is written entirely from scratch in Flex. Since Aviary own the sourcecode now I have no rights to release it as a library. But there is always the possibility that it might become part of an Aviary SDK someday.

Posted by: Mario Klingemann on March 8, 2008 04:46 PM

That was really a very nice piece of work! Just watching the video was great, had a bit of art inside. Thanks for the post Mario!

Posted by: Daniel B. on March 22, 2008 07:25 PM

Man, I've been waiting for a dynamic code SNIPPET - NODE-Based Generator with PHYSICS API this stuff is killer..

Shake, Max, Quartz is the way.

Keep it goin.

Posted by: amul on April 7, 2008 10:20 AM

Hi. Have you seen Filter Forge? Peacock looks very similar to it.

Posted by: Andy on April 28, 2008 09:30 AM
Post a comment

Email Address:



Remember info?

Thank you!

Most Visited Entries
Sketches, Works & Source Code
In Love with
Powered by
Movable Type 2.661

© Copyright Mario Klingemann

Syndicate this site:
RSS 1.0 - RSS 2.0

Quasimondo @ flickr
Quasimondo @ LinkedIn
Quasimondo @ Twitter
Quasimondo @ Facebook
Quasimondo @ MySpace
Quasimondo is a Bright
Citizen of the TRansnational Republic
My other blog in german

My family name is written Klingemann,
not Klingelmann, Klingeman, Klingaman, Kingemann,
Kindermann, Killingaman, Klingman, Klingmann, Klingonman
Klingemman, Cleangerman, Klingerman or Kleangerman

profile for Quasimondo at Stack Overflow, Q&A for professional and enthusiast programmers