Under The Microscope

Airfoil Speakers Touch 1.0.1 Finally Ships

First, the basics: Airfoil Speakers Touch version 1.0.1 is now available in the App Store. This update fixes issues with audio sync that could be heard when audio was playing to multiple outputs. If you haven’t used Airfoil, it will let you send any audio from your Mac or PC out to the AirPort Express, Apple TV, other computers, and with Airfoil Speakers Touch, to your iPhone or iPod Touch.

There’s a bigger story here, however. It’s one that’s been told before, but until things change, it needs to keep being told. Simply put, the App Store is broken.

Over Three And A Half Months

Our problems began back in July, when we first submitted this bug fix for Airfoil Speakers Touch to the App Store. While we generally disliked the restrictiveness of the review process, we’d never had any direct problems with it. Further, this was a mere bug fix – it just improved the way audio was received. It was functionally identical to the already-approved version 1.0.0. As such, we expected to have this update available by the end of July or early August.

Not. even. close. Today, over three and a half months after we initially submitted our bug fix update for review, it’s finally available. So what happened?

Our First Two Rejections

After our first submission back in July, Airfoil Speakers Touch was rejected, for using “Apple Logo and Apple-owned Graphic Symbols”.

Apple Logo and Apple-owned Graphic Symbols:

You may not use the Apple Logo or any other Apple-owned graphic symbol, logo, or icon on or in connection with web sites, products, packaging, manuals, promotional/advertising materials, or for any other purpose except pursuant to an express written trademark license from Apple, such as a reseller agreement.

It wasn’t clear what precisely this was about, but if you’ve used the application, you’ve likely seen something similar to this screenshot:

As you can see, Airfoil Speakers Touch displays an image of the sending Mac, with a screenshot showing the source application. If you’re sending from an iMac with Safari as your source (as pictured), it shows your iMac running Safari. If you’re sending from a MacBook Pro, it shows a MacBook Pro, and so on. These computer images are provided by Mac OS X itself, using a public function expressly for this purpose.

We also show the source application’s icon – Safari in the above example. This icon also comes from a public function provided by Apple as part of Mac OS X. These functions are expressly made to enable developers to get this artwork, and use it just as we are.

We’ve done this before, in Airfoil on the Mac and Windows, when we talk to the Apple TV. It’s a nice little bit of polish, but it’s also functional – it lets the user verify what machine they’re receiving from, what source application, and what that source application is doing. Nonetheless, it seemed from this rejection that Apple wanted it out.

Naively, we simply re-submitted the application without changes, in the hopes of getting a more sensible reviewer. A full four weeks later, on August 31st, we were rejected again.

Our Third, And Final, Rejection

At this point, we knew we needed to talk to a real person. Perhaps, we reasoned, an app reviewer was simply reading their guidelines and following them overzealously. Following Craig Hockenberry’s advice, we sent an email to the App Review address, explaining how our application worked and why we felt there were no trademark issues. Eventually, on September 2nd, we were told to resubmit the application for further review. Then we waited.

On September 12th, we received a form email stating that the review was taking longer than expected. No other information was given.

On September 21st, we emailed to ask where we were in the process. On the 22nd, we were again told it was “still undergoing a review process”, with no additional detail.

Finally, on October 5th (over a month since the most recent submission, and almost two and a half months since our initial submission), we were contacted by an Apple employee via phone. We were told that despite our explanation, Apple was unwilling to ship this update, and it would again be rejected.

However, later that day a second Apple employee phoned. He was a fan of our products, and wanted to take another crack at getting this approved the way it was. With a mixture of hope and trepidation, we provided him even more details, and awaited his reply.

In mid-October, he called again, saying that there was nothing for it. In order to ship our update, we had to stop showing both the computer images and Apple’s app icons. It didn’t matter that Apple provided us with code expressly to enable us to show these, nor that the same functionality had been previously approved. We’d reached the end of the road – if we wanted to ship this update, we had to remove the functionality.

“When angry, count to four. When very angry, swear.”

Needless to say, we were quite upset. There was no change between the approved 1.0.0 and the new 1.0.1 – this functionality had already been approved once. Further, if simply showing another application’s icon is a trademark issue, then the software world is going to need to make some drastic changes, and Mac OS X’s Dock will be the first to go.

Worst of all, however, Apple left 1.0.0 in the store, a buggy version being downloaded hundreds of times per day. The exact same “infringing behavior” could be found in 1.0.0, and they weren’t taking that down. As such, the only thing Apple’s process was doing was preventing a needed bug-fix from reaching the hands of our mutual customers.

Bend, Don’t Break

Of course, being angry wasn’t helping our users, and that’s always our goal. We didn’t want to remove functionality to do it, but we had little choice, because Apple controls the means of distribution for iPhone software. We had to compromise.

Now, when you receive audio on Airfoil Speakers Touch, you’ll see a generic computer screen, not your specific Mac. Further, if you’re receiving audio from an Apple app, such as Safari, QuickTime Player, or iTunes, you’ll see this:

If you tap the artwork in Airfoil Speakers Touch, you’ll be taken to this page, providing a pithier summary of the situation. Is it likely to change anything? Probably not. But it was the only way we could remove this functionality and still sleep at night.

