Make it with Max, sell it here. Photo: CDM. (and yes, this is now the desktop, not the mobile, App Store!)

If you’re a Mac user, we’ve got some cheap and free tools for you. And if you’re a Max patcher, you may be surprised with how they were built: they were all exported from Max 6.

This week, we welcome a guest writer developer Dan Nigrin. Amidst some new controversy about Apple and app distribution, here Dan looks at how Apple’s marketplace can indeed be useful to developers using Max 6, the popular graphical patching tool. (Incidentally, the libpd library could work for App Store apps, too, and for mobile on iOS and Android, along with various other tools, so developers now have lots of options for getting their ideas out there.) -PK

CDM has covered the Mac App Store and its impact (or not) on music software quite extensively in the past – see Apple’s App Store May Not Work for Audio Devs; Developers Respond, October 2010, and Six Reasons the Mac App Store Means Little for Music Creation – At Least For Now, January 2011.

But I think a new development may start to change things, at least a little bit. Cycling ‘74’s newly-released Max 6 now makes it possible for standalone apps created with it to be released on the Mac App Store. Previous versions of Max caused some standalone preference files to be written to a Preferences folder on the Mac; believe it or not, this violated an Apple Mac Store rule (an app can only write to very specific locations, not including the Preferences folder – go figure). To Cycling’s credit, they changed the preferences file location starting in Max 6, and so that obstacle has now been removed from getting Max apps in the Store.

I first asked the question about getting Max-built apps in the Mac App Store around the time Apple originally announced it in 2010 – see a thread in the Cycling ’74 forums. Soon after, Oli Larkin tested the waters, and he was the first to discover the above problem with the preference files. After Cycling addressed that, James Howard Young then tackled more minutia required to pass all the approval and validation steps Apple requires, and was the first to successfully get his app live on the store, followed soon after by Oli’s and then my two. We all shared our experience on the above thread, and with each other in private emails.

Oli Larkin’s pMix.

