Interview with Cycling ’74
A few weeks ago some of you guys noticed that I never had done any interviews and were wondering if I was planning on doing so. I wasn’t at the time but I liked the idea and so started asking around. Anyway, you can read all the details on my previous post about this.
It took a little plotting and planning and eventually I virtually met up on a Sunday afternoon (local US time) and did an interview with Darwin Grosse of Cycling ’74, the results can be read below. We were at it for two whole hours and I’m very excited about the results; I sure learned quite a few new things here!
Interview with Darwin Grosse of Cycling ‘74
Ok… So, first who are you and what do you do at Cycling 74 ?
I’m Darwin Grosse, and my title is “Chief Learning Officer”. That means that I’m responsible for things like online educational material, helping the support team with organization, and working on things like the help files and reference resources that ship with Max.
Before that, I was the Director of Engineering, where I did both programming and programming project coordination. I’ve also been involved with Max for Live since its inception, and was responsible for many of the devices that shipped with Max for Live.
That is quite an impressive list indeed. Some synthfan.catslair.org readers (and I) wondered; how big is the Cycling ‘74 company roughly?
The core group of employees number is just under 20, but we have a number of consultants that provide both programming and business support. Thinking “25” would get you in the right vicinity (although it is constantly changing as we are exploring new areas).
Right, then I know many people who made totally wrong assumptions there ;-). You mentioned Max for Live, glad you did, because I’ve often wondered how did Ableton and Cycling ’74 eventually get together?
I know that you already added material to Live (the loop collection) but how did that start (considering that Ableton is basically a German company) ?
The easiest way to describe how we got together is to realize that we were “friend” companies from the start. Gerhard Behles and Robert Henke were Max users, and many of us at Cycling ’74 were Ableton users from their first version. We each genuinely liked each other’s products, and also really liked the people behind the company.
So there was a friendship long before there was a marriage(!).
But the real close relationship came when we were looking to move into a development cooperation where we could tightly integrate with a host program. The interest shown by Ableton was great, as was our interest in working with them. The people, technology and future direction all lined up well, so it was a natural that we would work together.
The fact is that the Ableton environment is a perfect context for Max programming; rather than just working as a “plug-in” system, we are able to interact much more completely with the entire environment, and the result is a much more interesting set of devices and tools that could happen in other systems.
But in order to do this, there has to be a corporate desire to share technologies and an “artistic” desire for each product to make the other better. This is where our long-standing respect for each others’ work was important to the process.
That sounds very exciting indeed. Now, slightly technical but it’s something I’ve discussed a few times on the Ableton forum as well as seen mentioned on my blog; the development cycle.
Are both products (Live & M4L) “tied” into each other in such ways that one product (Max or Live) cannot be “individually extended” without help or notifying the other party (company) or can M4L basically be seen as a form of “API”? So; as long as Max 6 honors certain standards it will always remain “live compatible” (and the other way around with Live 9) ?
I won’t get too technical with this, but the high level view is that we share certain “gateway” technologies that allow us to work independently. But these gateways are always subject to change as our processes (or, more often, the functionality of the operating systems like Mac OS and Window) change.
Ableton is very aggressive about providing a great user experience and solid operations, and we are aggressive about opening new avenues for media programming. So inevitably some coordination is required for things to work smoothly. But in general, if we each respect the gateway technologies, the rest of the development process can proceed without undue difficulties.
It’s actually quite smooth, if you want to know the truth!
Somehow I assumed as much, and I when reading back I take it that the relaxed and friendly interaction between you two is also a big factor into all this.. Speaking of which… Do I assume right that C74 has a “relaxed” company culture?
Hard to describe but… it’s Sunday; I assume you don’t work in the weekend yet here you are basically talking about work 😉 I know many companies where such a thing would be impossible.
Yeah, it’s relaxed from a personality standpoint, but it is pretty serious in terms of what we want to accomplish. It’s important to realize that very few of us work out of an office; the majority of us work at home. Thus, we tend to work as much as is necessary, and are often active outside of the typical working environment.
I tend to work 7 days a week, and am working (in some way) almost all the time. This probably wouldn’t make much sense to a corporate accountant, but when your “work” and your “play” are almost the same thing, it is hard not to do it all the time!
But the company is fairly relaxed in that there are few trappings of “corporate culture” to bog us down, and hyper-creative work is encouraged. Sometimes we have to be buckled down to creating work that is necessary for making a good release, but even that work is pretty creative and exciting. From my perspective, it’s the best gig (meaning, both the best job and best company) I’ve ever worked for.
Now that is an interesting twist.. I know a lot of people assumed that most work was done “at the office”. Small side-step out of curiosity, you say the majority works from home… How do you keep track of the overa
ll picture? I mean; when people work on a piece of software then eventually their work has to “come together” somehow ?
The modular nature of the software helps a lot; you can work on an object and know that it should work within the framework of the system. But we have been doing a lot of work with the core Max engine, and that just means that the various developers and support staff is in constant communication via email, Skype, IM and phone.
A big part of maintaining the overall picture, though, comes from the fact that David (Zicarelli) holds a strong vision for the product – and is very active about communicating that to everyone on the team. Combining this vision with feedback and suggestions from us all (and from the user community), we are able to come up with a direction that everyone can support.
That makes sense, and immediately opens up a question from one of my blog readers: “one thing I’m curious about is what drives them to continue to develop Max/MSP in general seeing that the community is more or less providing them with new externals and stuff on a regular basis. I understand that they want to push out updates and stuff but, for example, the new UI overhaul, was that based on user feedback or just a decision they made?”
(I promised that I’d also relay some questions which people could ask on my blog, not too many; don’t worry ;-)).
The new UI overhaul is, actually, a great thing to examine. One of the things that drives us to continue developing Max is that we really want more people to use it. We recognize that not everyone is interested in being a programmer, but many people are interested in creating “custom” media tools that will differentiate them from everyone else.
So we started looking at the things that people found frustrating about getting started with Max: the difficulties of being presented with an intimidating blanks screen, the difficulty in finding something that you are looking for, and the difficulty in following someone’s work when a patch gets complex. We combined this with a significant number of “usability test” (where we had people struggle with our software for a while, then tried to find ways to lessen the trouble) in order to come up with a set of improvements that we felt could help. This became the basis for the changes to the editing environment that will be part of Max 6.
In other cases, we’ve identified areas of great interest but little user-driven development. These areas are part of the functional improvements to come.
Finally, there are just some things that require effort – effort that has to be done to stay current. Everyone making media arts has been affected by the MacOS Tiger update; these are things that we are constantly confronted with, and are a required part of the development process as well.
So, why are we driven to make Max better? Perhaps the most important thing to consider is that we are all Max users, active media artists and evangelists for the software. Thus, the better it gets, the happier we are!
Now; you say you are all Max users. My “roots” lie with Ableton Live and thus one of the things which drew my attention was that Mr. Henke was a bit reluctant to continue with Ableton due to concerns that he wouldn’t be able to use Live anymore, in other words; work on what drove him in the first place (at least that’s how I picked that up).
You mentioned that all of you are Max users; does that imply that all of you also have some musical background or is it safe to say that all of you are all interested / fascinated with sound or video on a “deeper” scale than others? (hope this makes sense, hard to describe this one).
I’m not sure you can say it is a “deeper” level, because in my experience with Max users, I’ve found people far more obsessed than me!
But what I can say is that we’ve all been affected by the power of media art (not only music, but sound design, video performance, OpenGL construction and modeling and interactive art), and have found Max a powerful way to explore it further. Given that the history of the software is heavily music-based, a large number of us have significant musical backgrounds. But there are some scary visual masters in our group as well, and most of us can be found (at various time) exhibiting work in various venues.
It’s also important to realize the interaction that we have with people in some of the heavy-duty research facilities throughout the world. Organizations like IRCAM, STEIM and others are both incredible influences and important collaborators in pushing media arts forward.
The important thing to realize is that we have to maintain connections with *all* of these worlds, so sometimes our “depth” of knowledge can be limited by the amount of “breadth” of knowledge that we need to have.
(I hope that makes sense!)
Absolutely.. Well, maybe “deeper” wasn’t the right word there, but I think we both picked that up as intended. Now, time flies and I certainly don’t want to take too much of yours so I’d like to close up with some Max 6 related questions if that’s ok (knowing you may not be able to answer all of them)..
First a “blog poster” question.. “My question for the interview would be “Is Max 6 going to be 64 bit? I know it does 64 calculations, but will there be a 64 bit version too?”
Eventually. It’s clear that 64-bit is the future of computing systems, and we will have to go there. However, making it a 64-bit application (with all of the memory and other issues that will require) is something that we plan to do after the initial Max 6 release.
Gotcha. You mentioned earlier that one of the goals was to make Max 6 to be easier on newcomers. Having been through the “original” learning curve myself I can confirm it to be a little steep. But this also raises the question with some people how much Max 6 is going to be “backwards compatible” ?
Not in a technical sense (using patches developed with Max5 on Max6) but in user experience. Would people who liked the Max 5 environment still be able to continue on that with Max 6 ?
I can only speak for myself, but I think that the Max 6 environment is a vast improvement over Max 5.
Let me give you an example: When I moved from working with Max 4 to Max 5, it took me about an hour to realize that I could never comfortable work with the Max 4 environment again. Working with Max 6 seems like a similar transition – there are things I quickly latched onto that are very difficult to work without.
My sense of this (and I teach Max a lot, so I’m extending this to what I see with my students) is that the change in Max 6 will enhance the knowledge you already have from Max 5, and that you will find some of the feature exist to help you do your work more efficiently.
One of the things to understand is that not all of our user testing was just focused on beginners. We also queried (and even directly tested) some of the best Max programmers we could find, and used their activity as tools to help us improve the “experienced” user’s experience as well. So I don’t think you’ll find much of a problem with getting comfortable with the Max 6 environment.
That makes sense… Still; I am going to push a little here.. I’ve seen your YouTube video in which you gave a Max6 sneak peak. For example; the message box auto completion. The demo was aimed at using a message for a nearby object (VST~) to which the system responded.
Some of the synthfan.catslair.org blog readers wondered if auto completion could be turned off as well. And I wondered if this setup wouldn’t influence larger patches (for example using a message box in the vicinity of several other objects) ?
The Max Preferences include a lot more options for tuning your patching environment. So you should be able to tweak most of the in-patcher activity to meet your personal style. But one of the things I would suggest is that you let Max 6 “speak to you” a little while before you dismiss any of the functions.
The example you give is much more powerful than may at first appear. In addition to helping you select a message, it also gives hints about the additional information that you need, and also provides options for similar message. I’ve done a huge number of patches (dozens? hundreds?) in Max 6 now, and I’m a pretty picker UI user. But even in my pickiest moment I don’t find much to turn off with these new features.
So the answer to your question could be boiled down to: “Sure, but you really might not want to.”. Or maybe: “At least give it a chance!”
He he, yeah, I can fully relate to that (but in a different context). But; fully noted! Now, I only have 2 questions left.. A loaded one but…
When it comes to software many companies try to protect their investment though copyright protection. Some companies (Ableton) allow us to activate a product 2 times, others (Propellerheads (Reason)) turn to dongles, Native Instruments relies on “hiding” their installers..
Do we get to see a change in protection with Max6 or will you continue to rely on the setup you already have? Now, I don’t want to risk helping “kiddies” so while keeping this question in mind let’s focus on: “Would C74 also consider using some kind of Dongle protection eventually or do you try to avoid it?”.
We currently support the iLok protection device for people that prefer a hardware (i.e., non-computer specific) authorization. In general, though, we will continue to use a system similar to the one we currently use.
As such noted (and explicitly thanks for your share on the matter; I fully realize the depth of what I asked). Ok last one, though not too serious: your website once explicitly stated “We don’t make bicycles” ? I assume you also have no intentions towards that market? 🙂
Ha! We need to do that, because cycling is a very popular recreation, and having the name “Cycling”-anything means that a fair number of people stumble on our site thinking we might make bicycles, or conduct bicycle tours – or something. So it helps to see if we can help bicycle riders make a little art!
We do have a nice bicycle-related gift for people that come to Expo ’74 in New York, though. I’ll just throw that out there…
Ok, one last question popped up.. If you don’t mind: Where did the name of your company come from? I was a bit jesting there but still…
Well, the word “Cycle” is important to the beginnings of Cycling ’74, because the cycle~ object was one of the first objects (from MSP, the company’s first product) that was used for testing audio capabilities of a computer.
It just so happened that there was a Schwinn 1974 catalog on the table when a company name had to be decided upon; since the idea of 74 cycle~ objects was sort of a great dream, and the (somewhat goofy) pictures of the Schwinn catalog were so cool, it just naturally developed from there.
Of course, now doing 74 cycle~ objects is a no-brainer for any computer, and we no longer are using “appropriated” Schwinn catalog images for our website, but it was a cool (and very typically Cycling ’74) way of kicking things off.
Gotcha! Ok. So now I’m showing not to be a professional interviewer; but if you don’t mind one really last one.. (just checked my list and noticed; and yes; this mistake is going online too.)
Java support has always been a bit special. You supported it yet not officially (as in no active development on the matter). Max6 has an exciting feature with regards to opening up the code (so to speak). Will this change anything on your stance towards Java ? (this question is also triggered due to the somewhat “oppressive” stance from Oracle towards certain companies).
Once again: Last one, only if you don’t mind (already took up 2 hours of your time which was WAY more than I hoped for).
I don’t really understand the question, actually. We’ve officially supported Java, and have some developers that use it extensively. This isn’t going to change, and we are making sure that Java works well with Max 6. I’m not really sure what more we could do, so getting some feedback on that would be useful.
I’m also not sure what you mean by “opening up the code”, so if you could expand on that, it would be helpful.
Ok, first Java. I once noticed that there were a few issues with Max and Java whenever the JRE (Java Runtime) wasn’t installed in its default location. I mentioned that to either the forums or support team (sorry, it’s getting late here) and they told me that I shouldn’t be expecting specific changes because Java was basically supported “as is”.
Ah, I see. Getting Java to work within Max is a non-trivial thing, and having a rather reliable environment helps us a lot. Since we don’t want to spend our entire development effort on fringe cases, we sometimes ask people to make some adjustments as well. This sounds like one of those cases. I’m not sure if this went through normal support channels, but if not, it would be helpful to do that. The support team is one of the primary ways that fixes like this get into the software.
In this case, a Java developer may not be using the default location, but almost all casual users are. So in this case, we’d ask a technically savvy user to make an adjustment.
Gotcha! And makes perfect sense too. Second aspect; “opening up the source”. I was under the impression that Max 6 now also generated source code which was more easily to “patch into”. As in manually writing code extensions yourself ?
Now, I cannot fully comment on this since I’ve never bothered with that; I always relied on the patchers.
Ah, this is sort of based on a misconception. We are working on an extension to Max that actually generates code within a specific patcher context. The code generated is currently used internally to let this code work at maximum efficiency (for example, to create audio code that runs really fast, or graphics code that will run on the GPU). At some point, this same technique may allow the code to be used externally, but this is not part of our initial efforts.
General Max coding is still going to rely on the patcher, and the code-generation system is really going to be for specific cases where that is most appropriate for the user. (This is a difficult area to discuss until people actually see what we are doing…!).
Got it! Can’t rule out that I missed something there myself but alas. I think that about rounds it up. Truth be told I’m very excited since this turned out into something which ended up into much more than I hoped for! Which leaves me with: Is there anything you might want to add ? I could imagine that you might like for some topics to get mentioned as well…
Not really; I’d love to talk about some of the things we are doing outside the application (website, videos and the like) to help people learn (or learn more) about Max, but we can save that for the future. Frankly, the future of Max is really exciting, and I can’t wait for people to get their hands on Max 6!
Thanks for the chance to talk about Max and Cycling – my favorite subjects!