Apple's iTunes software started as a way to access all your music in one place, keep it organized, and sync it with portable devices. At the time, getting even that much functionality for free was pretty cool - but iTunes has continued to evolve from there, gaining the ability to manage TV shows and other video content, adding an entire store where you can buy new content, and even getting a Windows version.
I happen to think Apple got it right. The system for organizing your music and video is slick and elegant, providing you with many options for how you want to organize, and what you want to sync, while remaining easy to use. It's incredibly convenient to access all these types of content from a single, consistent interface. In fact, iTunes could be the ultimate app for superior media playback, if it weren't for one problem: media playback.
iTunes has performance problems. Even on a very fast Mac, it's not unusual for iTunes to freeze up and become unresponsive during playback for well over a minute, causing you to miss out on whatever you were supposed to be watching (or forcing you to rewind it).
iTunes simply can't seem to handle performing multiple tasks at once, so if you browse the iTunes Store or connect an iPod while you're trying to watch something, you can expect to wait several minutes before regaining control of anything. However, even sometimes when I'm just trying to watch video and not do anything else, iTunes sometimes still freezes up here and there, even in some cases where my CPU monitor indicates that there is plenty of CPU time available.
It seems to me that iTunes' threading and scheduler are just plain flawed. Those are slightly technical programming terms, but basically every computer program has to decide how to divide up and prioritize tasks when it's handling multiple things at once, and whatever iTunes is doing in this area just isn't cutting it. Even some seemingly simple tasks, like syncing an iPhone that only needs one or two new files copied over, can take an unbelievably long time.
The Windows version of iTunes tends to be even worse. Not only is it also slow and laggy, but its ability to read and burn CDs is based on a product called GEAR Drivers, using a system that requires a convoluted system of complicated entries to be installed in the Windows registry, which can sometimes conflict with Nero, Roxio, or other programs. If these registry entries become even slightly damaged (which can happen easily if you use a conflicting program), iTunes can lose the ability to burn CDs and may start displaying cryptic error messages telling you to reinstall iTunes (which doesn't actually help). If you really want to fix problems like these, you'll have to dig deep into the registry and attempt to unravel, identify, and correct the errors by hand without damaging settings used by other programs. This process is so cryptic that it's not unheard of for people to ultimately give up and buy a new computer just to get iTunes working again.
Although the Windows version is usually the biggest nightmare, the Mac version has problems with bugginess too. Remember when Apple released a version of iTunes where downloading HD content without simultaneous downloads enabled would automatically delete all of the corresponding SD content? How did that get through Apple's testing process? And how about the version of iTunes that prompted you to log in every time, no matter how many times you checked "Remember My AppleID"? Does iTunes even have a testing process?
Computers can do better than this. Although I hate to admit this, I can run Windows Media Player on my Windows 7 netbook and sometimes get better performance with full-screen video playback than with my high-end MacBook Pro.
In terms of organizing your music according to your own preferences without facing unexpected problems, Windows Media Player is often thought of as the worst program in town. So if the worst program on a slow computer can perform decently, why can't the best program on a fast computer do it?
iTunes, as a whole, is simply too slow and too unreliable. Apple needs to make some improvements in order to let its underlying elegance shine through.
It would be a huge step in the right direction if Apple simply employed GPU acceleration. It uses the CPU for video playback when using the graphics chip in the machine would greatly reduce CPU utilization and improve performance. Even Adobe is getting the idea with Flash video playback and GPU utilization, c'mon Apple!
-------------------- Lisa Gade Editor in Chief, MobileTechReview