
There were a few reasons I bypassed iPods when I was in the market for an MP3 player a while back. One of those reasons hasn't changed -- I've never been a fan of iTunes. I wasn't impressed with its performance, generally.
Since I primarily use Linux, the lack of a Linux iTunes client was a problem. Previously, iTunes was almost required for access to the "new hotness." The new devices, though not tied to any one format, don't play as nicely with Linux as earlier models.
PwnPlayer is an application (currently in beta) for the iPhone and iPod Touch. One feature of interest is file system playback, allowing easy access to the device's music files on Linux.
Two caveats here, and they're big ones. I still do not have an iPod Touch or iPhone, and therefore, I have not tested this software. PwnPlayer, by nature, is only able to work on iPhones or iPod Touches that have been jailbroken. This process, of course, voids the warranty, and while restoring the device to factory settings is possible, there are risks involved.
That said, PwnPlayer might be worth the risks involved for some people. Though making these devices more Linux-compatible was a plus, the catalyst for PwnPlayer's creation was the absence of iSIsk's music import function on the 2.0 firmware.
PwnPlayer is compatible with the internal iTunes music library, and is able to search and play music found in the library as well as the file system. It is able to create, edit and remove playlists. PwnPlayer can run in the background, and integrates with Springboard to control music playback when working with other applications. There is also a lock-screen gesture control feature which allows easy management of PwnPlayer without needing to unlock the device.
PwnPlayer mimics the coverflow display found in the stock MobileMusicPlayer, but at this point, it only works for songs found in the music library (not those in the wider filesystem). The PwnPlayer developers say that while PwnPlayer can't play video files now, it is a high priority for future versions.
The source code for PwnPlayer is not available presently, but should be in the near future. The project seems keen on encouraging the development of plug-ins and add-ons.