Christmas iTunes woes
My brother got an iPod Touch for Christmas, and of course that means iTunes! He had previously not used iTunes, as he didn’t have an ipod and didn’t have a great music collection. So, as the older, techy brother, my job for Christmas morning is to set him up, ready to go…
Just one problem… iTunes was being a total whore. It seemed like it would do nothing but freeze, freeze, freeze. If opened from a desktop / start menu shortcut, it would load up but freeze as soon as you try to play a song, or download from the store.
Through a lot of exhaustive diagnostic effort, involving multiple reinstalls of iTunes, recoveries of iPods, refreshes of music libraries, deletion of downloaded temporary App files… and so on, I discovered a curious fact. ITunes would work much better if it was opened via a mp3 file associated with iTunes. What I mean is, when you install iTunes it will ask if you want to make it the default player for audio files. If you said yes, then double-clicking a music file will open iTunes.
The most bizarre bit was that for some reason, if iTunes was opened using this, it was able to avoid any freezing opening and playing not just that song, but any subsequent songs selected in iTunes itself! The difficulty for tyhis was that the app store downloads still triggered this random freezing, but hey, baby steps. My first mission was to discover why opening a file directly prevented SOME of the freezing.
Here is something I hate about some shortcuts, particularly iTunes. They are not proper shortcuts. They do not conform to my standard, where the shortcut will have properly adjustable “Target”, “Start in” etc fields. The default iTunes shortcuts do not. They are some bullshit nonsense which you might also notice on Office 2007 shortcuts, and are CLSID based shortcuts, or in my own words, needless shortcuts that link not to a file but (from what I understand) more like a execution script, which in turn launches the program.
Totally unnecessary as clearly the program still opens if you run it from program files > itunes. However, running it directly did not solve the problem. My next thought was, well what can be different about running the program via file associations? Normally, some sort of commandline switch, and in the case of songs, a ‘play’ switch so that the file will play immediately upon program launch. By accessing the file associations table, I discovered a commandline switch %L which was evident in any file associations with iTunes. I created a (normal) shortcut to iTunes, and added this commandline switch. Voila – iTunes runs just as normal, doesn’t try to automatically play anything (more than likely due to lack of proper file data being passed through my shortcut) and will play any songs without freezing. Just one problem left. The app store was still causing freezes when downloading a new app, specifically right after the download is complete.
What the hell? What’s the point of a touch if you can’t use the apps? Oh, and downloading them to the Touch directly doesn’t help – iTunes freezes when it tries to retrieve the apps FROM the Touch too. It made no sense. I did a google search and found an irrelevant post (different problem where ticking the ‘sync apps’ box froze iTunes) that had some idiot who suggested that the ‘ipod helper service’ was corrupt and to reinstall iTunes. I know that this little service / pain in the ass has been the root of many problems with iTunes, as has its little brother, the bonjour service. But I had reinstalled iTunes so many times, I knew they weren’t corrupt. However, I remembered something important about these services which (seems to have) helped solve the problem.
I mentioned ‘bonjour’ for a reason. You see, I remember wondering what it was for, and discovering one use is the ‘Home Sharing’ feature. I house-share with other uni mates, so I wanted to use this, but couldn’t get it working at one point because of ZoneAlarm (Free). Seriously, a few years back I was lauding ZoneAlarm to everyone I knew, due to its ability to make people wise up to what was trying to communicate outside their PC whilst not destroying functionality of programs and also not being a huge resource drain. How the times have changed. These days, ZoneAlarm (Free) is a nightmare. It’s slow, buggy, resource-intensive, and due to improvements in home routers and Windows itself, largely unnecessary for home users. I’ve gone from installing it on family and friends’ computers to removing it from the same wherever I find it (same for Avast! / AVG in favour of Microsoft Security Essentials).
It turns out, from what I can tell, some aspect of ZoneAlarm was disrupting the ipod helper service, or iTunes, or whatever. I don’t much care – closing ZoneAlarm cured EVERY problem in iTunes. Swiftly uninstalling ZoneAlarm cured these permanently.
Dunno if this would occur on Vista and 7 too, or 64bit. No reason why not. The moral of this story is to get rid of that piece of trash called ZoneAlarm. It is definately past its sell-by date now in 2010. To be honest, Windows Firewall + a decent router is completely adequate protection against malicious inbound packets. As for outbound programs, I suggest tighter control over your software, via antivirus / malware programs (Microsoft Security Essentials really is an excellent, low-footprint, FREE choice!) and just good browsing habits.