What Now?

As noted on that page, we urge you to do two things. First, be aware that Apple is acting as a gatekeeper, and preventing you from getting the software that developers such as ourselves are trying to provide you. We wanted to ship a simple bug fix, and it took almost four months of slow replies, delays, and dithering by Apple. All the while, our buggy, and supposedly infringing version, was still available. There’s no other word for that but “broken”.

Second, consider donating to the EFF. The change we made to Airfoil Speakers Touch wasn’t their idea, nor have they endorsed it. However, in addition to being one of Rogue Amoeba’s favorite charities, they’re also the organization defending the rights of both consumers and developers in the digital world. If Apple is to change, it may take such an organization to make it happen.

Focusing On The Mac

In the future, we hope that developers will be allowed to ship software without needing Apple’s approval at all, the same way we do on Mac OS X. We hope the App Store will get better, review times will be shorter, reviews will be more intelligent, and that we can all focus on making great software. Right now, however, the platform is a mess.

The chorus of disenchanted developers is growing and we’re adding our voices as well. Rogue Amoeba no longer has any plans for additional iPhone applications, and updates to our existing iPhone applications will likely be rare. The iPhone platform had great promise, but that promise is not enough, so we’re focusing on the Mac.


Update (November 13th, 2009): Please see our follow-up post as well.

