Launching Mira & Loving Patches: an Interview with Sam Tarakajian
I was really pleased when Derek contacted me about publishing an interview with Sam Tarakajian about the development of Mira and it's great to see the app arrive on the app store today. It's an exciting step forward in bringing not only the desktop and mobile closer together, but also in extending the creative reach of Max. I hope you enjoy the interview and enjoy Mira.
Derek Piotr: An Interview with Sam Tarakajian.
Sam and I have been conversing and collaborating a lot recently. In February he produced a music video for one of my tracks, and in March he made a visit. This was just days before he was to travel to Leicester to give his first presentation on "Mira"; the iPad app he's spent the past few years developing for Cycling74. During his visit with me he rehearsed the presentation, which led to a discussion about music in general, where it's headed, and what he anticipated being the biggest change for electronic music: tactile methods of working with otherwise abstract sounds. Sam’s main goal with Mira seems to be to introduce some “love” and excitement into the often-austere world of producing and programming, as well as implementing a more "hands-on" environment, the depths and features of which are nothing short of mind-blowing. He took time to answer questions via email while presenting Mira in Daejeon at NIME.
Derek: When did you begin work on Mira? Where did the impulse stem from and how has the project changed since you first started working on it? Was the idea always to have a Max app for touchscreens, or were your aims different at first?
Sam: So, I'm not sure that I should mention it, since it is sort of the most embarrassing video of me on the internet, but if you trace Mira all the way back to its roots, you'll find this project called Gelie. The aforementioned video can be watched here. Gelie was the codename for my undergraduate thesis project (never completed), which was trying to use an iPhone to make a gestural musical controller. I've always been really interested in gesture (probably because I'm such a lousy dancer), whether musical or intentional but especially physical. Gelie was my attempt to create an interface for defining instruments that you would play with gesture. At the time I was getting really inspired by the Reactable, so I thought, "What if you used a Reactable-like language to define gestural instruments?" The result was Gelie, where you drag effects, gestural modalities and sound generators together to build instruments. The interface was all on the iPhone but the backend was a PureData patch that would receive updates from the iPhone and use those to dynamically build a separate Pd patch. So, I had an iPhone frontend and a protocol for synchronising with a desktop backend. Obviously, when I made my pitch to Cycling '74, there was a lot of previous work to build on.
D: What does 'Mira' mean, stand for?
S: Mira is how my aunt, who was born and raised in Rhode Island, would have said the word "mirror". You make a patch, Mira "mirrors" that patch, lots of people in Providence use Max–I guess it's a bit of a stretch but there it is.
D: What haven't you been able to do with Mira that you hope to be able to add in the future, or develop within a different context?
S: Loads of stuff. As you can well imagine, one of the biggest problems we have working on Max is too many ideas, not enough time. Mira is no different. The two main things I'd like to add to Mira would be dynamic visuals and haptic feedback. Both are forms of primary feedback, a concept from musical interface design which refers to anything the interface does other than make sound. If you've got a virtual slider, then your primary feedback would be visual, and if you were playing a guitar the feeling of strings vibrating under your fingers would be tactile primary feedback. Anyway, both of these are extremely important for designing good interfaces. So I want to bring dynamic OpenGL to Mira, followed by some way of adding vibrotactile feedback. Obviously that second one's going to be pretty tricky, though.
D: How important is it for you to let elements of chance or "subconscious" processes kick in while developing? Was the development of Mira driven mainly by linear, logical development or sudden swoops?
S: Oh, equal parts both, I'd say. If you look at any long term project as a kind of exploration, then inspiration might be like climbing to the top of the mountain, surveying the landscape and developing broad insight, and then the dedicated, focused work you have to do later involves hiking down into the valley and wading through the undergrowth. Developing a strong understanding of the territory requires both. I guess what's special about Mira, as a software project, is that some of the coolest moments of inspiration come from building and deploying internal builds. It's not something you can really do with a piece of music or a painting–release a demo version, get feedback, and then go back and make changes. With Mira for example, one of the big questions we had early on was whether the iPad should mirror patching mode or presentation mode. So we made a test build that let you jump back and forth between the two options. Well, it turns out that being able to go back and forth was itself a cool feature, so we left it in.
D: What was the biggest challenge in developing Mira? What was easiest? Of those two, which is more important?
S: The biggest challenge was and continues to be networking. Turns out automatically setting up a connection between two computers is hard. There's a lot of moving parts and a whole lot of abstraction between you and what's actually going on at the socket level. It definitely makes me much more forgiving when it comes to streaming movies on the subway. That's some hard as old toenails stuff–next time you have to wait a few minutes for Netflix to buffer try to have some sympathy for the engineering genius who got that junk working.
Easiest? Maybe working with the Max API. At a deep level Max is powered by a very solid, cross platform core that the other geniuses at C74 were nice enough to write for me. Having that available made programming Mira on the Max end much, much easier. But as for which one is more important, I'd say that robust and zero configuration networking is about 60% of what makes Mira cool. It's the most important part of the app by far.
D: What do you hope the dialogue will be once Mira is released? Do you anticipate it being a frontrunner of some musician's processes in 5 years' time, or simply an alternative way to interact with max?
S: When I first met with Joshua to talk about working at Cycling '74, he told me that the best thing about Max was that it didn't make any assumptions about what you, the artist, wanted to make with it (in the interest of full disclosure, he also said that this was the worst thing about Max). On the other hand, you have software like Live or Traktor, software that makes it very easy to do certain things by restricting what the user can do. Mira is the first software, as far as I know, that makes it easy to experiment with interface design in the same way that Max makes it easy to experiment with sound. Whether or not Mira sells a million billion copies, I am hoping that Mira will challenge the expectation that interface is something that a developer sells to you, rather than something you build yourself. If more developers start feeling the pressure to provide configurable interfaces, then I will be a happy man.
Mira is on the app store now.