auextensions

While some Apple watchers fear the transformation of OS X into iOS, it would be more accurate to say that Apple has gradually been bringing its next-generation architectures to both platforms. And in the process, iOS is able to perform feats formerly only possible on the Mac.

What’s next: Audio Unit “extensions points.” And the upshot of this will be plug-ins on your iPad and iPhone (and perhaps someday Apple Watch), all using a new framework that will work on both OS X and iOS.

The feature was buried in a slide deck in the WWDC keynote and appeared shortly after in draft developer documentation in iOS 9.0. Now, keep in mind, that doesn’t mean it’ll ship in this form, or in iOS 9.0 at all – features have been known to slip. But it does provide an indication of where Apple is headed.

“Extension points” are a new way of providing third-party functionality inside an app. (Other examples include VPN functionality and add-ons for Safari and Spotlight.) These are most interesting in iOS for audio,though. Whereas combining audio tools has so far meant connecting apps via Audiobus or Inter App Audio, you’ll be able to install Audio Unit from the App Store and, for instance, add a delay effect to your favorite production app on the iPad.

Here’s the description from the iOS 9 documentation:

The Audio Unit extension point allows your app to provide musical instruments, audio effects, sound generators, and more for use within apps like GarageBand, Logic, and other Audio Unit host apps. The extension point also brings a full audio plug-in model to iOS and lets you sell Audio Units on the App Store.

Architecturally, this is no huge jump. Audio apps already make use of the Audio Unit API to talk to the audio stack in the OS (it’s actually how we implemented libpd). What was missing was a way to distribute Audio Units as add-ons for apps; this provides just that. It seems that’ll make sense for things like simple effects; more complex processing can still use inter-app audio features and dedicated apps — iOS 9 even makes that more convenient with split-screen multitasking.

Think more like 99-cent delay effects than something fancier, at least on iOS. Extensions will have a UI, but a very basic one. Apple hasn’t written audio-specific documentation yet, but they do caution extension developers in general to simplify: “An extension’s UI should be simple, restrained, and focused on facilitating a single task. To improve performance and the user’s experience, avoid including extraneous UI that doesn’t support your extension’s main task.”

Making a basic distortion add-on for other tasks should be nice, though.

So, for iOS, this is good news. But it also almost certainly reflects a change in direction from Apple on plug-ins on OS X – something we’ve long expected. Third-party developers had told me they thought Apple would push sandboxing for audio plug-ins on the desktop. And note that the Audio Unit extension point isn’t just for iOS; it’s for OS X, too. This could change the way plug-ins work on the desktop, though keep in mind that hosts from Steinberg, MOTU, Ableton, and others will likely continue to support some mixture of VST and existing AU formats (plus AAX and the like from Avid).

And if it allows App Store purchases on iOS, it seems desktop OS X App Store purchases of plug-ins can’t be far behind. I’m only speculating, but this seemed strategically inevitable the day GarageBand and Logic moved to the OS X App Store. Extension points would provide a technical facility to do so.

For developers, it means you can create plug-ins once and then sell them to desktop and mobile users at the same time.

What that means for users actually consuming those plug-ins: well, that can only be answered when developers have had some time to work with the new operating systems.

If you are a developer, you can read up on this in the iOS 9.0 release notes and App Extension Programming Guide.