Under The Microscope

7,073 Users Can Be Wrong

Airfoil Speakers Touch IconFirst, the good news: Airfoil Speakers Touch is once again available in the iOS App Store. You can download it directly on your device or click here to learn more about sending audio from your Mac or PC to your iOS device.

Unfortunately, Airfoil Speakers Touch can no longer receive audio directly from other iOS devices or iTunes. Read on for more information about this troubling change, as well as the reasons behind it.

Background

On April 25th, 2012, we released Airfoil Speakers Touch 3 for the iPhone, iPod Touch, and iPad. It included a new Enhanced Audio Receiving feature which turned your iOS device into an AirPlay-compatible audio receiver. This made it possible to send audio from one iOS device to another, or from iTunes directly to an iOS device.

Over the next 30 days, more than 7,000 users purchased the Enhanced Audio Receiving feature inside Airfoil Speakers Touch. There’s no question that there exists extremely high demand for this functionality.

Nevertheless, on May 24th, 2012, Airfoil Speakers Touch was removed from the iOS App Store by Apple. We had two brief conversations with a representative from Apple prior to the removal, but the reasons for the removal were never made clear to us. The claim they made was that we were using private APIs, which we knew to be incorrect.

Following the removal of Airfoil Speakers Touch from the App Store, we submitted an appeal to Apple’s App Review Board. As we reported at the end of last month, we were still in the dark as to the exact reasons behind Apple’s removal of the app.

The Latest News

Earlier this week, we had a chance to speak to Apple for the first time since they initially told us Airfoil Speakers Touch was being removed from the store two weeks ago. We’ve finally gotten some answers.

We now know that Apple’s issue with Airfoil Speakers Touch was specifically related to its recently-added ability to receive audio directly from iOS devices and iTunes. This was not properly conveyed in our initial conversations prior to the removal of Airfoil Speakers Touch from the store, and Apple’s representatives apologized for the fact that the entire process was “poorly handled”.

It’s clear that despite previous claims, Airfoil Speakers Touch was not in fact using private APIs. The Enhanced Audio Receiving add-on was implemented entirely from scratch and conformed to Apple’s published guidelines.

Regardless, Apple is using the authority they provide themselves in the guidelines and program license agreement to remove apps they don’t like. Specifically, they cited a provision in the App Store Review Guidelines which allows them to reject apps “for any content or behavior [they] believe is over the line”. That’s certainly disappointing, and frustrating, but it’s the nature of the system Apple has created.

If nothing else, we’re gratified to at least have come to an understanding that we didn’t violate the guidelines – Apple simply doesn’t want us providing this functionality in the App Store. Ultimately, if Apple doesn’t want it, we can’t provide it and users can’t have it.

You may be asking why Apple would want to prevent users from having this functionality. Only Apple can provide a full answer here. We do know that Airfoil Speakers Touch’s ability to receive audio directly from iTunes and iOS enabled some users to forgo purchasing expensive AirPlay hardware, hardware which Apple licenses. It seems Apple has chosen to use their gatekeeper powers to simply prevent competition.

Closing

We’re pleased that Airfoil Speakers Touch is once again available in the iOS App Store, enabling you to use Airfoil to send audio from your Mac or PC to Airfoil Speakers Touch running on your iPhone, iPod Touch, or iPad. However, in order to get Airfoil Speakers Touch back into the store as a receiver for Airfoil, we had to remove its ability to receive audio directly from iOS and iTunes via AirPlay. This was quite disappointing to us, as we’d provided a feature that thousands of users found quite useful.

Sadly, we reached the end of the line with Apple, and it was clear they would not be allowing users to have this functionality. We determined that our best course of action was to remove it, so as to save the rest of the application for its existing and future users. For now, if you wish to send from one iOS device to another, or from iTunes to an iOS device, we recommend checking out this post for workarounds.

Update (September 24th, 2012 6:30 PM): Here’s the latest (and likely last) update on this.

Existing Users

If you previously purchased the now-removed Enhanced Audio Receiving feature, the functionality will remain even if you update to Airfoil Speakers Touch 3.1 and beyond.

If you purchased the Enhanced Audio Receiving functionality while it was available, and you install a new copy of Airfoil Speakers Touch, you can still use the “Restore Previous Purchases” button in Airfoil Speakers Touch’s settings to restore the functionality.

Unfortunately, as before, we have no ability to issue refunds in the App Store. Only Apple does, and they maintain a “No Refunds” policy.

