The Removal of AirFloat and AirFoil [from the iOS App Store]
devblog.thefamoussoftwarecompany.com
devblog.thefamoussoftwarecompany.com
I am not the least bit surprised.
Plus the question wasn't whether AirFoil was in violation earlier, but only over the most recent update which I think was after the licensing model was in place.
(incidentally I think Apple is stupid for enforcing the rules this way, but it's their playground and if they want to protect their private key by being stand offish, then there's not much you can do, except Cydia)
It's harder to make an AirPlay receiver, because iTunes won't send anything to an AirPlay receiver that doesn't encrypt the request with the proper private key.
You can only get this key legitimately by licensing AirPlay from Apple (which is why all AirPlay compatible speakers are licensed by Apple).
Someone managed to extract the private key from an AirPort express by removing the flash chip and reading it externally. They then published this "stolen" key on the web. Prior to that, it was impossible to make anything that would receive AirPlay streams from iTunes, even though the protocol was widely understood (it's basically just RTSP).
A bunch of open source implementations on other platforms (PC/Mac/Windows) were released.
Rogue Amoeba's AirFoil speakers for Mac/PC included this functionality. However, up until this last update, they never included it in their iOS application. Their stated reason for this was they couldn't figure out a revenue stream to make this work (AirFoil implements it's own music transmission protocol. You bought the Mac software for $20, then got the receiver software for free. Under this model, making the free product able to receive streams from iTunes without the Mac software would have cut out their revenue producing server from the picture). The latest release included this AirPlay receiving feature as an in-App purchase. Since they've had the code to do this for a while, and it seems like this method is probably preferable to most users and therefore likely more profitable, the delay seems odd.
My speculation is, they've been using the "stolen" key, and were hesitant to draw attention to themselves by trying to get software using it approved on the app store. Eventually potential profit won out, and they went for it. It got approved by the (probably) less technically savvy app review team that doesn't know about the requirements of a licensed key to make AirPlay reception work. It was noticed later by some Apple engineer who is familiar with the protocol and was then pulled.
Since the private key is necessary to make this feature work, they either needed to license it or use the "stolen" AirPort Express key. If they licensed it, I don't think Apple would be pulling it. Since Apple does license this to people, it would be unfair to their licensees to turn a blind eye to people using the "stolen" key. If it became apparent they were letting it slide, it would lead to a proliferation of unlicensed (potentially crappy/flakey) devices that might not meet Apple's quality standards.
I think the speculation about Apple wanting to include something similar in a future iOS release is irrelevant here. Maybe they would, but I think this reasoning seems more likely.
Let's say that's the reason, in any case. Why would Apple pull the whole app rather than simply making them remove the key and reverting back to the old functionality? Some petty sense of retribution?
Here's how I see it. AirPlay is something Apple sells a license to. Assume Rogue Amoeba didn't buy a license, but used someone else's, and then sold the functionality that buying the license would have entitled them to.
What's that? Piracy? DMCA violation? Within Rogue Amoeba's rights? I don't know. Is Apple allowed to lock things down by requiring keys? Maybe they're in the wrong.
To me, this is similar to trying to sell software that uses DeCSS to play DVDs rather than licensing CSS. Regardless of my opinion, it doesn't seem to be legal (in the US, anyway).
Is that legitimate? If so, how is it different than other forms of piracy?
As far as I know, Apple is allowed to lock things down by requiring keys, and other people are allowed to crack Apple's lockdown if they can.
If Apple had just made a proprietary undocumented protocol, that'd be one thing, and I'd agree that Apple wouldn't be able to force licenses on people. Absent the private key, there wouldn't be anything to stop you.
However, they made a proprietary protocol, sold licenses to use it and implemented a key enforce the license. Isn't circumventing the private key equivalent to circumventing copy protection? They obviously intended to restrict it to licensees, the way the DVD people intended to restrict CSS to licensees.
Wasn't there some case where printer manufacturers were doing something to stop 3rd parties from making cheaper ink/toner? How did that go? Maybe it's a more apt comparison (for the record, I honestly don't remember how this case turned out, so I don't know if I'm helping or hurting my argument).
I don't see how it would be covered by the DMCA like DeCSS is, as the encryption is not for a DRM system.
Even if it is, well, I think most of us will agree that cracking encryption for the purposes of circumventing DRM for legitimate purposes should be allowed. But of course that gets us into discussions of how things are versus how things should be.
How do you know there's no problem with AirPlay sending?
Other than Apple's past behavior (which, as shown here and many other places, is no guarantee of future results) I'd have thought the correct assumption is that Apple wouldn't want anything to do with unlicensed implementations of either side of the AirPlay protocol.
I guess that doesn't necessarily prove anything...
http://rogueamoeba.com/utm/2012/04/25/turn-any-ios-device-in...
It's like if I have a party and you are doing something to annoy me personally even though you are being legal and ethical I can tell you to get the fuck out.
Today's lesson is don't be that guy at the party, don't be that guy in the app store, the one who decided to reverse engineer the store owner's shit and then caused a scene when the host threw them out.
As another comment notes, they've probably had the code to do this for a while. Why should Rogue Amoeba continue to sit on it instead of taking the chance? Unless they were banned from the App Store entirely (unlikely based on past practice and probably less of a concern since their app was a free add-on anyway), they'd have lost nothing (and gotten a decent amount of sympathetic publicity in the process).
Also, if you start trying to convince yourself that your app does not violate the guidelines because there are other apps do what you want to do, even though your intuition tells you that your app will be rejected, spend your energy elsewhere. Apple has no concept of "precedent" in making their decisions (nor should they or could they), and they make clear that the existence of another app doing what you do is not the basis for a successful appeal.
I'm not saying don't push the boundaries of the guidelines, but if you do so, understand it to be a business risk. And if Apple turns around and rejects your app, accept it as a cost of doing business on the edge, and don't act like Apple is to blame for the risk you took and take your sense of persecution public.
AirPlay is a strategic technology for Apple - it is going to become more and more important in the next year. Any moves Apple makes to protect this technology are first and foremost going to be motivated by ensuring the best, most consistent possible experience for the end user - their interests rest with the whole device ecology and how those devices interact. The motivation is not crushing third-party implementations because they don't want to compete with them or because they want licensing fees (which are trivial to them) - it is because they don't want hacked implementations screwing up the end-user experience, especially for non-geeks.
He says: "But then something remarkable happened. Apple approved Air Speakers – an app that enabled you to stream audio to your iOS device from iTunes and iOS devices. Using the private key of the AirPort Express. Sadly it was a horrible app. Synchronization wasn’t even implemented, so the audio was hopelessly out of sync, when sending audio to multiple devices."
I believe this is why Apple requires you license AirPlay. Not so they can make a quick buck (I'm sure the license fees are trivial to Apple), but so they can make sure things that work with AirPlay don't behave as the author claims the AirSpeakers app does.
They later claim that AirPlay implemented the key to stop piracy; "The encrypted stream was initially implemented in order to protect the transfer of DRM-encrypted iTunes Music Store audio content," but doesn't back this statement up. I think they implemented the key requirement to enforce their licensing. I can't back this up either, other than it explains Apple's actions better than his theory. The licensing isn't there as a profit center, but to give them some quality control so that AirPlay doesn't get a bad reputation for being difficult to use or unreliable.
The thing that doesn't make sense is that supposedly Apple rejected this for using private APIs. This doesn't sound like the case.
It'd be interesting to know what the AirPlay licensing terms are like, and whether or not the AirFloat developer or Rogue Amoeba approached Apple to license AirPlay (I'll guess no).
Is that a typo? Really only 100 downloads? If that's true then the app store is even more of a crapshoot than I thought.
I think the secret is finding a rich but unexplored niche but of course that's getting more difficult over time.
To quote from the article:
I really believe that the App Store is become more and more like an Android market – meaning 99% crap!
Second, I think the point is that some developers did good and innovative things with the key. By itself, I'd call extracting and publishing the key a mundane technical challenge, nothing more.
http://webcache.googleusercontent.com/search?q=cache:6tI7UJT...
I don't think it's used to stream to iOS devices so they can play it back trough their speaker or headphones - I guess it's to use their line out.
Would you just look at how causally he mentions this. FUCKING HELL.
Seriously, every other sentence has fundamental mistakes. Writing skills matter, hugely. Downvotez ahoy! (Pressing the down arrow improves your English skills for sure!)