68 Responses to “Airfoil Speakers Touch 1.0.1 Finally Ships”

  1. woo says:

    As a fellow iPhone dev, all I can say is godspeed. I had this EXACT experience. First version, accepted no questions asked. First update (major bug fix) rejected. Why? I used an orange “podcast” icon that my wife created in illustrator. Was it an exact copy of apple’s (now purple) podcast icon? Not even close! Was it similar? Yes, we wanted something to represent “podcasts”. Rejected for “using an apple trademark”. What did I do? Angry, WTF!? email back. Then what did I do? Count to 4, ask my dear wife to change the icon, resubmit. (and 2 more rejections for other random things that were in the original version too later) it got through. Now, I’m not saying this story to say you did something wrong, you didn’t! I say way to go sticking to your guns! I wish I had that luxury of doing that, but my livelihood now depends on my iPhone app (though I’m sure I’ll get by without it, if I have to.) I tell it because I know the frustration, the incredible disheartening feeling of having worked so hard to make something that my customers can enjoy and have it stamped “rejected” with no recourse but to do what The Man says. Now, on a personal note, I have to breathe a sigh of relief. I’ve been scared to death that you guys would update and improve your competing app, and now I can breathe easier with just the 5 other competitors. Oh, 6 if you include Apple.

    So anyway, thanks for speaking out, and tell me when there’s an iPhone Dev Union with some power to negotiate, ’cause it’s really getting unbearable!


  2. Another ex-iPhoneDev says:

    This is great news! Hopefully Apple will change their way. I’m a fellow iPhone Dev moving to Android because I can’t take Apple’s review process anymore. I won’t be developing any new iPhone app and my updates will be “whenever” I feel like it.


  3. Sean says:

    Now that the bug fix is out there and the software is solid for your customers, you should put the images back in and continuously resubmit the app until it’s accepted. (Or if you have to do another fix, pull it – fix it, put in the EFF thing, submit.. wait.. get accepted.. then immediately start the process over again.)

    I figure you might as well waste their time, too. The more it costs them, the more likely they are to change their policies. As an added bonus, you don’t lose anything except the few minutes every 3 weeks that it takes to re-upload the unchanged app binary since the approved version automatically remains on sale. :)


  4. Lukas says:

    So basically, Apple is saying that screen sharing apps will no longer be allowed, because they show the Apple logo if you connect to a Mac?


  5. Kurt says:

    I think you should read this differing opinion:

    http://iphonedevelopment.blogspot.com/2009/11/rogue-amoeba.html

    Definitely food for thought.


  6. Dv0rak says:

    Kurt, the “differing opinion” twists itself into a pretzel trying to find a way to put the blame on RA, in order to divert attention from the part where there’s no possible way to paint Apple’s actions in a way that serves App Store customers, App Store developers, AAPL itself, or for the love of Pete, whichever person approved the rejection in the first place.

    There is no harm here, so why is a
    AAPL being such a hardass? If every bugfix release means the re-negotiating every possible aspect of an app top-to-bottom, is it really worth the risk?

    These cases really feel like the Reviewer in question is misapplying a rule in order reach some “rejection quota” and keep their job. Problem is, when developers rightfully protest and are overruled, some of them quit. This happens enough, that reviewer’s gonna get laid off.)

    Yes, Apple was within their rights to take the action they did. And RA could have compromised product quality to get past the issue and ship sooner. But they shouldn’t have to face that choice. Apple brought things to this point, and both the Mac and iPhone platforms are weaker because of it. I’m sorry to see them go.


  7. Jim says:

    I’m sorry. I love the RA products, but you guys are flat out wrong and even exaggerating here. There are no public APIs to use Apple images. We all know you got these images the same place we all do (apple.com/pr), and those are PRESS IMAGES. The iPhone API specifically prohibits using their images, etc.

    I HATE the appstore mess just as much as you guys, but you’ve really rolled in your own poop on this one.


  8. Caleb says:

    I think an important technical point that Jeff LaMarche (the differing viewpoint) misses is that to my knowledge these images/icons are not part of the app. Airfoil on the Mac is calling these Mac OS X public APIs and then providing the images indiscriminately to the client app, which in this case happens to be the iPhone. RA isn’t going through and running a program to harvest these icons beforehand to include them with the iPhone app. Airfoil Speakers Touch doesn’t have for instance the Safari icon, it’s being fed by the network source. So technically if Airfoil Touch has to be banned for showing Apple images then any iPhone app that includes a UIWebView capable of showing Apple’s homepage is just as guilty of including picture of Apple products. Any VNC client would violate this as it allows me to connect to my Mac and see things like the Safari icon in the Dock.


  9. hl2run says:

    I love Apple BUT FUCK ‘EM for their review process !! (I’m very angry so I swear as you told us to do :) )


  10. Nick says:

    A real shame to see you leaving. I use your products and love their functionality: Airfoil Speakers is used daily… I wonder if it is a ploy by Apple to reduce competition for their AirTunes software. Perhaps they are extending it’s functionality into your arena…
    I agree with Sean, though: put the icons back in and keep submitting it.


  11. David Johnston says:

    Let’s see:

    RA used copyrighted images without permission, having no right whatsoever to do so. RA got away with this breach in the first submission of their application. RA decides to update their app using the same images.

    Concurrent to RA’s submission of its revised app, and as the whole Mac world knows, Apple tightened control over its copyrighted images for all AppStore submissions. The company rejected dozens of submissions, including a number of hight profile apps, for this very reason. The Internet was awash with these stories two months ago. Horror of horrors, Apple opts to protect its copyrighted images and thereby interfere with developers improperly using them. Imagine that.

    Meanwhile RA assumes that, because it got away with using Apple’s copyrighted images earlier, it was perfectly entitled to continue using them. Something akin to assuming if you steal a chocolate bar and get away with it, you are entitled to continue stealing. Grow up folks and stop the silliness. You made the mistake not Apple. You got called on it. You should have made the changes immediately and moved on. The wasted months are due your own stupidity, no one else.


  12. Dave M. says:

    @David Johnston and others…

    Sure, the iMac, Mac Pro, MacBook, etc images are copyrighted images that Apple owns. However, its not like these images are being displayed on a Droid or Windows Mobile device. They are being displayed on an Apple created device using an Apple created OS to show what hardware is producing the sound coming from the iPhone/iPod touch. This is no different from what the Mac version of AirFoil does. Yet, Apple isn’t suing RA for it’s use of those images in Airfoil for Mac.

    I’m afraid I don’t see the difference here at all. I’m afraid I have to support RogueAmoeba here. Airfoil Speakers Touch is worse off for Apple’s review process in which it is supposed to be protecting it’s customers.

    If this kind of behavior from Apple continues, the only applications they are going to see submitted in the future are bulk fart apps and “Sexy” apps. They will look the fools to other cell phone manufacturers and lose the prestige that they have currently seen by being the “cool” phone that is used in many popular television shows and movies.


  13. Peter Beardsley says:

    Jim: Let me Google that for you.


  14. Kento Ito says:

    I know you are frustrated, but the reason for why Apps take long time to get it approved is because of the process itself.

    Apple actually reads every single line of code in an app. That’s right, every single line. When apps like Facebook, or Rolando gets into place, it takes a long time, since the line is complex.

    And if the app is rejected, you fix it and re-submit it, but it’s like getting back into the back of the line. It takes forever. So you must have patience, even if it means it takes months and months of waiting. (I always tell new developers, get ready to wait in line for approval process, because it will take some time, and yes, that means loss of profit, but I always tell them, get ready to expect that)

    I think Apple’s process is what will keep the iPhone safe for years to come, from malicious viruses (provided that you did not jailbreak the phone). Reading the code, line by line will make sure that Apps submitted won’t be a virus app, or trojan horse. (and trust me, Android Marketplace, has no approval process, it’s just matter of days now that a virus sets loose on Android marketplace)

    If you still can’t believe that, do this: GIVE UP MAC DEVELOPMENT ALSO! You can’t give up on one development. It’s either keep both iPhone and Mac development, or pack up, go home, and start developing for only Windows. It’s your choice, but you can’t just give up on one.


  15. Austin Ziegler says:

    @Kento Ito: What you just said is completely and utterly wrong. App developers do not submit the source to the iPhone app, but a compiled binary bundle. Apple apparently has some tools with which they can detect egregious violations of the public/private boundary, but there is no source code submission.

    And, quite honestly, if Apple *were* reading the source of every developer, we’d see…maybe a hundred apps in the store, total. I’m finishing up an iPhone app now and it would take someone not familiar with what I’ve written about a week to read it and understand it well enough to judge it.


  16. Kent says:

    Kind of fitting…

    http://xkcd.com/662/

    Also, I’m currently going through similar issues with one of my new apps. It’s been a month and a couple of phone calls so far. Mine doesn’t have to do with images, but a couple of “very generic” words that I used in my description and keywords.


  17. JC says:

    @Dave M: iPhone != Mac. The license for one SDK for one is not the same as it is for the other. (For that matter the SDKs are not the same. The images RA used are provided by Mac OS X, not iPhone OS X.) There are differences if you choose to open your eyes. RA post here tries very hard to pull the wool over them by repeatedly conflating the iPhone and Mac. They are not the same product. They don’t have the same software distribution model. And while their APIs are similar, they are not identical.

    It seems to me RA violated the terms of the license, knew this, chose to game the system by resubmitting and hoping that they’d slip between the cracks again, then threw a tantrum when that didn’t work. More importantly, the images had nothing to do with the bug fix. RA could have easily issued the bug fix without the images that violated the licensing agreement. To state otherwise tarnishes the good name RA has built up over the years.

    I get that the point RA is trying to make is not so narrow as “we should be allowed to use these images.” Their point is “we should be allowed to put whatever we want on the iPhone without Apple’s approval.” Mostly, this is because Apple’s rejections sometimes seem arbitrary and capricious. RA would make a stronger case if they weren’t openly breaking the rules they had already agreed to, if the rule violation weren’t so incredibly clear cut, and if they were more honest in presenting their case.


  18. shane says:

    Sad to see you leave. However, you used copyrighted images you don’t own. Quit whining.


  19. Sykes says:

    Rogue Amoeba is a well known company. Would sending an email or finding a way to contact Steve Jobs directly help solve this silly issue? I bet someone in Jobs’s family or extended family uses Airfoil for Macs and would know what a great programme it is.


  20. Matt says:

    Sorry to see RA leave the iPhone. This was a stupid decision by Apple. There was nothing wrong with what RA did, and in fact it helps the consumer use their product with better UI.


  21. Dv0rak says:

    Many commenters are operating from an incorrect understanding of the situation and would be well served to reread the previous comment by Caleb.

    Repeating him, if RA is actually breaking the rule, any application which provides an in-app web view would also be breaking it. Should they also be removed from the store?


  22. Davey says:

    To everyone who says that Rogue Amoeba doesn’t have a right to the images: the following code is Apple-documented to provide a high-res icon of the Mac you are currently using. It’s totally legit.

    [NSImage imageNamed:@”NSComputer”];


  23. Nico says:

    So, what would happen if RA released Airfoil Speakers Touch 1.0.1 with those images on the Droid?


  24. Mark says:

    Seriously? You’re complaining about the fact that you can’t use copyrighted material? I guess I should start using pirated versions of your software, and then complain about it… Come on, grow up!

    Every (r)etailer has their own set of rules for the products they (re)sell. It you want to sell your products through their outlet, you need to adhere to the rules. Pretty straight forward.

    I like you guys, and you make good software. This is just a very disappointing stance.


  25. John says:

    @Mark – Seriously? You’re complaining about the fact that you can’t use copyrighted material?

    No, as they patiently explained, they’re complaining about being punished for using images which Apple provides for this exact purpose, via an official API. When you obtain an image of the current computer, it’s expected that you’ll display it to the user to represent that computer – what else would you use it for? This is a perfectly good use of Apple icons, and does not abuse or misrepresent their copyrighted material at all. It is nothing like stealing software, or reusing IP without permission, or even copying Apple’s icons and presenting it as their own etc etc, and your comparison shows just how much you misunderstand the situation. They are simply using Apple provided images to represent Apple computers which they see on the network.

    Unfortunately it seems that some people will jump to defend Apple no matter how wrong-headed, hypocritical, or inconsistent they are. IF you had any experience of the Apple review process you would know that it is broken beyond repair (I say if because it’s evident you don’t), and this sort of robotic inconsistency is the norm, and good developers are spending months polishing apps only to find that Apple arbitrarily rejects their application for some trivial imagined infraction, then takes months to respond.

    I’d like to say thanks to the RA guys for posting this, and for keeping the pressure up on Apple to fix what is a horribly broken process for developers. The best fix in my opinion would be to simply do away with the so-called quality checks completely – as it is, the process is a farce.


  26. Steve says:

    This all seems incredibly silly to me, my understanding is that developers agree to not use Apple’s copyrighted images and RA clearly went ahead and did it anyway themselves causing a huge delay for customers to receive a bug fix. Now I’m not a developer here, but if I had software that I knew contained bugs, I’d want to get a fix out to my existing customers and not cause the process to be held up for months just because of images I shouldn’t have used in the first place. I’m sure the review process is no “walk in the park,” I’ve never heard any enthusiasm surrounding it, but seems to me the fix would have been easy and customers could have had the update months ago.


  27. absentia says:

    Following the line of the webview showing images that are copyrighted,
    perhaps RA should use a webview there and access a web page (not their own site!) for the
    image[s]? :-) I’ve had an app rejected because the app allowed searching online — the Apple reviewer SEARCHED for a naughty word and just happened to get a hit. So, now there’s a morality call? Is “shag” to be allowed, but not other words? etc. It would be funny if it weren’t so pathetically sad. I figure it will eventually all get worked out, but in the mean time, it’s a circus. ps: wtf is wrong with this site/DNS for this site? can’t handle a few simultaneous accesses?


  28. Jeff says:

    To everyone who says RA broke the rules, here’s the quick roundup of why you’re wrong:

    http://daringfireball.net/2009/11/airfoil_touch_situation


  29. mark says:

    @Jim..
    are you sure? this suggests there’s an API that can be used so the connected computer can SEND AN IMAGE OF ITSELF. I can see how preloading alll the images in the app could be construed as a violation… but this seems like it was built for that purpose.

    http://stackoverflow.com/questions/1381915/how-do-i-get-the-icon-of-the-users-mac


  30. David Garozzo says:

    I’m saddened to hear that Rogue Amoeba won’t be working on more iPhone apps, but I don’t blame them.

    I wonder what would have happened if RA released a version of Airfoil that broadcasted a different image, then submitted the Airfoil Speakers Touch iPhone app for approval. After receiving approval, RA could have then released another version of Airfoil that changed it back to the computer images.


  31. Priit says:

    You should have used some Macintosh clone picture, like this: http://www.vectronicsappleworld.com/macintosh/articlepics/licensing/powercomputing.jpg

    and Photoshop a sad mac icon to the screen: http://ihnatko.com/wp-content/2008/02/sadmac.png


  32. John S. says:

    It is really sad that Apple is being so blatantly stupid with their iPhone App review process that they can’t even see that they are causing more harm than good. Losing the support of a respected software developer like Rogue Amoeba isn’t good for anyone. And doing so because the iPhone App Review process is so bass-ackwards that they can’t even tell a legitimate use of Apple logos/icons from an illegitimate one is pathetic.

    I totally stand by RA’s decision to stop developing for the iPhone. But, in the same breath, I am totally saddened by the loss of such a great source of apps.


  33. Geoffrey Miller says:

    RA, stick to your guns. Apple is wrong (insofar as they want to have developers that publish apps to their store) and Phil needs to fix this pronto. The movement away from the iPhone platform is building and Apple needs to recognize that they have a problem here.

    To all the chuckleheads who are chiming in that RA is in the wrong, go read Grubers latest post on Fireball. He outlines it very clearly. RA did nothing wrong in their implementation, but Apple is applying a mixed bag of rules that need to be spelled out up front, so that you know what you’re getting yourself into. And they need to follow those rules themselves.


  34. Chaos says:

    I think the issue that Apple has is that the images were intended to be displayed on the originating computer, not transmitted to another machine. Therein lies the violation. What would happen if someone wrote software that started sending out all the data stored on the machine, or its source code?


  35. Paul Kafasis says:

    woo: Best of luck to you.

    Another ex-iPhoneDev:

    Sean: Until we need to ship another bug fix, and are blocked from doing it. We had all kinds of angry reactions, but none of them would have been productive.

    Kurt: Unfortunately, Jeff’s “basics” are quite incorrect, as Dv0rak has noted.

    We didn’t include these pictures at all – they come from Mac OS X, and are displayed on the iPhone.

    Boiled down: If Apple believed there was an issue, why did version 1.0.0, with a bug we wanted to fix, keep shipping for almost four months after this rejection while we finally got a 1.0.1 that suited them? Who did that benefit? The answer is “no one”.

    Dv0rak: Well said.

    Jim: To be blunt, you are flat out wrong here. These images come from Mac OS X itself, as we stated. Every application’s icon is accessible via

    Caleb: That is correct – these icons come from Mac OS X at use time, and are sent by Airfoil to Airfoil Speakers Touch. Nothing is bundled inside of either application – it’s all pulled from the user’s Mac.

    VNC clients were actually an example we used in reasoning with Apple – that’s effectively what this is, a simplified (but also polished-up) VNC view of the sending machine.

    hl2run: That’s actually a Mark Twain quote, but the response is still appropriate.

    Nick: If it were an AirTunes issue, they could have simply rejected us from the get-go. I don’t believe that’s the case, though it is an interesting idea.

    David Johnston: As noted above, these images are not included nor “used without permission”, any more than Mac OS X’s Dock uses our app icons without permission or a VNC viewer shows your desktop without permission. We’re showing artwork right from the sending Mac.

    As I said above: If Apple believed there was an issue, why did version 1.0.0, with a bug we wanted to fix, keep shipping for almost four months after this rejection while we finally got a 1.0.1 that suited them? Who did that benefit? The answer is “no one”.

    Dave M.: There’s certainly a possibility that Apple’s moves will drive away enough developers. Unfortunately, with the size of the platform, I’m not terribly optimistic.

    Peter Beardsley: Indeed.

    Kento Ito: This is of course entirely incorrect, and I can’t even tell if it’s a troll. Apple receives no source code, and can thus do no code review. If this isn’t a troll, you’re deeply misinformed, and misguided.

    As far as giving up both platforms, I’m not sure how that makes sense. The Mac is still an open platform, enabling us to fix a bug in the morning, test it, and ship it in the afternoon if we like. And we do.

    Austin Ziegler: Well-said.

    Kent: It’s just no way to try and run a business. We certainly wouldn’t recommend it for anyone else.

    JC: We’re not trying to pull the wool over anything here. We laid out how this all worked, and why there should be no issue. There are two possibilities:

    1) This IS a trademark issue, but Apple allowed it once and allowed it to keep shipping in the form of our 1.0.0.

    or

    2) It’s not a trademark issue, and Apple’s wasting everyone’s time, including their own.

    Either way, things are broken here. We’re pulling images from the Mac, to show on the iPhone, and this shouldn’t be an issue.

    To ship this bug fix, we had to fundamentally change the application. We could not have “easily issued the bug fix without the images” – we had to change both Airfoil Speakers Touch, and Airfoil on the Mac and Windows, to do this. Further, we had to remove functionality from our users, and this was not a decision we took lightly. To call this rule violation “incredibly clear cut” and our presentation “dishonest” is, frankly, both wrong and insulting.

    shane: The Dock displays “copyrighted images”. And so does every VNC viewer. You should really re-read this article for comprehension.

    Sykes: Perhaps, but it shouldn’t matter. We don’t want a special exemption, we want the system to not be broken.

    Davey: Right – we’ve linked to the functions we’re using.

    Nico: I haven’t a clue – I doubt Apple would care. They don’t care that we’re doing the same thing on the Apple TV. This only came up because they have the chance at control.

    Mark: No, Mark, and that’s just an outright incorrect reading of the entire situation.

    We’re attempting to show your source application, from your Mac, using functions provided by Apple for this purpose. We’re not shipping Apple’s images, nor do we believe we’re misusing them in any way.

    John: Thank you. Since day 1, we’ve wanted to be able to ship software outside the App Store, to avoid just these sorts of hurdles. Until then, we’re just going to keep seeing the same issues.

    Steve: That’s another incorrect reading here. We’re showing Apple’s images in a way prescribed by Apple, and used by many applications on the iPhone and the Mac. The “fix” was to remove functionality, and we’re loathe to do that. Eventually, it became clear that this was the only option – at that point, we did so.

    absentia: The “naughty items” thing has been crazy for some time (since Eucalyptus at least). It’s a shame that it’s still a problem

    mark: Mark, indeed, and as (now) linked, that’s just what we’re doing – pulling from the Mac.

    David Garozzo: We contemplated this – there are lots of ways we could have subverted the process, but in the end, it wasn’t the right way to go.

    John S.: Thanks for your support – we’ll always be here on the Mac for you.

    Geoffrey Miller: Thanks for your support.


  36. Michael Green says:

    I’m sorry that RA will be leaving the iPhone development business. I’ve been a customer for years and have been pleased with your products. This isn’t an isolated incident. Apple has done a poor job (and continues to do a poor job) with their app approval process with apparently arbitrary decision making with little or no transparency about the process or the rules applied.


  37. Joel says:

    @Jim..
    are you sure? this suggests there’s an API that can be used so the connected computer can SEND AN IMAGE OF ITSELF. I can see how preloading alll the images in the app could be construed as a violation… but this seems like it was built for that purpose.

    This is exactly the point that people have been trying to make. These images are NOT stored with the Airfoil app, but are being sent across the network from the connected machine. It makes it easy for the user to know they are connect to the desired source, and yes, it’s an Apple-documented API. I don’t see how you can Apple here. RA has always been a top-notch Mac developer, and we could use more like them on the iPhone instead of the myriad fart and flashlight apps we have today.


  38. GadgetGav says:

    Wow. The number of people on here who clearly know nothing about software development and iPhone development in particular and yet state their erroneous as cast-iron fact is staggering.
    I guess as well as serving as another damning indictment of the App Store approval process, it’s also a clear example of why many blogs don’t enable comments.

    @Kento Ito: I simply cannot get my head around your position. RA were Mac developers long before the iPhone even existed. Why would they have to give up both and go to Windows? What kind of weird planet are you from?
    The Mac is an open market where developers sell directly to their customers. The iPhone is a closed market where Apple (inconsistently) rules all for the supposed benefit of handling distribution and payment. This seems to encourage amateur developers (how many fart apps are there now, which I find offensive) and discourage serious developers who don’t know if they will ever recoup the money invested.


  39. coolfactor says:

    The real issue here is that Apple needs to revisit its restrictions applied to iPhone apps running on the iPhone store. Displaying an Apple computer badged with a Safari icon should *not* be considered a violation of artwork. Rogue Amoeba is not selling competing products or competing with Apple in any way with this product, or that would be the basis of the rejection.


  40. Priit says:

    I would like to know – like in Airfoil – when you need to show an image of Macintosh, then what kind of image Apple would LIKE you to use? What kind of image in this kind of situation would be BEST for Apple’s brand?


  41. Chuck says:

    Sad to see you go. You make great products that I use daily (AF, LineIn, and to a lesser extend AHP). That said, I can totally relate.

    My first (and to date, only) app was rejected three times. In all three cases it was because a new version of the iPhone OS came out *while we were in review* and the new OS changed response error codes in a way we hadn’t accounted for. Finally, we put in a blanket error message. How terrible would it have been to have been approved, only to have the new OS come out 2 days later, and take 3 weeks (or MORE) to be reviewed for the bug fix!? Rejecting us was the right move on their part, but it is a horrific process.

    The App Store is broken. I hope Apple wakes up and smells the coffee.


  42. mathew says:

    I hope you will take your significant talents to the Android platform.


  43. Dan Uff says:

    OMG, this is the exact same experience that I have had with my “Mac OS X Reference” app. Approved once, made improvements, now being rejected, and now my customers are being SCREWED because of a “approve once, reject now” that Apple is now giving to me, and who looks like the jackass, ME, not Apple.

    Apple, PLEASE FIX THIS before you loose more developers.

    Dan Uff


  44. Erikun says:

    I’m not a developer, but clearly the review process seems problematic. Even if one disregards the reasons for rejection then at the very least for the lack of information on the ongoing process.

    But I also must say that RA and other developers that write stories like these really should count to 10, at least before posting them. I don’t know how many of them contain something along the lines of “but they allowed in in version 1.0″ or ” but app X does the same thing”. That type of complaint, I think, makes me think of a child going “but everyone else got one.” Don’t reduce your argument by including ones that don’t strengthen the core argument.

    Good luck to you in the future.


  45. WhatImageToUse says:

    @priit
    The best image to show in this case is a bucket filled with turd. That’s the best way to describe Apple’s brand.


  46. Jeffrey says:

    @GadgetGav: A cynical thought about Apple deliberately gaming the system towards amateur developers, but perhaps close to the truth.


  47. johncarr says:

    Trillian has been stuck in App Store Limbo for 91 days without a single word from Apple.

    NINETY-ONE DAYS.


  48. Kevin Duerr says:

    Paul and team,

    So sorry to hear your tale of woe. Completely understand where you are coming from. Our stories are similar and they were both completely avoidable. I am sick to death of reading more Apple App Store BS stories every week.

    Until we as developers take a united stand or convince the consumers to put there foot down: I’m afraid Apple just won’t care enough to pursue self-improvement.

    All the best,
    Kevin Duerr (and the rest of the Riverturn team)


  49. Kevin Lopez says:

    Awesome, less wait/competition for me and other iPhone developers, I hope others follow suit!


  50. Nicola Greco says:

    Amazing history.
    Rogue, your da man.
    You win :)


  51. Peter Cohen says:

    Wow, you people jabbering about copyrights are genuinely some of the stupidest morons I have laid eyes on. You’re apparently incapable of even basic reading comprehension.


  52. Paul says:

    Bad Apple.
    I never found the iphone attractive: it is a censored environment.

    Why does Apple create such an uncharacteristic sticky mess? And will it result in talent returning to the Mac platform (which has definitely suffered from developers flocking to the iphone) ?


  53. Peter Cohen (not) says:

    I apologise for being an abrasive misinformed bully.


  54. Trey says:

    I think the UIWebView comparison is a red herring. If the user’s typing/clicking a URL, they know the images aren’t coming from the app. If a web site is using Apple’s copyrighted materials, then Apple’s going to address it with them.

    In this case, RA wrote a really slick app that uses Apple’s copyrighted images in a way that looks like it’s part of the app. If Apple gives them a pass on this, then Apple loses the ability to enforce the terms on the next developer (who might be using them in a way that Apple doesn’t approve of–assuming that they’d approve of what RA’s doing).

    In seems to me it’s not an app review problem as much as it’s probably a problem with the lawyers at Apple and the guidelines they’re providing. Since this is addressed in the agreement that RA accepted, Apple’s completely within their rights to reject the app–and probably has to for copyright/trademark purposes (not IANAL).

    There are serious problems with how applications are reviewed, but I think this is different. Unfortunately, the end result is the same for the developers and the end users.


  55. techydude says:

    i am an Apple iPhone customer, and a registered-but-not-yet-active iPhone dev. it’s precisely this app-store approval process bullshit that makes me run a mile and put my time elsewhere.

    ok, i’ve heard your back-n-forth arguments here. fine. now, just for a moment, start thinking like business people, and like customers, instead of lawyer robots & Apple apologists like Lamarche.

    so fuckin what if RA use Apple-copyrighted pictures in their app? who is losing here? i mean really, who loses? i buy the app, RA get 70%, Apple get 30%, and i get a great app that BENEFITS from using those images from the obvious clarity of UI communication brought by their use.

    who benefits from Apple following the letter of the dev contract (and likely the boneheaded trademark laws that require them to behave like an ahole at every turn)? not Apple, not RA, & certainly not me.

    Apple need to FACILITATE the LEGAL use of their trademarks in a respectful and mutually agreed and beneficial way, or this bullshit is gonna haunt them for the rest of the App Store’s days. and no one wins from that.

    and this remains but one of the issues dogging the app store approval process.


  56. Alex says:

    Love your products, I hope this issue gets the high level attention at Apple that it deserves. Punishing a developer to creating a “cool” application on the iPhone is like shooting yourself in the foot.


  57. Steve G says:

    Sorry to hear about this situation. I think Apple really needs to scale back the useless apps (really, 100,000+ is too much) and weed out the useless developers so that it can focus its energy on getting good apps by good developers approved quickly by qualified reviewers.


  58. Charlie Mote says:

    RA are great developers! Have you thought about writing apps for Maemo 5 (and 6)? Between At&T and this kind of idiocy, as well as all the “iDont’s” I am looking forward to a Nokia N900 and all of the innovation this capable hardware and open OS are going to bring.


  59. Sykes says:

    Well, Rogue Amoeba, I certainly hope that eventually you’ll return to producing applications for the iPhone. I hope Steve Jobs is pay attention to this case as a particular example of how the App store’s review process is woefully inadequate. Then, not only should Steve Jobs re-do the review process, but he should publicly apologise and try to get companies like Rogue Amoeba back to developing iPhone products.

    Here’s to hoping!


  60. Lars says:

    The public API you are referring to is a Mac OS X API. You assert that it is alright to transfer the image provided by that API to another device and display it there. This may or may not be the case but in my opinion, you argument could be a non sequitur. Just because one system provides you the means of getting a certain bitmap does not automatically entitle you to use that bitmap somewhere else.

    I think you should be allowed to use it and as a fellow developer I dislike the AppStore model as much as the next person. Nevertheless, your argument isn’t really logically sound here as far as I’m concerned.


  61. Moschops says:

    Do I recall correctly that Apple have a history of letting others develop, watching to see what sells, and then taking that market for themselves?


  62. Devin says:

    I enjoy RA’s products, but if you think throwing a shit fit to get the “blogosphere” into a tizzy is going to get you to wiggle out of the terms of your contractual agreement with Apple, you’re wasting your fscking time. I don’t care about the technical details. You are essentially displaying Apple’s icons within the context of YOUR application. VNC viewers are different. They view Apple’s icons with the context of Apple’s application, inside the context of the VNC viewer’s application. Totally different.

    I really think you need to take this post down, man up, and read your agreement again.

    Jesus…


  63. Law Student says:

    This is what happens when a company is taken over by their legal team. I say, Apple should take their lawyers and replace them with engineers.


  64. techydude says:

    & let me clarify what i mean by calling Lamarche an Apple apologist (it could’ve been alot worse):

    sure, we all signed up to the App Store terms. rightwingnuts usually think “well then, all bets are off, what happens happens, and any bad shit is your problem, you knew what you were getting into”.

    thousands have given it a shot, and won. lovely.

    but quite a few also lost big, having invested heavily, only to be fucked over by vague or inconsistently applied approval criteria.

    people on the outside don’t make the app store approval process better.

    people on the inside bending over & taking a reaming from Apple for the kinds of stupidity we’ve seen from Apple’s borked approval process without saying a word, doesn’t make the app store approval process better.

    the only way the app store approval process will get better is when those on the inside bump into its shit and say Not Good Enough, Apple. they’re not God, they’re not infallible. and there’s far too many lawyers involved.


  65. TonyB says:

    RA guys.

    I feel bad for you, but to a large extent you screwed yourself here. Actually, the distinction is very blurred in terms of who is right. Here’s an example…. Let’s say I develop an app which uses a web browser control (provided by apple)….

    …and I connect to some random website that happens to have apple images on it…

    …that’s EXACTLY the same as this app does. It downloads an image, from somewhere else… In fact what your app did is better. Since you download the image from an app running on a machine with (you assume) a licensed copy of OS X on it which grants the user the right to use those images (whether it grants them the right to transmit them over a network is another matter entirely to which I don’t know the answer.)

    The argument about public APIs etc is nonsensical. They are a different SDK entirely. A much better argument would have been to say “I download that image, from a machine, with a paid for copy of OS X on it which permits my end user to use that artwork. It’s not part of my app, it’s downloaded content, just like pointing a web control at apple.com”

    For that matter, why didn’t you just put a little switch line of code in there that waits 30 days from submission date before turning the icons back on. You could have just quietly turned it off for a while if you think you’re in the right. No one would ever have known (or cared) and you would have felt like you’d got one over on them. Now you have all that attention drawn to you for no particularly good reason…

    I agree their responses are draconian and absurd and would not stand up to even a modicum of scrutiny in terms of “protecting customers.” Clearly they just (excessively and un-necessarily) protect apple. But screaming “no fair” and “You let me do it last time!” isn’t going to get you anywhere…

    That said, your apps are wonderful and I wish you every success in your future endeavours…


  66. Ari says:

    I feel bad for your ordeal but you could have avoided all of that trouble by including your own licensed generic looking icons to represent the computer you were connecting to. Instead, you chose to stubbornly use the defence that just because an icon is available to you via an API on a mac, that gives you the right to use it any way you see fit. What if the customer was running a custom replacement set of icons on their desktop? How would your app be able to tell the difference between the original icons and the replacement? What if the author of the set of icons only gave permission for use on mac desktops and not for any other use? Your program would cause the end user to be breach of the distribution agreement without their concept or knowledge.

    As a windows developer, I can access virtually any icon on a windows box through various APIs but that does not give me automatic permission to publish those icons on a website or within a a separate mobile client UI as images.


  67. Gex2501 says:

    Have you considered releasing your programs for the iPhone jailbreak community? I regular purchase tweaks and programs that are only available via jailbreak BECAUSE they aren’t approved by apple. I think you’ll find your programs well received. I love your Mac software.


  68. Anonymous says:

    1) update Airfoil to NOT send the images to the iphone App
    2) re-submit the iPhone app, requiring the newer version of Airfoil
    3) app is approved for not showing the copyrighted images
    4) update Airfoil to send the images again
    5) PROFIT ( or QED app store review process is broken )


Our Software