Mobile devices are here, they’re powerful — get used to them. Now, could they just connect to the rest of your noisemakers and studio rigs? That’s the potential of new iOS SDKs for MIDI I/O and keyboard docking. But aside from some restrictions imposed by hardware support on iOS, what many developers are publicly wondering is whether a different path entirely will be most productive.
Hot on the heels of Line 6’s SDK for their MIDI Mobilizer, a MIDI input and output connector for iOS devices, Akai is courting developers for its own music accessory. The SynthStation 25 is a standard 25-key music keyboard with a dock for an iPhone or iPod touch inside.
The proposition for developers: now your sequencer or controller can connect to MIDI gear (with MIDI Mobilizer), or your synth can actually be inside something that looks like a synth, with a real keyboard.
Changes to Apple’s developer agreement have facilitated just this change. But while this is a step forward for developer flexibility, there are still some limitations on what developers can do, and what they can talk about, imposed by the makers of the accessories. Those restrictions won’t discourage all developers, but they’re worth noting, especially as mobile music gear is in early days.
There’s another discussion brewing among developers, too, which is whether the kinds of hardware assumptions upon which these two products are built even belong in the mobile age.
Here’s a look at where we are and how we got there, whether you’re an intrigued developer or just wish to consider how this fits into a larger picture of music gear in 2010.
Why Third-Party Apps for Third-Party Hardware is Now Available on iOS
In April, I wrote an editorial on the direction of hardware support on iOS, which has been a remnant of Apple’s tightly-controlled iPod accessory program, long before their mobile gadgets became real pocket computers. Line 6’s MIDI Mobilizer was the catalyst for the piece:
Of MIDI, iPhones and iPads, and a Restrictive Future for Hardware?
What hasn’t changed since then: Apple’s Dock Connector is not only a non-standard, proprietary adapter specific to their phones, but one for which you must ask permission if you wish to make your own hardware accessories.
What has changed: because of an adjustment to Apple’s legal writing, you can now let developers write apps for your hardware accessories.
Line 6 and Akai, as Apple developers, are not allowed to comment on Apple’s user agreement. (Insert Fight Club reference here.) But the changes to Apple’s Program Agreement are available publicly.
The old agreement
3.3.24 Your Application may interface, communicate, or otherwise interoperate with or control an iPhone Accessory (as defined above) through Bluetooth or Apple’s 30-pin dock connector only if You have obtained a license for such iPhone Accessory under Apple’s MFi Program.
The new agreement
3.3.25 Your Application may interface, communicate, or otherwise interoperate with or control an iPhone Accessory (as defined above) through Bluetooth or Apple’s 30-pin dock connector only if (i) such iPhone Accessory is licensed under Apple’s MFi Program at the time that You initially submit Your Application, (ii) the MFi Licensee has added Your Application to a list of those approved for interoperability with their iPhone Accessory, and (iii) the MFi Licensee has received approval from the Apple MFi Program for such addition.
Spot the difference?
Apple is now allowing third-party apps to support those hardware accessories – provided Apple approves both the accessory itself, and via the accessory’s maker, the app.
Requirements for Developing for Akai, Line 6 iOS Hardware
Akai and Line 6 deserve some kudos for mediating between Apple and the third-party developer. Again, these developers are not able to talk about their agreement with Apple. But they were extremely cooperative in sharing their policy for working with developers. (In fact, basically, to get started all any interested developer has to do is email them.)
A copy of the developer agreement obtained by CDM reveals what’s necessary to become a MIDI Mobilizer developer. At its most fundamental level, that means proposing an application plan to be approved by Line 6 as compatible (as per Apple’s own requirements), and agreeing to non-disclosure regarding any confidential information with which you’re providing (including documentation).
Marcus Ryle at Line 6 confirms with CDM that an additional requirement is sales reporting, though it appears this shouldn’t be a deal-breaker:
We do request reporting on the unit sales of the applications that use the MIDI Mobilizer. This information is kept confidential, and the purpose is so that we can have visibility into which apps are being most widely used by the MIDI Mobilizer. If we were to make any new versions of hardware in the future, we want to be sure that we can continue to meet the needs of our users by understanding what is important to them, and this requires us to know what is being used. We also understand that for some developers this is information that they do not want to share, and we are happy to discuss this directly with them to come to an amicable resolution.
With the SDK itself under non-disclosure, I asked Marcus what this might mean for someone developing an open source app (several of which have already appeared on the App Store):
We do have some limitations with regard to open source usage in our agreement. Specifically, we do not allow the use of open source if our SDK is used in a way that would cause our code to become part of the open source license obligations (unless we have provided written consent), since this typically results in the requirement that our source code would have to be released publicly. If the open source code can be used in a way that does not cause our code to be connected to the open source licensing, then this would be ok.
Glen Darcey, product manager at Akai, confirmed to me that the SynthStation SDK has some similar requirements in order to maintain their proprietary SDK. But unlike Line 6, Akai is not requesting any sales reporting.
Darcey also downplays the requirements. “Your product is your product,” he says. “Our code is our code. It cannot be redistributed. It can be in your app… Anyone who wants to add support for our hardware can but they have to go through our developers SDK process which is minimal.”
“There are requirements for adding our logos that say the app is compatible with our hardware,” he adds; that appears to me to come from Apple’s program.
As for the NDA, in this case, says Darcey, it’s nothing out of the ordinary: “The NDA is a standard NDA. It basically states that anything we say will be confident as will anything you say to us.”
Will this discourage developers?
Short answer: no – that is, if the developer has the desire to develop for this SDK in the first place.
Developers I’ve spoken to had some concerns about these requirements, but they also didn’t appear to change anyone’s mind one way or the other. That is, those wanting to develop for these accessories found the requirements workable. Those who don’t care … well, don’t care.
I think these restrictions are a deal-breaker for truly open source development on mobile, but for those projects, support for proprietary hardware accessories is generally less appealing anyway.
(If you disagree, of course, you can make yourself heard in comments.)
More than the issues of restrictions on the platform, though, the conversation I’m hearing is one that’s more fundamental.
Time to Move Beyond MIDI (or Wires)?
Line 6 and Akai each promise some exciting applications. But as comments recently demonstrated, many users and developers alike are treating the announcement with skepticism.
First off, even if the requirements for the proprietary SDK are modest, the issue is their competition. A $200 netbook (or a $400 used Mac laptop, if you like) can plug into a $30 MIDI interface without drivers. A variety of free development tools on any platform can then talk to that interface, or you could write your own – we’re talking serial communication, which is hardly brain surgery. And the reality is, a lot of people who use MIDI gear also own these other devices.
Once you add MIDI gear to an iPhone or iPad, you limit some of the device’s elegance and portability. You can also connect only one device at a time, meaning adding a MIDI Mobilizer gives you MIDI but no external audio – and since there are now things sticking out of your iPad, your laptop is suddenly just about as mobile as it is.
I think some of the skepticism here is undue; I still like the idea of a portable, pocketable recorder for MIDI sketching or library backup. But developers like Christopher Penrose, creator of Cosmovox, aren’t necessarily criticizing the availability of these SDKs. They’re saying that energy could be directed somewhere else. From comments, Christopher writes:
It is important to consider the benefits of Open Sound Control and other alternative communication protocols. I don’t believe the future of music entirely belongs to people who have an interest in protecting and extending their hardware investment. But I will say I would consider supporting the MIDImobilizer in some/all of our iOS products if the demand was significant, the API is well designed enough, and the licensing terms are acceptable. But I think developers should be putting their limited energies into viable communication protocols that extend and enrich the music we can make, rather than being bogged down by outdated, replacement-ripe legacy standards…
For independent developers, it may very well be an either/or situation. Time is finite. I have Open Sound Control support well under way and it works without an additional hardware investment.
The other advantage of wireless communication is that it keeps mobile devices mobile. And incidentally, there’s no reason you can’t use a protocol like Bluetooth to do MIDI, as well as implemented OSC wirelessly over a network. It is possible to achieve accurate timing and low latency wirelessly, too, though that’s a discussion I hope we have in greater detail on CDM, so I won’t do it an injustice by faking it now.
I actually had a dream last night in which I was using Bluetooth to do MIDI, so I’m obviously supposed to be getting on this instead of writing lengthy investigations of Apple developer agreements. And I’ll leave it at that.
In the end, I don’t doubt that we’ll see a handful of interesting apps for the Akai and Line 6 gear. And MIDI hardware is something with which we’ll want to interoperate for a long time to come. The question now is, what’s the best path for the future?