Posted By Mike Ash on November 13th, 2009
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.