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?
Re:why does your phone need software running on yo (Score:5, Informative)
The service runs in the background and launches iTunes when the phone is plugged in. It's quite handy.
Re:why does your phone need software running on yo (Score:5, Informative)
You can use the SC in the command line to enable the service when you need it and disable it when you don't using a BAT file.
(sc config servicenamehere start= disable)
Just saying... and thanks for the head up on Rainmeter
Re:why does your phone need software running on yo (Score:5, Funny)
You can use the SC in the command line to enable the service when you need it and disable it when you don't using a BAT file. (sc config servicenamehere start= disable)
Well, clearly this will never be the year of the windows desktop until users never have to interact with the commandline for anything. They should scrap entirely in fact because users should never need it.
Re:why does your phone need software running on yo (Score:5, Interesting)
Re:why does your phone need software running on yo (Score:4, Informative)
Since when do you need to sync with a computer at all? Since iOS 5, there's absolutely no functionality on the iPhone that can't be done with the phone only, and no computer.
Re: (Score:3)
I need to sync to a computer because that's where all my media lives. No iPhone is big enough to hold my library. Plus, that's where my phone backups live since iCloud isn't big enough.
Re: (Score:3)
Your media can be downloaded as required via iCloud.
Re: (Score:3)
Oddly, Apple already stores the media on their servers, something about running a shop or other ;).
Long story short, media does not count towards your quota, you can just redownload from the store at any moment.
Re:why does your phone need software running on yo (Score:5, Informative)
You can only download matched media, or purchased media. Anyone who rips a significant portion of their library would require match to do this (pay account), and upload it before they could leverage cloud playback on demand.
As to your CPU issue it appears to be related to winsock.
Re: (Score:3)
Re:why does your phone need software running on yo (Score:5, Informative)
The service runs in the background and launches iTunes when the phone is plugged in. It's quite handy.
That feature is built into Windows (at least Vista+). A user can decide which action to take when a specific device is plugged in; no extra services required.
Re:why does your phone need software running on yo (Score:5, Interesting)
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: (Score:3, Insightful)
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 stall.
I think you might have some slightly off standards for fast: no stutters and stalls on a PC in 2013 is the absolute baseline. My ancient netbook (PIII 900, which was stare of the art 12 or 13 years ago) can play 720p video without halts, stalls and stutters.
"Incredibly fast" actually sounds more like "not incredibly awful".
Disclaimer: I've never used itunes, this is based purely
Re: (Score:3)
Re:why does your phone need software running on yo (Score:4, Insightful)
iTunes replaces quite a few standard Windows services. Until a few versions ago there was a DNS resolver service, but I think it has been built into the client now. Yeah, iTunes does its own DNS lookups for some reason.
The entire MacOS font rendering system is also in there to make sure that iTunes looks exactly the same on Mac and Windows. That's why the font rendering is a bit blurred compared to other apps that use the Windows Cleartype system that prioritizes clarity over accurate shapes.
Re: (Score:3)
iTunes replaces quite a few standard Windows services. Until a few versions ago there was a DNS resolver service, but I think it has been built into the client now. Yeah, iTunes does its own DNS lookups for some reason.
Presumably you mean mDNSResponder.exe - ie multicast DNS / bonjour which is used to discover other iTunes libraries on your network.
Re:why does your phone need software running on yo (Score:5, Informative)
You know that mDNS /is/ a standard for network discovery, right? http://tools.ietf.org/html/rfc3927 [ietf.org]
Microsoft is listed in the RFC, but haven't bothered to implement, as they bet on the uPNP horse with WinXP way back when.
Re: (Score:3)
Perhaps you should blame the right one, which is Microsoft?
THE STANDARD for discovery of network resources IS mDNS / Bonjour. For some reason Microsoft does not support this standard natively.
Re: why does your phone need software running on y (Score:3)
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: (Score:3)
Re:Itunes, not even remotely good. (Score:5, Informative)
Higher voltage? I thought it was just higher current.
No it could actually be higher voltage, 5V (or 5.25) compared to 4.8 or something like that.
Nah, it's higher current (AMPs). Both you computer USB port and the iPad USB charger put out 5V. If it's higher than that, it can blow out circuits etc. I've had enough experience to say that the wrong voltage kills
From the USB Wiki, a device (plugged into a computer) may draw a maximum of 5 unit loads (500 mA) from a port in USB 2.0; 6 (900 mA) in USB 3.0. The charger, however, puts out about 2.1 AMPs.
Re:why does your phone need software running on yo (Score:5, Informative)
I don't actually use Windows, but I do take care of it for others.
Hold down that little Windows key on your keyboard and hit "R". Type in "MSConfig", in the startup section enable/disable whatever you want. I personally like to disable just about anything Adobe, Apple, or Oracle puts in there, unless I actually need to run an Oracle component in the background. Those three companies can't help but attention whore and run on startup and none of there stuff actually needs to run until used. You can probably find a few more things that have no business starting with your machine while you're at it.
Re: (Score:3)
Dont tell people to use msconfig, it will bug them with an annoying popup box on subsequent boots, and most people will never check the "dont bug me again" button because its poorly worded.
I suppose it works in a pinch, but theres a number of better ways, and the compmgmt MMC is a lot better, and less likely to tempt the user into pressing something tragic like "safe boot" which would probably break a lot of their programs.
Re:why does your phone need software running on yo (Score:5, Informative)
You misunderstood the "just click an icon" comment. It was in response to:
The service runs in the background and launches iTunes when the phone is plugged in. It's quite handy.
The comment was actually saying that all the service did was to save you from having to manually launch iTunes; or in other words click an icon. It was not about how to start or stop a service in Windows (which can be done with a single icon anyway using either sc.exe or net.exe).
The iTunes service really isn't that handy a feature, especially if it is causing problems with overuse of resources when it isn't in use. It is also annoying to have the program pop up when you are just plugging in the phone to charge it.
Re: (Score:3)
Badum!!!
Re: (Score:3)
Why would windows explorer need to support playlists? doesn't the phone itself have that ability?
This concept of having to have a special app to do ANYTHING on your phone is ridiculous and reminds me of the state of computing more than 10 years ago. These days I expect to be able to plug in any device to any computer and simply drag and drop, no software install required. There are standards for a reason.
Re: (Score:2)
I'm surprised that nobody makes a replacement application. I remember virtually having to buy one for my NJ3 years back because the OEM software was so bad.
Re:why does your phone need software running on yo (Score:4, Informative)
Re:why does your phone need software running on yo (Score:5, Informative)
Litigation is somewhat of an issue when dealing with Apple's hardware/software and reverse engineering.
Reverse engineering is legal in the US. Any information gleaned from such activities that doesn't violate a patent, an NDA, or copyright / DMCA can be publicly disclosed with impunity. Reverse engineering for the purposes of interoperability is also well supported by prior case law.
Re:why does your phone need software running on yo (Score:5, Insightful)
That something is legal won't stop a company from suing and using court costs - both money and time - as a de facto punishment.
Re: (Score:3)
As patents are public by nature, disclosing information you learn by reverse engineering can not violate a patent. Building something using that information however, can.
Copyright is also not an issue as long as you do not redistribute anyting - learning how stuff works is not a copyright related issue. You may analyse how itunes stores its information, for example, and even write something that can read/write that format, and you won't break any copyright laws in the process.
NDA not sure: if you learn in y
Re: (Score:3)
Re: (Score:3)
Re:why does your phone need software running on yo (Score:5, Informative)
I'm surprised that nobody makes a replacement application. I remember virtually having to buy one for my NJ3 years back because the OEM software was so bad.
If memory serves, older flavors of ipod where more or less equivalent USB mass storage devices, though they required media files to be stored in a specific arrangement and a little database file to be uploaded, so you needed a utility of one sort or another to do transfers(you could drag and drop; but the device wouldn't do anything useful with files added that way).
For the iDevices that Apple actually cares about(ie. not the 'classic') the situation is a bit weirder and more complex: it's strongly resembles TCP-over-USB [theiphonewiki.com]. On top of that, all kinds of behavior [libimobiledevice.org] has been implemented. As the latter link suggests, there has been some work on the matter; but it's a relatively complex beast(which Apple has no particular compunction about changing as it suits them).
Re:why does your phone need software running on yo (Score:5, Funny)
It's kinda sad that the extremely sophisticated design of that communication isn't really there to facilitate advanced functions... it just facilitates advanced lockdown. You don't tell the device what to do; you tell it what you'd like, and then ask if that's okay. Given that, I applaud The Evad3rs for making iOS devices bend to their owners' will.
Re:why does your phone need software running on yo (Score:4, Insightful)
Even back in the mass storage days they started to encrypt the iTunes database in an attempt to lock non-iTunes software out. They really are dicks about it.
Re:why does your phone need software running on yo (Score:5, Funny)
That's SIGKILL yourself in shame.
Re:why does your phone need software running on yo (Score:5, Insightful)
Re: (Score:3)
If you just want to copy files to a device, why on earth would you need ANY special software?
Re:No iTunes for the Windows Store (Score:5, Informative)
Of course this means Microsoft's puppet press has to bash iTunes now. Not that I would run the stupid app, but that's what this is about. Ballmer has his knickers in a twist because he's starting to find out what it felt like to all those other people he was locking out of the dominant platform back in the day when he was king of the hill.
I do not work for Microsoft and as an owner of an iPod, which requires iTunes to transfer music from my computer onto the device, I can tell you that the Windows version of iTunes is probably the shittiest piece of software ever written.
Re:No iTunes for the Windows Store (Score:5, Funny)
I can tell you that the Windows version of iTunes is probably the shittiest piece of software ever written.
Then you haven not used FileMaker, the VB 6 IDE, or any VB 6 app.
Re:No iTunes for the Windows Store (Score:4, Funny)
Re:No iTunes for the Windows Store (Score:4, Funny)
As somebody who uses VB6 daily
You've already disqualified yourself.
Re: (Score:3, Informative)
I do not work for Microsoft and as an owner of an iPod, which requires iTunes to transfer music from my computer onto the device, I can tell you that the Windows version of iTunes is probably the shittiest piece of software ever written.
I actually thought that iTunes was just absolutely awful because it was iTunes. And then I got a Mac.
Turns out that iTunes (while it's still a feature-overpacked piece of trash) is really only this terrible on Windows. On OS X, it just sucks because it's crowded and confusing, but it does run pretty well.
Re: (Score:3)
Well, I had the misfortune of owning a Zune, and an iPod at the same time. I think it's safe to say that the two apps were roughly equivalent in the height of fecal matter that they were equivalent to. Of course, that was a few (!) years ago...
Re: (Score:3)
Well, I had the misfortune of owning a Zune, and an iPod at the same time.
With so many good mp3 players on the market, why on earth would you do that to yourself? I'll forgive someone who bought the marketting hype and bought one of those, but to have bought both... You might want to seek counselling!
Re: (Score:3)
Lotus Notes.
I win!
Re: (Score:3)
Unless your computer is positively antediluvian(HLT as a powersaving feature was pretty cool in 1994), even a process running at 'obsequiously deferential' priority is still keeping your computer active when it should be idle. Less of a problem on a properly cooled desktop, considerably more annoying if you are running on batteries...
Re:why does your phone need software running on yo (Score:5, Informative)
I'm pretty sure that it is real CPU load. It is caused by a conflict with some network filtering software [apple.com] (e.g. antivirus software, content filtering software, etc.). Try updating the relevant software.
Where's my mod points when I need them? (Score:3, Informative)
Parent is the most informative post in this entire topic.
Re:Where's my mod points when I need them? (Score:5, Informative)
Yep - and NOD32 is even on Apple's list of software that has issues with iTunes...
Re: (Score:3)
If I read this correctly, the bug is still entirely on Apple's side as it chews CPU whenever any program using that API is running.
Re: (Score:3)
If I read this correctly, the bug is still entirely on Apple's side as it chews CPU whenever any program using that API is running.
If that was true then why would it by fixed by installing an update to the other winsock LSP?
My guess is the other program was not implementing their LSP in full conformance to the API.
...someone who has no idea how an iphone works (Score:5, Informative)
The iPhone does not show up as a SBP2 device on the USB bus, so therefore Windows cannot format it and will not ask to format it. In fact, if you hook it up to Windows 7, it loads a Microsoft driver that exposes a DCIM folder for you to peruse as a normal disk. On Windows XP, it shows up as a "Scanner or Camera" device, again, without having iTunes installed.
iTunes may suck, but don't make shit up.
Re: (Score:3)
What are you using iTunes for? (Score:2, Interesting)
I haven't attached my iPhone to my PC in months.
Re:What are you using iTunes for? (Score:5, Funny)
Clearly the problem is that he's using Windows. If he's bought an iPhone, then the next step is to buy an iMac to plug the iPhone into, and then a new iPhone, because his old iPhone won't work with his new iMac. Also a black turtle neck. And a picture, "Steve Jobs 1955 - 2011" for his wall.
Personally I don't buy iCrap. I have a picture of Dennis Ritchie on my wall, and underneath, his widely celebrated comment: Steve Jobs is a cunt*.
* This is not an actual comment by Dennis Ritchie**.
** To my knowledge.
Re:What are you using iTunes for? (Score:4, Informative)
Only if you purchased it from Apple. If you want to sync your local music collection to your iPhone you still need to use iTunes sadly.
Re: (Score:3)
The only time I connect an iOS device to my computer is when I need to update iOS itself - and, even then, it's only necessary because I jailbreak my devices. My apps, my music, and my files can all be downloaded from iCloud.
This is probably Apple's aim - the easier it is to connect to their servers, and the harder it is to connect to your computer, the better. You're almost their ideal customer.
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.
Re: (Score:2, Insightful)
Assuming that a user will have a mouse for using windows isn't a huge mistake to be fair...
Re:I tried to install iTunes on Windows once. (Score:4, Insightful)
Yeah, accessibility is for losers!
Re:I tried to install iTunes on Windows once. (Score:5, Informative)
To ensure that your program's functionality is easily available to the widest range of users, including those who have disabilities and impairments, all interactive user interface (UI) elements must be keyboard accessible. Generally, this means that the most commonly used UI elements are accessible using a single access key or key combination, whereas less frequently used elements may require additional tab or arrow key navigation. For these users, comprehensiveness is more important than consistency.
Re: (Score:3)
It's their Windows development team, they're just fucking incompetent.
When they released Safari for Windows it was the most god awful piece of software I've ever had the misfortune to use. It's user interface was non-standard and made no sense, it crashed every few seconds and it was slow as fuck. It's the sort of trainwreck of a piece of software I'd expect from someone writing their first ever application using C++ without knowing the first thing about pointers and so forth, it was just horrible.
I'd wager
Get Rid of iTunes! (Score:3, Funny)
And replace it with the Rainmeter skin that plays MP3s.
iTunes (Score:3, Funny)
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."
The reason is two-fold. First, iTunes scans your folders for new files periodically if you don't let it manage your collection for you. Second, it's constantly searching for an iDevice using the 'mobile' service; All that CPU is being eaten making windows calls to each attached USB bus and being asked "Are we there yet? Are we there yet? Are we there yet?" And then, of course, launching iTunes as soon as one is detected. You can disable this service with no ill-effect, but you have to do it manually. iTunes will then throw up a warning and then continue on its merry. That, by the way, is also on the Apple message boards.
Now yes, Apple shouldn't have done this without telling its users: Hey, enabling this is gonna slow your junk down! -- But on the flip, Microsoft's hardware abstraction layer is a terrible, horrible, implimentation that makes every access from userspace terribly expensive. And worse? Some of the documentation specifically says they want it that way! On purpose! Everytime I have to work with HAL I'm filled with a strong urge to strip all my clothes off, burn them, then take a cold shower while shivering up in the corner, scrubbing my skin raw, chanting "must...wash...away...the sin..."
I guess what I'm saying is... Shame on both of them. Now if you'll excuse me, I have another shower to take.
Re: (Score:3)
Basically, I don't like complicated code, and my brain has been spoiled with Fortran. I write:
somelabel: if(something_happened() process_it(); usleep(100000); goto somelabel;
As a result, I have a latency too short to be noticed, and also the process eats almost no processor time when idle. If the Microsoft or Apple programmers cannot just do the same (I don't imagine that they have no more sophisticated methods for dealing with external events) - I wonder why they don't stand with "WILL WRITE WINDOWS PROGRA
Re:iTunes (Score:4, Insightful)
somelabel: if(something_happened() process_it(); usleep(100000); goto somelabel;
As a result, I have a latency too short to be noticed, and also the process eats almost no processor time when idle.
100,000 microseconds (aka 0.1 seconds) is too short to be noticed? Maybe for some very lightweight tasks, but for many (most?) computer tasks, 0.1 seconds is a huge amount of latency. If, for example, your hard disk controller was programmed using this logic, your computer would take several hours to boot. Even writing a mouse driver this way would provide a poor user experience (10Hz mouse pointer updates)
A much better event loop would be:
somelabel: if(something_happened() process_it(); wait_until_next_event_is_ready(); goto somelabel;
This would have close to zero latency, and would eat precisely zero processor time when idle. Of course the trick is implementing wait_until_next_event_is_ready() to do what its name implies, but it's really not that hard to do in most cases.
Re: (Score:3)
somelabel: if(something_happened() process_it(); wait_until_next_event_is_ready(); goto somelabel;
This would have close to zero latency, and would eat precisely zero processor time when idle.
Still bad. You are tying up precious resources such as processes, threads and memory. In general it is better to:
1. Register for events, e.g by filling a jump table and register it with the OS. Each item in the jump table represents a well-known function such as "device arrived", "system goes to battery power", "device removed" or "system shutting down".
2. return and relinquish any resources such as process, threads, memory, handles.
3. When a routine is invoked by the OS then perform the function as quick
select() (Score:3)
wait_until_next_LOTS_OF_events_are_ ready() is quite a complicated procedure. You would still either poll, or run a lot of threads which wait for their personal events.
That or build a list of events to wait for and pass that to the operating system. I forget: is that called select() or WaitForMultipleEvents()?
Re: (Score:3)
Not that iTunes has not always been annoying. One reason I stopped acquiring Apple video content, even after they stored it online for me, is that iTunes is the worst video player on the planet. And I am including WinDVD.
That said, as been mentioned, iTunes sucks and should only be used sparingly. With the past few versions of iPhone
Re:iTunes (Score:5, Insightful)
But on the flip, Microsoft's hardware abstraction layer is a terrible, horrible, implimentation that makes every access from userspace terribly expensive.
And worse? Some of the documentation specifically says they want it that way! On purpose!
Citation needed.
Windows actually has a rather sophisticated driver model which allows many drivers to be implemented in user mode or at least be divided so that big parts can run in user mode. This improves both stability and security. A relevant type of drivers in this context is bus drivers, specifically bus drivers for USB. These drivers will discover new devices on the USB bus *regardless* of their make, capability etc. The bus driver til inform *your* driver when a device arrives. No need to scan or poll for devices. If you do it right you can just sit there and wait to be informed. No need to poll, no need to even tie up a thread in waiting state.
That is all in the documentation:
Types of WDM Drivers [microsoft.com]
Function drivers [microsoft.com]
An example [microsoft.com]
So which part of the documentation did you read?
Everytime I have to work with HAL I'm filled with a strong urge to strip all my clothes off, burn them, then take a cold shower while shivering up in the corner, scrubbing my skin raw, chanting "must...wash...away...the sin..."
Maybe you should find another line of work?
Re: (Score:3)
"The reason is two-fold."
Neither of the reasons you give justify anything close to 50% of CPU usage on a system within iTunes' minimum requirements and there's no reason to really continuously poll given that Windows can raise events when a device is attached anyway.
Re: (Score:3)
Windows has an API for hooking into file system events. If iTunes is scanning the hard drive except on startup, then it's because Apple has shitty engineers. Same with USB. Why don't Windows focused apps that do the same thing have no performance problem?
I'm a Linux/Android user, but you just seem like an Apple fanboy.
Re:iTunes (Score:4, Informative)
I'm not sure why he mentioned NTFS. I believe the Windows file modified event is sent for any changes on any disk type, even on remote NFS mounts, that are done by a process on the local machine that is using the Windows api to create files. If it is limited to NTFS then Microsoft is completely bonkers.
Re:Why is parent modded funny instead of informati (Score:4, Informative)
(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.
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.
Re: (Score:3)
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().
AddDevice routine [microsoft.com] is used by device drivers to be notified when their device arrives at the bus (e.g. an USB bus).
But if you read the documentation for the RegisterDeviceNotification function [microsoft.com] carefully, you should notice this:
Re: (Score:3)
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().
AddDevice routine [microsoft.com] is used by device drivers to be notified when their device arrives at the bus (e.g. an USB bus).
Insufficient. I don't WANT to have to install a damn device driver to handle a general class of devices. This is the Microsoft model, and it is flawed. I want to write a program in userspace which gets notified when devices arrive, and then it goes out and sniffs their butt to see if it's a device I can claim, and if it is, then I claim it by opening it as a raw USB device and handle the device specific communications protocols in userspace. This is the Mac OS X / Linux / BSD model.
The benefits of this
Re:iTunes (Score:5, Informative)
You still have not told us where Microsoft recommends polling, as per your claim:
And worse? Some of the documentation specifically says they want it that way! On purpose!
[HAL] it's a nightmare of convoluted and badly-documented objects and methods. I won't go as far as to say whoever decided to go with polling instead of event-driven made a great design choice, but I can understand how, after days and days of pouring over bad documentation, he decided it was either ritualistic suicide or go with the better-documented interface...
Windows device driver development has an entire site devoted to it [microsoft.com]. In there there is architectural guides, tools, development kits, samples, articles, process guidelines and best-practices. I really don't know what you'd expect? Would the source code be better documentation and provide better guidance?
but I can understand how, after days and days of pouring over bad documentation, he decided it was either ritualistic suicide or go with the better-documented interface...
I can't
1. iPhone connects over USB. Which means that Windows already has a bus driver in place which will notity the PnP manager about device arrivals on the USB bus. What one would need to create is probably a Function Driver [microsoft.com]. If iPhone used some standard protocol one could probably do with a built-in driver, but I suspect that some proprietary protocol are at work - so therefore a function driver.
2. The PnP manager will activate and notify the function driver upon device arrival. It will do so through the AddDevice message [microsoft.com].
3. From the looks of it, what the iPhone requires is probably aptly covered by a user mode driver [microsoft.com]. Which flies in the face of your previous assertion that
Microsoft's hardware abstraction layer is a terrible, horrible, implimentation that makes every access from userspace terribly expensive
What exactly is it you feel is not documented? What is the documentation you are missing? You did download the Windows Driver Kit [microsoft.com], right?
Still waiting for citation for Microsoft recommendation of polling...
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.
Re:Purposeful (Score:5, Informative)
Re: (Score:3)
Must be to compete with Microsoft. Their Office for Mac is a piece of junk
Absolutely it is. Office on a low end PC is OK and the interface is usable. Office on a Mac takes forever just to start, takes forever to save, always seems to be converting something to something else and just generally gets in the way. It's just terrible stuff.
Obvious Conspiracy is Obvious (Score:3)
Crapping up Windows PCs helps perpetuate the myth that Macs are inherently faster/better.
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.
Sell your iPhone. (Score:4, Informative)
A similar google service on my MacBook causes the keyboard to stutter every few hours and occasionally disables the camera until I reboot. There's a way to disable it, but I haven't bothered yet. However, the process is incredibly similar to this one [apple.com] for disabling applemobiledeviceservice on Windows.
Mac users don't complain because iTunes on Mac doesn't have this problem, or much of any problem that I've noticed. This is either because Apple doesn't know how or care to code for Windows, or because it's a conspiracy to get iPhone and iTunes users to buy Macs because "Windows is slow." In my opinion, it's probably a mixture. Apple just doesn't have as much incentive to provide a good Windows experience, so they don't bother, knowing that this will probably convert a few suckers to Mac.
Similarly, Google services don't seem to screw up Windows or Linux, and Google's MTP support for Mac (MTP is required for Nexus 4) is ridiculously minimal. It's an analogous situation. Vendors for system X don't care about system Y, news at 11.
The solution seems simple. Sell your iPhone to a Mac user, and buy an Android device. Why would you even buy an iPhone for Windows? I use a Mac and I still won't buy one.
Re: (Score:3)
Actually, Android's implementation of MTP is crap. It BARELY works. Hell, on Windows I can easily screw it up if I try to open a folder before it finishes enumerating.
One of our developers actually worked on the Mac trying to get Android to work better (via OSX FUSE).
iTunes slows down my PC (Score:5, Informative)
1 Answer:
- First of all, you can charge your iPhone without having iTunes loaded/loading (see this [superuser.com]).
- Then, many users don't have such problem: be sure you have the latest windows SP, and the latest iTunes.
Possible duplicate from Prevent iTunes from starting when iPhone is plugged in on Windows [superuser.com]
This just in: iTunes is shit (Score:5, Insightful)
iTunes is shit. It has always been shit. It will probably always be shit.
This is not news.
Companies think they own my machine (Score:5, Insightful)
The last few updates from Apple have this hidden MRT process that goes made for hours after the upgrade. But the MRT gives no hint that it is installing, and no hint that it is running. Your machine grinds to a halt so you slowly bring up the list of active services and find that it is using all your CPU and that of your neighbor plus so much memory that it is worse than the viruses that it is hunting.
I wish that people would have an OS that has a simple sandbox keeping software installation tools from installing whatever they want. Then when I run Office or iTunes or even my AV it will then run. When I shut it down it will stop. The same for drivers. When I go to print it should run the driver and then go away.
But another critical tool that could be created right now would be to have an activity monitor that differentiates vital services from crap from Acer or HP. With this tool you would bring up a list of services running and not only kill them now but disable them for all time. No more kill the service only to have some daemon pop it back up seconds later. I don't want to go digging through any config/startup/hidden file nonsense.
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: (Score:3)
I wish that people would have an OS that has a simple sandbox keeping software installation tools from installing whatever they want.
Hear that sound? It's a thousand LINUX users struggling to type fast enough on the keyboard.
Temp Files (Score:3, Insightful)
Windows ITunes is not just slow; it leaves gigantic *.tmp files in your Itunes folder, especially if you have a large library. Go ahead..check it out. I freed up over 60 gigabytes of space by deleting them recently, and I think they are created everytime you load ITunes.
Ill-informed author (Score:5, Insightful)
I stopped reading when I got to the bit about how his virus scanner was written in assembly for speed. This is a ridiculous assertion given that virus scanners slow the system down because of IO pressure, not to mention how good modern x86 compilers are.
Odd complaint (Score:3)
Go look in your iMirror; the root cause is the reflection.
This isn't news, this is just someone ranting... (Score:3)
Re: (Score:3)