Under The Microscope

Airfoil Speakers Touch: Correcting Misconceptions

Since we posted our article on our difficulty in updating Airfoil Speakers Touch on the iPhone App Store, we’ve had a lot of great feedback. However, we’ve also had some feedback that appears to be based on misconceptions about just what the trouble is or just what Airfoil Speakers Touch is actually doing. I’d like to take a moment to address these and more fully explain exactly what’s happening behind the scenes.

The AirTunes protocol, which Airfoil uses to communicate to remote speakers, supports sending album art to remote speakers. We initially used this capability to display a badged screenshot on the Apple TV, as detailed in a previous UTM post. Airfoil Speakers Touch just displays this same image coming from Airfoil.

I’d like to address some specific points that people have brought up.

None of these icons are shipped in our apps
On the iPhone side, Airfoil Speakers Touch just displays a generic “album art” image that comes from Airfoil. On the Airfoil side, both the Mac image and the application icon are fetched using public Cocoa APIs.

The call we use to fetch the computer image is [NSImage imageNamed: NSImageNameComputer]. Behind the scenes, the system has a store of machine icons stored away in the /System directory, and matches up your computer’s model identifier with their artwork to return an icon.

The call we use to get the target application’s icon is -[NSWorkspace iconForFile:], which can be used to obtain the icon for any file on the system. Applications such as the Finder would use this call to display the icons of files and applications on the hard drive when browsing its contents.

The code is not specifically designed to send Apple’s icons
The code is fully generic and simply sends the icon of whatever application the user chooses on the Mac side. Apple applications are popular audio sources for Airfoil, but it’s entirely possible to send third-party applications like Firefox, Spotify, Last.fm, our own Pulsar, and others, and many users do just that.

Use of these icons does not infringe trademark or copyright
Airfoil Speakers Touch’s display of these icons falls under fair use. If there’s any doubt to this, look at all the places where Apple displays other people’s icons without their explicit consent, like the Finder, the Dock, Spotlight, etc.

Daring Fireball also has a good, in-depth discussion of various arguments put forth, including a look at just what the iPhone SDK agreement says.

Ultimately, this is not a trademark issue, but simply a matter of Apple enforcing arbitrary and inconsistent requirements for iPhone applications. There’s no legal requirement for them to forbid use of their icons, and no benefit to them in doing so. By insisting on not allowing us to display their icons, Apple is simply wasting everybody’s time, including their own, and inconveniencing our mutual users.

