| There's 2 parts to AirTunes (the part of AirPlay that Airfoil and AirFloat use), Sending and Receiving. Up to now, AirFoil only used the AirTunes protocol to SEND streams to AirPlay devices. If you reverse engineer the protocol you can send to any AirPlay device. No problem. 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. |
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.