iTunes: Still Slowing Down Windows PCs After All These Years 519
colinneagle sends this quote from an article at NetworkWorld:
"I run a very nifty desktop utility called Rainmeter on my PC that I heartily recommend to anyone who wants to keep an eye on their system. One of its main features is it has skins that can monitor your system activity. Thanks to my numerous meters, I see all CPU, disk, memory and network activity in real time. the C: drive meter. It is a circle split down the middle, with the right half lighting up to indicate a read and the left half lighting up for write activity. The C: drive was flashing a fair amount of activity considering I had nothing loaded save Outlook and Word, plus a few background apps. At the time, I didn't have a Rainmeter skin that lists the top processes by CPU and memory. So instead, I went into the Task Manager, and under Performance selected the Resource Monitor. Under the Processes tab, the culprit showed its face immediately: AppleMobileDeviceService.exe. It was consuming a ridiculous amount of threads and CPU cycles. The only way to turn it off is to go into Windows Services and turn off the service. There's just one problem. I use an iPhone. I can't disable it. But doing so for a little while dropped the CPU meters to nothing. So I now have more motivation to migrate to a new phone beyond just having one with a larger screen. This problem has been known for years. AppleMobileDeviceService.exe has been in iTunes since version 7.3. People complained on the Apple boards more than two years ago that it was consuming up to 50% of CPU cycles, and thus far it's as bad as it always has been. Mind you, Mac users aren't complaining. Just Windows users."
why does your phone need software running on your (Score:5, Interesting)
Sorry, can someone explain to a Linux/Android guy how having an iPhone implies you can't kill misbehaving software on your Windows box?
What are you using iTunes for? (Score:2, Interesting)
I haven't attached my iPhone to my PC in months.
I tried to install iTunes on Windows once. (Score:4, Interesting)
I tried to use iTunes once, but I couldn't complete the installations because a required entry drop down list wasn't in the dialog tab order, and I didn't have a mouse available, just a keyboard at that time.
Their graphics/design guys are good, but Apple developers/testers just seem lazy to me, missing something so basic.
Purposeful (Score:3, Interesting)
Sometimes I swear Apple makes the Windows versions of their software terrible on purpose. It's still an uphill battle trying to use any of their software on a windows machine, as it always has been.
Why?
Obviously when you're using their amazing iPhone or iPad or whatever other tacky Apple gadget, you'll start to feel that your PC isn't up to par and you should replace it with a Mac.
Total rubbish. People should avoid buying trashy Apple products at all costs, lest they support this fiefdom.
full disclosure: I have used Linux exclusively for the past 13 years. I only have to interact with Apple and Microsoft's junk when I have to sync my wife's iPad with her PC.
iTunes is crappiest software ever (Score:5, Interesting)
Steve Jobs death I believe was because his accusation of accusing Flash as being crappy software while iTunes remained by far the worse POS ever written, literally guilted Mr. Jobs to death.
Seriously though...I've never wasted more time than I have with iTunes. Never had any app cause my system to become unresponsive more. I would wager $5,000 Apple deliberately chose to make for a sucky experience on Windows.
Re:why does your phone need software running on yo (Score:2, Interesting)
It doesn't. The author seems to be under the mistaken belief that you need iTunes if you have an iPhone. The iPhone hasn't needed a PC running iTunes to sync with for years. Assuming iTunes is misbehaving (which wouldn't surprise me, though the summary's author doesn't actually provide any evidence stating what resources were being used, merely anecdotes of bugs reported on forums), simply uninstall it and never deal with it again. Or, if you "must" deal with it to manage your music library, just don't set it up to sync with your iPhone and shut down the service. Easy.
Re:Companies think they own my machine (Score:4, Interesting)
Have you tried out Sandboxie [sandboxie.com]? It does pretty much what you're describing.
Re:why does your phone need software running on yo (Score:5, Interesting)
Itunes, not even remotely good. (Score:3, Interesting)
The service runs in the background and launches iTunes when the phone is plugged in. It's quite handy.
That's your opinion. I always found it to be incredibly annoying, as it launches that shitty app every time you plug it in. You can't charge your Ipad without firing off ITunes.
Yet another example of Apple's holier than thou concept of design: "We know better than you do, about how you want to use our products."
Re:why does your phone need software running on yo (Score:5, Interesting)
I looked at my computer, and while it's had an uptime of probably since April's patch tuesday, that service has consumed a grand total of... 1m53s of CPU time.
He never mentions what version of iTunes he's using - perhaps it's still 10.x, which is horrible. iTunes 11 has actually fixed a LOT of stuff and is actually pretty decent and more importantly, fast. It's incredible how fast iTunes is nowadays. I'm not sure what Apple did, but damn it's fixed a lot of stutters, halts, and stalls.
Re:why does your phone need software running on yo (Score:5, Interesting)
Your APIs are insufficient to OUR problems (Score:5, Interesting)
(3) The Windows APIs for device arrival notification suck and require polling rather than blocking a thread to wait
Thanks so much for sharing your knowledge. I'll call up our software engineers immediately and let them know that processing a DBT_DEVICEARRIVAL message in the message pump, or using RegisterDeviceNotification() in our service, can't possibly work and we should re-write those sections of code to poll for device change.
I have mod points, but there's no "-1 - ignorant" mod.
You do that.
Tell them to make a version of DBT_DEVICEARRIVAL that doesn't require you to have a window handle to get the callback to the message pump so that you don't have to poll using PeekMessage(). The notifications need to be able to go to windowless services. If they can't go to windowless services running and paused in the background, they are no good for causing the launching of a specific program when a device of a specific type arrives.
Then tell them that RegisterDeviceNotification() is useless for detecting new iPod/iPhone/iPad devices because it require matching a GUID that has not been defined at the time that the service was written, and that having to update the service by having to update iTunes each time you buy a new device before the plugged in device is recognized as launching iTunes because you don't get a broadcast notification in that case, which you can then use to open up the device temporarily to probe it further ("Hi, USB device, are you an Apple Device?") rather than using a stinking GUID.
Then call up the IronKey and other encrypted USB storage device folks and tell them about it, too, because, hey, they have to do a crypto handshake and need to be able to aske the same question AFTER the handshake.
Then you can call up Motorola, and tell them so they can update their PhoneTools Software, because they have the same problem.
Then call the DataPilot folks, who have no idea in heck what the phone GUID would be when you plug in your stupid random phone, particularly if you are using their DataPilot Universal PRO Kit, which connect up to almost all the phones from Apple, Motorola, LG, Samsung, Sanyo,
Sony Ericsson, and Audiovox.
I have more concrete examples, but I think you get the point.
This is a general problem. The current Microsoft APIs do not solve this general problem; they require either an open application window, or they require a service which polls. They are insufficient. If you can indeed call up your engineers, do so. Tell them the problem space their APIs are not solving, and request they fix the existing APIs or add new ones to address the problem.