27 Responses to “7,073 Users Can Be Wrong”

  1. Yarrow says:

    Will the previous functionality be maintained for those of us who purchased it? If we don’t update?


  2. Hal G. says:

    Boooo, Apple. Boo! This is just crappy. I thought Apple were better than this. I’m very disappointed.


  3. Dan says:

    Sorry to hear it guys. I had a feeling this would be the case. I guess the old “don’t update if you already have it” routine will have to do.


  4. Drew says:

    What are you doing about refunding the in-app purchases. Since you have over written the App with this downgrade we are not going to be able to use the facility we paid for, or indeed ‘restore’ the purchase when we need to upgrade our devices.


  5. Yarrow says:

    Guys, if you have a jailbroken device check out Update Hider.


  6. MicMan says:

    Just updated from 3.0 with the in-app purchase to 3.1 and it still works. That’s nice, at least.


  7. Jim says:

    iTunes store currently says 3.1 is not available! What is going on?


  8. Ossi says:

    Just curious, did you include the private encryption key in the app, or is it already installed and accessible in iOS?


  9. ebernet says:

    Question – I just saw what Jim said. If I already bought the in-app purchase, and I upgrade, will I retain the functionality?


  10. David says:

    “Just curious, did you include the private encryption key in the app, or is it already installed and accessible in iOS?”

    That’s the question. AFAIK, there’s no way to access the encryption key through a public API, so how did Airfoil Speakers Touch decrypt the AirPlay stream? It makes sense to me that Apple wouldn’t want to encourage people extracting keys they never meant to be public.


  11. ebernet says:

    Thanks for the tip on update hider! Installed…..
    I still want to know however if I can safely update without losing the in-app purchase. I kind of like the new features…


  12. Steven says:

    Are you or are you not using Apple proprietary AirPlay technology which you reverse engineered, without a license?

    I’m not even a developer, but the first thing I thought when I saw (and immediately purchased) the feature was “how long is this going to last before they get caught?”.


  13. mikeash says:

    @Steven: There’s nothing wrong, morally or legally, with reverse engineering a protocol for the purposes of interoperability. That isn’t some sort of gotcha, and it’s not something one should shy away from just because big companies don’t like it.


  14. Ompus says:

    I’m mystified why Apple has chosen to cripple iOS devices in this manner. IF there was another portable device to which I could stream music, I’d buy it. There isn’t any. I own two airport express devices… they serve their purpose, but require AC power and are bulky.

    Airplay is a failure. The devices that people anticipated? Absent. Sadly, it seems it’s failing as a direct of Apple’s limitations. Thanks to Rogue Amoeba for exposing Apple’s failings.


  15. Shaun_R says:

    Can anyone else confirm MicMan’s comment about retaining the functionality for existing users? I’m in the same boat, and hoping that this is true.
    I’m not willing to upgrade on any of my devices though – while rolling back to V3.0 in iTunes would work to get V3.0 back; because the In-App Purchase has been removed, I wouldn’t be able to re-activate my purchase should the functionality be completely removed. Stuck between a rock and a hard place!


  16. MicMan says:

    @Shaun_R I moved back to 3.0 and the Restore button there still works as well. So if you can install 3.0 on it, you can restore the purchase, then update.


  17. Paul Kafasis says:

    Existing purchasers: Please see the update at the bottom of the post. You should be able to update just fine.


  18. Mike G says:

    It doesn’t seem likely that you can implement this functionality on Airfoil Speakers Touch without using Apple’s private key—which they would clearly object to, despite this not being codified in the “rules.”

    I applaud your innovation, but really…what is the mystery here?


  19. Mic Edwards says:

    Why don’t you just offer to pay Apple the AirPlay licensing fee?


  20. Steven says:

    @mikeash – I didn’t say whether it was morally or ethically wrong. I said it was no surprise to me that Apple didn’t like it, and I’m fairly sure it wasn’t a surprise to Rogue Amoeba.


  21. mojo66 says:

    The Airport keys have long been reverse engineered, see https://github.com/albertz/shairport


  22. mojo66 says:

    I meant Airplay, not Airport


  23. MicMan says:

    @Mike G. What are you talking about? What mystery did anyone refer to?

    Apple doesn’t have to like everything in the store (Google’s apps, hello?), but that doesn’t mean they remove it. If they’re going to go beyond the stated rules and use a “We don’t like it so its out” rule, that stinks. It doesn’t seem very good for us as users of their phones and software.

    I’m glad I still have this working but it’s really craptastic that others won’t be able to have it.


  24. Remy says:

    Doesn’t this violate the first part of “applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs,” (rather than the second)?


  25. gareth_k says:

    So best to keep a copy of 3.0 kicking around so I can install that first and restore purchase before updating should I get any new devices.


  26. ebernet says:

    I too can confirm that if you are one of the 7,073 who has done the in-app purchase, you can update safely and NOT lose the functionality at all. Wooohoooooo!!!!


  27. Mitchell P says:

    Sounds like the same thing that happened to Elpamsoft AirPrint. It just worked and added functionality that everyone needed to iDevices. Though Apple shut it down.


Our Software