A brief look at the demo iKaraoke's website will quickly tell you that, while the app does bear a light resemblance to some of the menus found in the iPod application, the actual interface that the user interacts with to select and download a song is far from duplicating the iPod's polished interface. Another key point is that the file format used by iKaraoke is known as the .kar format -- an unofficial extension of the MIDI specification that enables lyrics to appear in time with music. The lyrics are then displayed on the screen, and highlighted as the song is played. Does any of this sound like functionality found in the iPod app? We didn't think so.
So what exactly was duplicated then? According to apple, iKaraoke "duplicates the functionality of the built-in iPhone application, iPod, without providing sufficient differentiation or added functionality." But they didn't just stop there. The reviewer went on to say that the application "downloads media files that are not managed by the iTunes application, which also manages media files, we believe this would be confusing to the user." Now, hold on a minute here... it's fine for several other apps to stream and download media files that are supported by the iPod without being managed by iTunes, but it's not OK for an app to download media that isn't natively supported, and provide functionality that isn't natively provided by the iPod?
This wouldn't be much different from your typical app rejection if the story stopped there, but it doesn't. This morning, Apple filed a patent [application here] which details built-in Karaoke functionality being added as part of the iPod application, with some additional bells and whistles such as monitoring the pitch of the user's voice. So it seems the functionality that was duplicated is functionality that Apple has not yet released, and possibly not yet even begun to develop. Maybe the $99 iPhone Developer Program fee should include a crystal ball for testing apps before submitting them.
As with the many other patents Apple has filed, this feature may never see the light of day. But is it really acceptable to reject an application, based solely on what appears to be a duplication of a feature that may or may not even be released in the future? Let us know your thoughts in the comments.
Update: As a few of you have pointed out in the comments, although the patent application was published today, it actually was originally filed back in April of 2008. While this does indicate that the patent was indeed filed long before the SDK was even released, questions still remain about whether or not Apple may choose to reject applications based on functionality found in unreleased features.
Similar rejections have occurred with apps that offered podcast downloads prior to the inclusion of podcasting functionality in iTunes, for example. Essentially, what needs to happen is that Apple needs to clear the air on what exactly is considered a duplication of functionality, and to be clear with the developer on exactly what aspects of their application are in violation of this requirement, rather than sending a vague form letter and ignoring inquiries for additional information from the developer.