A Final Note on AirFloat

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!

This entry was posted in AirFloat. Bookmark the permalink.

9 Responses to A Final Note on AirFloat

  1. Bronson Mansfield says:

    From what I seem your Airfloat app looks amazing and exactly what I’ve being looking for, specially because there is no simple device other than an Apple TV or Airport Express that you can add to a stereo or receiver to transmit music from your Mac where most of the music library is saved.
    Any way I really thing you made an amazing useful app and I wish you can consider putting it available on Cydia since Apple removed it from the App store
    Thank you

  2. Mtl says:

    Thanks for your amazing work! I can safely say you did enriched the iOS ecosystem with a great and useful app. Let’s hope it will survive on other virtual “networks” such as cydia repos or bt …

  3. Simon says:

    Hi, i bought this app and use it all the time but recently it has started dropping out and not connecting. Any ideas? ios6?
    Cheers Simon

  4. Andreas says:

    Hi!

    think this app is really great and it has potential.
    Just too bad that it was removed from Apple.

    I have heard that it is in Cydia now for free. That is great for people who have it cracked of course.

    Any chance that you open source it and put it on Github?
    Then other developers could even fix the issues some people have and you could share with the world how AirPlay works. Would be pretty educational as well.

    Good luck with everything
    Andreas

  5. Jonas says:

    Hi,
    Great app, I really appreciate your work and of course that you published the source code!
    I tried to build Airfloat in XCode 4.4.1 for an iOS 4.2.1 (ArmV6) device but the source code doesn’t seem to be compatible to ArmV6-hardware, so it failed. And since I’m lacking programming skills I’d really appreciate if you could adapt the source code to the old ArmV6 architecture!

    Thank you very much in advance!

  6. KoteLu says:

    good,
    Appreciate support for iOS 4.2.1. (iPod Touch 2G)
    thanks

  7. Raphael says:

    I really appreciate support for iOS 4.2.1. (iPod Touch 2G) me too.
    Its works good on iPhone 4S iPad 3 and iPhone 5 ios 6. :)
    thanks

  8. RR says:

    Thank you very much for AirFloat : I rarely use Cydia (no cracked apps, no ugly GUI tweaks) but I must say it is worth keeping my iPad jailbroken just to run your code !

    Just did a (very small :-/) donation. I think I never did it before but it deserves it !

    My use case is as follow :

    - relatively good Bose speakers (quite old so no AirPlay technology but fully functional so why upgrade when your app is doing the magic ?)
    - iPad 2 running iOS 6 JB (will never update it to iOS LSD 7 given the ugly+slugish interface) and AirFloat, AC plugged, screen off
    - Led Zeppelin sound flowing from my Mac Book Air’s iTunes
    - me coding in the sofa, don’t want to have a cable running !

    Thanks again, that’s really good quality software ! I especially like the (mentionned on this blog) fact that it will stay synced, useful when ‘multiple’ output is selected in iTunes to have more ‘stereo’ effect / music awareness which I often do !

    PS. If I could do one remark, now you’re on the dark side (Cydia), why wouldn’t you ship an option to keep the service up for discovery (when no source is connected) when app is not opened ? It’s a bit boring to go to my iDevice just to re-open AirFloat, connect iTunes and lock back the device : it’s all about convenience / wire-less. Maybe it would be battery intensive (no idea :-?), in that case you could leave it optional.

    Best regards,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>