× {{alert.msg}} Never ask again
Receive New Tutorials
GET IT FREE

How to Best Learn Quartz Composer & Form

– {{showDate(postTime)}}
This article is based on the Codementor office hours hosted by Pasquale D’Silva, the creative director and co-founder of Keezy. Our viewers wanted to know if there were some good resources to learn Quartz Composer and Form, whether there is something similar to Form, and whether it’s possible to auto-layout multiple screens with Quartz. Pasquale answers the questions based on his own experience.

The Best Way to Learn Quartz Composer & Form

There’s not really a huge number of Quartz Composer resources that are relative to interaction designers at the moment. Quartz Composer is used by a lot of video jockies (VJs), that would be like the trippy psychedelic drugs-inspired visuals triggered by music. So they’re are not particularly interactive; there are a lot of tutorials out there like how to make, for example, things with feedback loop.

That said, there are a couple of videos by Dave O’Brien, who was one of our interns and now works for Twitter, where the videos would teach you how to recreate Facebook’s home. So you know there’s a goofy chart head. He made a three part-video talking about how we built that in Quartz Composer. This was before Facebook made the little library called Origami, which has a bunch of patches that made some improvements to Quartz Composer.

Google Form has the same situation where they do have their own community like a Facebook group where we can learn a lot, but I would love to see some more fundamental resource out there. Maybe it’s something I can work on in my own time. Personally, I mostly hacked around to learn these things.

The thing is, Quartz Composer and Form are old paradigms that existed like long before we’ve seen these tools made for the Mac desktop. The single flow stuff has been the most prominent in 3D software, and it was really familiar to me because I spent my early days using Autodesk Maya, which had a node-graph thing where you can rig stuff. For example, when animating a character, I can twist its arm, which is similar to making the character flex a muscle. You can wire things up with each other and tell it to rotate 30 degrees, scale 20 percent, etc. When you think in these ways, animation isn’t that difficult.

I’d say the best way to learn Quartz Composer, form, or any these signal processing apps, is to just come up with very simple interactions. Alternatively, you can find something in one of your own projects to apply it to (e.g. making a hover state, a toggle, etc.) You might already know how to do these things with some simple Javascript, so learning how to recreate that stuff in this signal processing environment will open your mind to understand how to do the other pieces.

Auto-layouting Multiple Screens in Quartz

Unfortunately, you can’t auto-layout multiple screens, and this layout issue is the bane of my existence! Something I think that Quartz Composer and form is sorely missing is the concept of a state machine. I saw a couple of libraries where you can toss a PSD into it and it would lay it out, but it’s all based off of top/left/etc coordinates instead of views and subviews. So, layouts are still a pain, and it’s something we’re working on really hard here at Keezy. We just started opening up that can of worms, but at the moment there’s nothing good for auto-layouting right now. Hopefully it’ll get better.

Is there something similar with Form?

For a while, it was a rumor Facebook their own thing but hadn’t released it. I think they ended up snagging a lot of interesting ideas when they acquired Mike Matas from Apple, who has done a lots of Quartz Composer prototyping from over there. I think they got a lot of interesting secrets from him and other people. I know they’re working on that stuff over there and I’ve been trying to grill it out of the people who work there, but I don’t know if it’s even on their radar to consider getting that stuff out. At any rate, the main thing form has going for them is it can let you get things to a device, but I think Quartz Composer is definitely more powerful.

 



Author
pasquale
pasquale
Animator, Interaction & Product designer
I'm an animator & software designer in New York City. I'm half of Thinko. I'm working on a video game called OK, Dracula. Sometimes I make music. I founded Keezy.
Hire the Author

Questions about this tutorial?  Get Live 1:1 help from Design experts!
Martin Foley
Martin Foley
5.0
CTO at Draft AI | #1 CodeMentor for Python, JS, Node, React for now - still working on the others ;)
I'm a Scotsman living in London. I have over 10 years experience coding. I have a first in Computer Science, worked at one of the top cyber...
Hire this Expert
Josh David Miller
Josh David Miller
5.0
Test-driven, ux-focused product manager and entrepreneur who helps startups create lovable apps. Oh, and I only use my powers for good.
I spend my time working with startups as passionate as I am about building interesting products. I help distill a vision, wrap it in a memorable...
Hire this Expert

Or Become a Codementor!

Live 1:1 help from expert developers

Codementor is your live 1:1 expert mentor helping you in real time.

comments powered by Disqus
Codementor is your live 1:1 expert helping you in real time