20 Responses to “Airfoil Speakers Touch: Correcting Misconceptions”

  1. Peter Cohen says:

    Pffft. Typical. Tons of moronic, wrong-thinking comments about how you guys violated copyright in the previous post, not a single apology here.

  2. Anonymous says:

    Did you guys consider doing something like this ( was posted in the earlier thread ):
    1) update Airfoil to NOT send the images to the iphone App (would look the same as it does now)
    2) re-submit the iPhone app, requiring the newer version of Airfoil ( or higher )
    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 )

  3. Jonathan Dumaine says:

    For those thinking Apple was in the right: Let’s be real here. Putting all these silly legalities aside, RA did exactly what Apple needed them to. That is, make an application as good-looking and functional as possible. As far as I’m concerned, Apple shouldn’t care if their images show up on an iPhone OS device. If Airfoil Touch was an Android application, this would be an entirely different situation.

    It’s a bunch of shenanigans if you ask me.

  4. michele says:

    You know what’s funny Jonathan? If this actually was an Android application, there would be no problem (legal or otherwise) in displaying those same icons in exactly the same way.

  5. Chris says:

    If we’re going with the logic of some of “RA is wrong” crowd, then Apple should remove the Amazon Mobile app because it will display images of Apple products and trademarks in the recommended for you section. Even though I never searched for anything by Apple or Mac OS X in the Amazon Mobile app, its pulling from the purchase and browsing history of my account done on a desktop machine. I think in this case RA did a great job at utilizing awesome functionality built-in to OS X, and instead of Apple recognizing that and commending them for it, they brought down their iron fist. Too bad really, because if they keep alienating outstanding developers, they’re going to have a platform that resembles Mac OS circa 1996-97.

  6. Donal says:

    I’d be sorely tempted to arrange for the app to try to discover if it was running inside Apple (or, better yet, in a not-yet-released-from the-store state) and turn the feature off. I don’t know just what rules that breaks, but when asinine fascists are about (and it’s clear the reviewing is being done by monkeys with a big checklist and no clue), it’s easier to use their stupidity against them.

    A submarine feature if you will (by analogy with patent shenanigans). And if anyone complains later, say that they must have missed it and that since it was there in 1.0.0 as well, it must be doing things that Apple approve of. After all, they’d hardly be inconsistent in the application of the rules, would they? </sarcasm>

  7. Mike Ash says:

    The idea of rigging Airfoil Speakers Touch to only comply with Apple’s requirements when in the review process has popped up a lot here, both in Anonymous’s and Donal’s comments, as well as several comments on the original post. And I won’t lie to you: this idea certainly crossed our minds, but we decided not to try it. Ultimately we just weren’t willing to actively subvert the review process. There’s a big difference between that and simply fighting a legitimate, straight fight like what we’re doing with the EFF page and with our blog posts on it. Not only are the moral questions in such an action significant, but there’s also the very practical problem that it would likely destroy any ability for us to ship further updates on the platform if Apple ever figured out what we had done.

  8. Edison C says:

    Seems to me that this call works much like iTunes when you connect an iPod. The appropriate image is displayed to correspond to the device connected. How Apple sees this as a bad thing is a bit perplexing. One would assume that Apple would want their end users to have a similar experience, even with third party apps. Given that Apple does this itself within OS X with third party icons, seems to me to be exceptionally short sighted on their part. It’s a shame RA is suspending further development for the platform. You guys do great work.

  9. zed says:

    pssst. Cydia.

  10. Daniel says:

    Hello Rogue, I love your products and I can completely understand the frustration from the App Store process. It is ultimately just downright “WTF?” stupidity from Apple.

    Are you still allowed to use the screenshot of the app? If so, I’d love to see that returned instead of the big EFF button and then the name of the app written underneath, you could then have the EFF link on a button under the EQ bars stating something like “Expecting to see your icons? Read about it here”.

    Although, Apple’s next devolutionary step with this solution would be to say that you can’t use the term Safari or iTunes in reference to the audio being sent because it’s a copyright! Where does it end?

  11. Jerry says:

    Well I’ve updated the iPhone app to v1.01, but when I connect to it, I still see my Macbook Pro icon, with the iTunes icon inside it – is this not what you were suppose to take out? If so, and you did, did Apple maybe decide to make your original v1.01 available? Either way, I like having the icons show up, so I’m glad mine is still showing.
    Anybody else have this?

  12. Pavel says:

    @Zed : besides Cydia, there is another possible distribution channel that – unlike Cydia – is perfectly legal. Bundle your application as library so you don’t have to disclose your source code, wrap it into XCode project and sell it to iPhone developers. They can legally compile it and install on their iPhone (and iPhone of their pals). Given the amount of iPhone developers, each able to address up to 100 devices, it is not that insignificant channel as you might think.

  13. Paul Kafasis says:

    Jerry: With out-of-date versions of Airfoil for Mac, you’ll still get the old behavior. Unfortunately, these versions are unsupported and you need to update – 3.4.2 includes several important bug fixes, as will future updates. Sticking with an old Airfoil simply to maintain this functionality is not wise.

  14. Carlos says:

    Hmmm, I’m also getting the macbook pro iMac graphics when I send audio from my macbook pro. I do have the latest version of airfoil for mac…interesting.

  15. DAVE says:

    I am not an iPhone developer but I have been around and managed enough large organizations to see that Apple has discovered a flaw in their trademark control program and they don’t quite know how to resolve the issue.

    There are certainly many people inside Apple that understand their position is factually untenable but they are countered by others with the Apple ” must not be crossed” mentality. It is a stand off inside Apple as the common “..still under review..” comments is stand bureaucratic speak for when the system is caught in an infinite “do-loop” waiting for an adult to hit the ESC key.

    In any case this makes Apple look a bit foolish if not childish by many developers and casual company observers.

  16. CS says:

    Apple seems to us outside developers like a monolithic organization with a coherent policy on all things app-related. But the truth is that it’s a collection of thousands of people and many policies that have to keep pace with the times. Certainly they need a much more coherent policy on matters such as this one, or at least a more coherent explanation for the apparent ridiculousness of their position.

    My guess is that one of two things happened: 1) Some other developer or developers submitted an app after Airfoil Speakers Touch 1.0 was already approved that abused Apple’s trademarks, and a decision maker at Apple decided that the only way to manage the issue was to enforce a stricter policy on all new submissions; 2) A personnel change caused a new manager or perhaps lawyer to get involved, and they decided that a change was necessary in order to avoid the possibility of (1).

    I don’t mean to defend Apple here. Their policy, or their ability to explain their policy, or both, have clearly failed. I salute RA’s decision to vote with their feet — that sort of move by a developer of their renown is just the sort of thing that could help bring some reform.

  17. Sandee Cohen says:

    The real question is “Who is Apple?” Or “who is the person in charge of approving iPhone apps who decided against your product?”

    I suggest that the person is a VERY low man (woman) on the org-chart. That this person barely knows anything about icons inside Cocoa, or iPhone, or the man in the moon.

    I suggest that the person looked at the icons and said, “Oh, wow, I better check with the lawyers to see if this is allowed.”

    And the lawyers said, “Oh no, we can’t have outside developers using our icons in their art. That could diminish our copyright on the look and feel of our software.”

    And the app was declined.

    Now, as has been very well explained in this bog post, there is NOTHING here that infringes on Apple’s art.

    But a LAWYER has decided that it would be easier to decline the app than it would be to find out the background.

    From what I understand, most of the problems of the app store are like this.

    Very low-level people (if they were higher-ups they would not be working on approving iPhone apps) scared to do anything except say no.

    Perhaps that will be the new Apple marketing campaign. Instead of “Think Different” it will be “Just Say No.”

  18. Jordan says:

    I thought this might interest you. This app is by THQ obviously with licenses from Lucas.

    However, I’m somehow doubting they were granted explicit usage of the iPhone image within their app as shown here http://img684.yfrog.com/i/7vu.jpg/.

    Approved today, November 17th.

    I think there is a big possibility this app will even be featured by Apple in one of their exclusive lists.

  19. Adrian says:

    Snap.

    I went through the same process with FarFinder’s iPhone client. (For those who don’t know, FarFinder lets you access the files on your Mac from your iPhone or a web browser, and presents a Finder-like view.)

    FarFinder gives you a choice of Macs to connect to and, similar to Airfoil ST, displayed an image of the appropriate Mac model using much the same mechanism.

    Note the past tense. To get through the review process, I had to remove not only the delivery of Mac images, but also Apple-authored file icons: application icons, standard folder icons, etc, even though these weren’t contained in the application but delivered over the network. Consequently the overall quality of the user experience is reduced on the iPhone. Oh good.

    I made the network-delivery argument (VLC) and the favoritism argument (other apps do the same thing) but met the same mindless stonewalling.

    Needless to say I now won’t touch the damned platform with a barge-pole for core business activities. (FarFinder’s iPhone app is only part of the product, and I’m not ready to give it up.)

  20. Vlax says:

    Have you thought of porting your application to Android? Is a far more open dev platform and the system is great.
    Hope you consider that option.
    Regards


Comments for this post have been closed. Thanks for reading!