“Quartz Composer is a development tool for processing and rendering graphical data. Its visual programming environment lets you develop graphic processing modules, called compositions, without writing a single line of code.” (Apple 2007).
To create my project I am aiming to produce “unique and reactive” visuals. There are many ways to do this and all vary in complexity. I have initially decided to explore Quartz Composer (QC). This is a free piece of software included in the Apple developer tools (although not in the initial install). Once you have an Apple developer account and Xcode installed, you can navigate to Apples developer website and install the “Graphic Tools” which includes Quartz Composer. Once installed and opened you are presented with an initially very daunting grey blank grid.
I have avoided programming over the years and primarily used content creation tools like the Adobe Suite, Motion and Final Cut Pro X. Although these tools are great for specific uses, for the type of graphics I hope to produce they are limited, especially when it comes to interactivity. Although QC comes with some documentation, it is very limited in detail for the new user. In general there seems to be a lack of documentation for people new to the software.
After hunting around various forums and blogs dedicated to the software I found an excellent book called “Learning Quartz Composer” aimed at introducing people to the software. The book takes you through from creating simple compositions and explaining how the software works all the way to an advanced level. It comes with a DVD full of video tutorials to support the learning. After working through this I have found that the software is not as daunting as I initially thought and is actually lots of fun to experiment with.
The beauty of QC is the ability to control the created visuals using various forms of interactivity e.g. video input, MIDI control, reactive sound, Xbox Kinect and Leap motion controllers (using appropriate plugins). This enables your to produce visuals that are interactive in one or many ways, perfect for the project.
The software enables you to program by connecting various macros and nodes (patches) using “noodles” (as the book describes them!). Compositions can have input parameters and produce output results. These can vary wildly from camera and sound inputs all the way to LFO generators, etc. All of these can be placed in hierarchies which allow you to place programs within other programs e.g. a replicator (which multiplies the visuals). All of the work produced can be exported either as a non-interactive Quicktime file or saved as a QC composition (.qtz) which can be opened on any Mac. Again one of the key advantages of this file format is the ability to open the .qtz files in Resolume Arena media software, which in turn will enable synchronisation to music and sounds in other software such as Ableton and the ability to trigger and mix multiple QC files simultaneously.
Even though the learning curve for the software is steep, I feel that I am advancing quite quickly, in a large part this is due to the excellent book, which I highly recommend to anyone wanting to get started learning this software. My 2 key concerns of using this software are: 1) Is the output quality good enough? 2) In the long-term, it doesn’t seem Apple are going to continue to support the software (although nothing official has been reported, it hasn’t been updated for a few years). At this stage in the process question 1 is the only relevant question which may impact the project. The second one is a longer term question regarding whether I invest more time in learning the software. In some respects even if the support is not continued, the method of nodal programming is in use in other graphic software, predominantly compositing, therefore learning the software is still a good introduction to graphical programming. Some of the key bugs in the software have actually been addressed by Facebook, they use it for prototyping smart phone apps, and by downloading the Facebook Origami plugins many of the bugs are addressed along with support for retina graphics.
I’m going to continue to explore the software and see what it is capable of, and will keep the blog updated with any key developments. This is still part of the initial stage of exploration and research and may or may not be used in the final project.
- Apple, Inc: Introduction to Quartz Composer User Guide Available at: <https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/QuartzComposerUserGuide/qc_intro/qc_intro.html> [Accessed 12 March 2014]
- Facebook, Inc: Origami Available at: <http://facebook.github.io/origami/> [Accessed 13 March 2014]
- Robinson, G & Buchwald, S (2012). Learning Quartz Composer. Westford, Massachusetts: Pearson Education.