The apps have done quite well (Audio Plugin Player, below, made it up to #7 on Top Paid Apps in the Music category of the App Store within 48 hours of release), though we are all still experimenting with different price points, support models, etc. — usual App Store growing pains, I would imagine. Here are the apps currently available – note that there may be more, these are just the ones I know about:

Four Apps, Available Now

Defective Records Software (Dan Nigrin)
Audio Plugin Player
Get it on CDM Apps

A lightweight VST and AU instrument plugin host, that allows you to play these instruments using either your mouse, computer keyboard (including support for non-US keyboards), or MIDI device (both hardware and software MIDI devices supported). It has a simple, one-screen interface, without any of the complexity that a DAW takes for a newcomer to get up and running.

Defective Records Software (Dan Nigrin)
General MIDI Player
Get it on CDM Apps

An easy way to turn your Mac into an instrument, using its built-in General MIDI support. You can play these instruments using either your mouse, computer keyboard (including support for non-US keyboards), or MIDI device (both hardware and software MIDI devices supported). It has a simple, one-screen interface.

James Howard Young
Get it on CDM Apps

A fully featured metronome that offers customizable sounds, real-time tempo tapping, and beat and division capabilities. TapNTempo’s easy-to-use interface includes the best of the traditional metronome, but feature bloating is avoided in favor of simplicity.

Oli Larkin
Get it on CDM Apps

pMix is a sound design, composition and performance tool that allows you to morph between VST plugin presets using an intuitive graphical interface. 

Presets are represented by coloured balls that are positioned on a 2D plane. The size of each ball and its proximity to the cursor affects the weight of the associated preset in the interpolation.

Morphing between presets often results in the discovery of interesting hybrid sounds. By constraining sound manipulations within a predesigned “interpolation space” complex transitions can be achieved that would otherwise be hard to manage.

pMix can load four VST2 audio plugins. It comes with a suite of specially designed plugins which cover a range of experimental DSP techniques (noise generators, FM synthesis, formant filtering, frequency shifting etc). These plugins can also be used in other VST host applications.

Conclusions, Looking Forward

I made a decision to “start simple” with my App Store apps, compared to for example my Klee or Cyclic. But as you can see, you’re not limited to just simple apps – Oli’s, for instance, is obviously quite complex. So I think that this is just the beginning of what I expect will be many Max apps on the App Store – it makes it possible for the many, many interesting projects developed in Max to reach a much bigger audience that possible before. Just taking a look at the Projects page on the Cycling web site gives a sample of what soon might find its way there.

Dan Nigrin’s app holds its own with best-selling apps in the music category.

Perhaps even more exciting is news from Damon Holzborn and Brad Garton of Columbia University, that they are working on a path from Max to iOS apps, and in a way that makes them totally compliant with the iTunes App Store. Really looking forward to this!

We’re looking forward to this, too, so we’ve assembled a special section that shows apps built with Max available on the Mac App Store. We may soon follow this with other tools (Pd, Csound, etc.) if there’s demand. But here are those Max options:

Made with Max, Featured on CDM Apps

Can You Play in the Sandbox?

Ed.: One issue to watch as Apple’s brave, new App Store moves forward is sandboxing requirements. For these Max apps, it shouldn’t necessarily be a problem, but before it appears that we’re endorsing the App Store for all music apps, regardless of purpose, we’re not. A number of Apple developers have raised some concerns about sandboxing and how it’s implemented. They’re worth reading if you’re a developer – and may, in turn, inspire some tweaks from Apple in terms of how this is done. All via Daring Fireball:

Sandboxing and xScope 3.0 []
Fix The Sandbox [Red Sweater]
Sandboxing and Clipstart [Manton Reece]

Here are Dan’s own thoughts on the subject:

No, I’m not concerned about plugin hosting with respect to sandboxing; the sandboxing rules stipulate that you’re allowed to access files on the host system if the user specifies the file in which they are interested via a file dialog. So, in my Audio Plugin Player app, for example, that’s what I do – the user is prompted to pick the plugin they want to use via file dialog (or they can drag and drop it onto the app). That way, I am not breaking any sandbox rules.

Also, one can request additional “entitlements” for one’s application, which allow it to access locations that are not currently “approved” areas within the file system for the app to access. I’d be surprised if requesting an entitlement to access the Plug-Ins folder was not allowed… Ed. That would be, of course, relevant to Apple’s own Logic Pro as a host; despite predictions to the contrary, it appears third party developers should – theoretically – have access to the same entitlements as Apple’s own apps. And if that’s not enough, you can still distribute via other means, including in Mountain Lion, and in contrast to the App Store-only iOS model. -PK

It makes sense that the App Store, with its specific sales model and technical requirements, will suit some applications well and not others. Because you can choose to install apps from other sources, that leaves both users and developer free to choose based on their needs.

  • jonah

    Semi-realted, but any info on bundling physical products with software on the App store? Just thinking about the Pulse Surface Controller. I think bundling low cost doo-dads with “budget” software might be a much more successful plan, especially as the market gets more saturated.

    And, hmm, would the app store allow for “dongles”? Like, give away or charge a nominal amount for the software on the app store, but allow full functionality with some small bit of hardware that provides perhaps limited, but still novel functionality. Or maybe it could be a used as a way to offer demos? So you get it from the app store and it works for 30 days, but stops unless you buy a USB stick with a key code on it. Hopefully the usb stick is a generous size and reusable!

    • peterkirn

      @jonah Doesn’t appear to be an option — sorry. I think you have to treat the software and hardware as independent products for this notion to work.

  • Moron D

    If it’s for Mac App Store, why you use iOS App Store Logo?!

    • peterkirn

      @Moron D Actually, same logo … only the icon background is different.

  • Leslie

    Your new way of posting messages is a pathetic attempt to breach privacy!

    • peterkirn

      We’ll have a separate discussion of comments. We have a contact form, as well. There’s no reason for an off-topic criticism of our commenting system via that same commenting system.I’ll write up something about the new commenting system. I also find it necessary to discuss what comments are. I can tell you what they aren’t: they’re not private. Not ever. There are few things more public you can do on the Web than post a comment, and people need to understand that. No one is telling you you have to comment publicly, but this isn’t a CDM thing, and it isn’t a Livefyre thing. I’ll go into greater detail about why in very technical terms comments are public, when I get the time to write that post. 

  • 2chrisstack

    Nice.  Just bought the Plug-in Player.  Looks like  very useful tool.  Looking forward to trying it out next time I play.

  • JesseEngel

    As a Maxer what I’m curious about is how these apps were made? Is it as simple as submitting what you get when you click “build collective/application” or did you have to do some special things to it? Are you allowed to use 3rd party externals if they’re included?

  • Franz Schuier

    This is the best news since sliced bread! 

  • Jesse Engel

    Not sure what happened to my previous comment but I’ll try again. Any info on how to actually do this? Is it possible to upload to the app store max patches that you “collect as application”? Can you use third party externals if they are encapsulated?

    • peterkirn

      I’m pretty sure that’s exactly what they’re doing, just uploading the exported patch. And I believe externals should work, too — we’re using externals with libpd on iOS and Android, too, for instance, with the only caveat being you probably shouldn’t use GPL-licensed externals on iOS (I think Mac App Store is okay)

      (PS, sorry, we’re experimenting with comments so I think you’ll find the other comment reappears shortly as the import finishes… 😉 Our fault. )

    • DanNigrin

      Yeah, I was wondering where all the other comments went, meant to reply to some!

    • DanNigrin

      Yes, these are regular Max patches that are “Built as Applications.”  There’s a small number of steps that need to be performed on the resulting standalone to get through Apple’s various checks (see the Cycling forum thread referenced in the article for more on this).

      And yes, you can use 3rd party externals (but I should add that you should check with the authors of those externals, to see if there license allows you to use them for commercial applications).

  • Oootini

    well done dan! great stuff.

    • Dan

      Thanks Oootini!!

  • umma08

    so these are just Max projects that open in a runtime environment? I see.

    To me it seems quite cheeky the prices that are being asked, especially given the amount and variation of free max patches that you can find through the cycling74 site. Sounds to me like someone is getting greedy.

    • Peter Kirn

      One is free; the others are $1-3. The “prices that are being asked” … really?

    • DanNigrin

      You’re missing an important point – my applications are not necessarily meant for Max users; in fact, I go to great lengths to shield users from the complexity of the underlying Max environment.  As much as I love Max, to many non-Max users out there, even the simplest of patches can seem daunting to use/open/install.  The apps in the app store are just “regular” applications to them…

    • Peter Kirn

      Right, and this is a model I think we’re all wondering about in the custom development community. With Pd, we may even see people open source the patches but distribute apps (via desktop and/or mobile) through these stores. 

      Heck, a lot of us will buy these things just to support each other, much like happens these days with Bandcamp for music. Put out a tip jar, and people often don’t respond, but make actually buying and “owning” something easy, and a whole bunch of us spring at the chance. I can’t count the number of indie game bundles and mobile apps (many by people I know) and Bandcamp downloads and whatnot I’ve been buying lately…

      Time will tell if this catches on with a larger audience, but even so, it’s a convenient way to distribute the apps even when they’re free — or so we think. It’s worth testing.

  • umma08

    well for me, i was always of the impression that programming was a community effort. Indeed Cycling74 seem to support that ethos as well, even make a point of it on their site. i thought that good programing ‘patches’ were to be shared within the programming community – so the best method for certain problems could be established.

    though i may be wrong for thinking or believing that that is true.

    Now i am not saying that all apps created with Max/MSP should be free, as there are some that an awful amount of work went into, granted.

    But some of the apps that are on the store at the moment couldn’t have taken more than a few hours for a capable max patcher. Charging people for an application just because there are people that dont understand the programming language is not really fair – in my opinion.

    Would you like it if the Max patches that are on the Cycling community site were being charged for? I doubt it.

    Indeed the price being charged for some of those apps is the same as an
    Mp3 from itunes. now if you think as much work and effort went into
    those apps as did a recorded, or produced song, then fair enough. I, for
    one, do not. 

    • DanNigrin

      Programming can often be a community effort, but not always.  I certainly do embrace the community side of things (a bit of research about me will show you that I have spent countless hours on the free and open source Jack OS X, free and open source tools for the WTPA sampler and the Shruthi-1 synth, a free Peavey PC-1600x controller resource site, helping people on the Cycling forums, etc… 

      But some people just want to buy a thing that does what they want it to do, regardless of how much or little time went into programming it, and they don’t want to be part of any community – they just want it.  If you think that’s not “fair” – well, that’s just the way world is I think!

      One last important point is that you don’t account for in your 1 produced song vs. 1 application analogy is that applications sold commercially require a lot of additional work beyond the programming.  Yes, the guts of the Max apps on the store that I am selling did not take very long to put together – that was intentional, I wanted to test the App Store waters with something relatively simple.  But writing the documentation adds time, making the UI be intuitive, easy to use, attractive and “polished” adds time, and most importantly, the support that is given *after* the sale adds a LOT of time, and in an ongoing way.

  • SkyRon™

    What are the roadblocks to app development in pd? 

    I’ve just started using pd in my classes, and with students rather quickly creating synths, sequencers, and samplers, I’d like to be able to get them working on apps as well–any suggestions appreciated!

  • Tong593377705