AirFloat – the application that allowed you to stream audio from iTunes to your iDevice using AirPlay – was removed from the App Store a couple of months ago, and since then the wave has been going back and forth between Apple and I.
My appeal to the Apple Review Board was denied. And the Apple Technical Support was almost a month before they got back to me. Finally they called me last week.
We had a good talk. I spoke to a Steve (not the Jobs – obviously) at Apple. For once it was a friendly conversation. The previous conversations with Apple had been with sort of a tad dismiss on their part, and I found it difficult to get a good discussion going.
Anyhow, Steve was a cool guy, and he was friendly and understanding. As it turned out he agreed, that the initial reason for their rejection – “usage of undocumented API” – was incorrect. But then he pointed me to the “iOS Developer Program License Agreement”.
You probably thought that once you obeyed the “App Store Review Guidelines” you where in safe habour. That’s not the case. Here is a 49 page document, that contains noumerous paragraphs and sections, of things Apple will not allow you to do as an iOS developer. And that includes on the App Store.
I am aware of this document, but I have never in my life read it. Who reads these things? Well, I probably accepted it once during my initial inauguration into the Apple iOS Developer Program. And first rule of business: You read what you sign!
Steve pointed me to the following sections of §3.2:
(d) To the best of Your knowledge and belief, Your Application, Licensed Application Information, Pass and Pass Information do not and will not violate, misappropriate, or infringe any Apple or third party copyrights, trademarks, rights of privacy and publicity, trade secrets, patents, or other proprietary or legal rights (e.g. musical composition or performance rights, video rights, photography or image rights, logo rights, third party data rights, etc. for content and materials that may be included in Your Application);
(e) You will not, through use of the Apple Software, Apple-issued certificates, services or otherwise, create any Application, Pass or other code or program that would disable, hack or otherwise interfere with the Security Solution, or any security, digital signing, digital rights management, verification or authentication mechanisms implemented in or by the iOS, this Apple Software, any services or other Apple software or technology, or enable others to do so;
The first one is simple and AirFloat breaks it in more than one way. I use the AirPlay technology – which is an Apple Trademark. I break the digital rights management software. iTunes decodes encrypted music before sending it – encrypted though – to AirFloat. AirFloat decrypts it for playback. This is probably by Apple regarded as “infringe any Apple or third party [...] proprietary [...] rights“.
The second one – section e – is where I think Apple feels the most viloated. It’s about the AirPort Express Private RSA Key – which Steve also mentioned in our conversation. Even though I personally did not hack the AirPort Express in order to obtain the private key – Apple probably regards this as patato patato – I did download it off the Internet and included it in my App.
So maybe technically I didn’t break this part of the agreement, but I do not think – in the end – that I will ever be able to defend this beyond reasonable doubt. Apple has a point. I included it in my App, and that’s sufficient.
So this all boils down to reading the documents you sign before taking actions upon it. If I had just read it, I probably never would have started AirFloat in the first place. But if I should slightly try to justify myself just a bit, then Apple already had approved similar Apps – AirSpeakers Touch – which also used the AirPort Express Private API key. And when I submitted AirFloat, it had been there for at least a year.
So I didn’t read the document, because I believe acted in “good faith” – and possibly also in ignorance. You should think Apple reviews all apps that go into the App Store with regards to the “iOS Developer Program License Agreement”. But obviously they don’t always do.
So end lesson is you cannot expect an app to be accepted just because Apple have previously reviewed and accepted a similar app. Read the documents!
As a final note I would like to express my regrets. Not that I made AirFloat nor that it was pulled from the App Store. But regrets on the part of the Apple community. It’s kind of sad that Apple don’t want these apps on the store. Some of us – the independent developers – go through great lengths in order to create great products for a platform we love.
In my view Apple could have chosen to remove it or embrace it. After all it was created out of the sheer will to enrich the Apple ecosystem. And that’s what I think Apple should embrace.
Thanks for listening, and thanks to those who managed to download an embrace AirFloat. After all it has been an adventure creating it. And adventures are always hard to catch!