I've been wanting to write this one for a while, but continually got sidetracked, but there's no time like the present...
Many others (I'm too lazy to chase down references) have commented on the phenomenon known as "bloatware" (also known as "craplets" or "shovelware").
I'm not going to talk about them, too much has been written about them by others already.
Instead I want to talk about applets in general. These are the "little" helper processes that software seems to leave lying around after installation. These are a particular pet peeve of mine, I'm well known inside MS (or at least within the Windows division) as being rather fanatical about them, and fighting tooth and nail (sometimes successfully) to get them removed. I don't know how many times I've asked: "Why does your product (or feature) have all this crap running (where 'crap' is defined as 'stuff I don't want running on my machine')?"
Applets come in lots of sizes and shapes - they can be services waiting on an app to use them; they can be processes that handle systray icons; they can be helper applications. But they share one common: they all consume resources, sometimes LOTs of resources. And I would rather that these applets NOT consume resources.
Nowadays, machines come with a fair amount of resources - my current dev machine is a dual 2.4g Core2Duo 6600 with 2G of RAM and a reasonable amount of disk space (750G on 3 drives), but Vsta runs on machines that are far less capable (before it died, my laptop was a P2 with 512M of RAM and it ran Vista Ultimate just fine (no glass, but other than that it worked well)). On such a machine, every single unnecessary process can be painful.
The Windows team has known that this has been an issue for years, and has built in a ton of features into the operating system to help alleviate the pain and suffering associated with applets (some of which have been there since NT 3.1), but the reality is that nobody takes advantage of this functionality, and that's a real shame.
In a potentially futile attempt at trying to inspire people to improve our customers' experiences, I'm going to dedicate this week to writing posts about applets and how developers can fix them.
Btw: I want to be totally clear here: Microsoft is just as guilty as others in this arena.
Tomorrow: Why do people write applets?
> Windows needs a central update scheduler.
I second this motion. At the moment I have different background software from Apple, Sun, HP, and Microsoft all doing the same thing--pinging servers and looking for updates. Add to that all the apps like Firefox and Fiddler that try to poll for updates while they are running. None of that activity is coordinated.
The Linux package managers have a really good way of doing this; very few apps on Linux feel compelled to roll their own update scheme.
Thirded. A centralized update system for third-party software would be wonderful.
One thing I do actually like about Vista is the way Windows Update seems to have been folded back into the OS where it belongs. I hate having to install a new update control just to find out I need to reboot as part of a Windows Update Update. Barring major bugs or security holes, these things should be well-understood enough to not require constant updates just to list the available updates.
Looking forward to more information! My favourite bloatware: Java and everything from Adobe.
Larry let me help you a bit :)
My rules for writing craplets:
1. DON'T WRITE THEM
2. SEE RULE #1
My rules for writing applets:
1. THE COMPUTER IS MINE, NEVER FORGET THAT
2. NEVER STEAL THE FOCUS FROM THE FOREGROUND APP
3. NEVER USE MORE THAN 5% OF (CPU|RAM|HDD|NET|GPU) BANDWIDTH WITHOUT ASKING
4. NEVER RESTART WITHOUT ASKING
5. DO NOT POLL, REGISTER FOR NOTIFICATIONS
That would be it, mostly.
Perhaps a definition of craplets is required?
> the WU folks know how to do updates in an unobtrusive manner.
Does that mean they know how to not pop up every 5 minutes reminding you that 5 minutes have passed since the previous time that you said you're not ready yet to close all your apps and reboot? Do you mean they know how to not steal focus every 5 minutes? Do you mean they know how to not steal a keystroke that you thought you were typing into Visual Studio or Outlook Express? And if the keystroke tells WU to do a reboot without saving your source code or e-mail message then they know how to not do that reboot and they know how to not lose your work?
Yes? Good, that is excellent news, thank you. The WU folks know how to do updates in an unobtrusive manner.
Now please, pretty please, can you persuade the WU folks to USE their knowledge?
As I've mentioned , applets can be a plague on your system. The annoying thing is that it's possible
I hope some of the big names will listen to you.
My current pet peeve crapware is Acrobat Reader:
- it seems to run some "fast load" startup application (removed manually)
- I had to explicitly tell it to not show up inside Internet Explorer (why on Earth would I want to embedd it?)
- ...an action which has rewarded me with "ok, then that means you want me to maximize the reader window when IE launches a .pdf file!" (I have a 30" monitor, a maximized Acrobat Reader does not put me into a good mood)
- upgrade Acrobat and repeat above procedures again and again
I am also impressed by ATI's crapalyst control center that can be launched from the notification bar. ...except it takes an eternity for the poor bugger to launch! (on a core2duo with a reasonably fast SATA drive)
You know the CIAs, KGBs and MI5s of this world are underfounded when the guys (and they are mostly guys) producing such software hasn't been taken out in the desert and shot a long time ago.
"You know the CIAs, KGBs and MI5s of this world are underfounded when the guys (and they are mostly guys) producing such software hasn't been taken out in the desert and shot a long time ago."
Quoted For Truth.
Norman, I recently run WU in Vista, it downloaded 50MB of NVIDIA drivers (which I told him to do because it was optional). It was non-intrusive except that the screen has gone blank for a few seconds after the download completed. Video driver got installed without a reboot. You can postpone installation for 4 hours if I remember correctly.
Modern PCs don't have all that many spare resources. 32 bit OSes are limited to 3GB max RAM, and my Vista box was regularly swapping (to the point of unusability) with only 2GB RAM. And even now it frequently hits the ~40000 max handle limit.
> I'm not aware of ANY applets that are pushed via WU.
WGA was a pretty bad one. It consumed resources, did absolutely nothing for the benefit of the user and used techniques commonly used by spyware to ensure that the user did not successfully terminate the wgatray.exe process.
I've never seen WGA install a WGATray program, are you sure about it? Possibly this is because I don't run pirated versions of Windows (or machines with false positives).
You can get false positives from MSDN (with WGA on XP). Hmm wait, you're in Microsoft, so maybe this needs correction. Outside of Microsoft, one can get false positives from MSDN.
Somewhere I took a screenshot of a false half-positive in Vista too.
sc stop wuaserv
When you reboot at a timing of your choice, wuaserv will run again. But I prefer to install updates just before I reboot since when running with things half installed I sometimes get strange behaviour that goes away after reboot and install finishes.
The thing that I find annoying about WGA is that if you go to windows update and say don't install WGA and never show it again, it comes back into the list of critical updates the next time a change is made. If I said I don't want WGA craplet installed, and I don't want to see it in the list again ever. With the current behaviour I would never set the 'automatically install updates' option (even if there wasn't the issue of strange behaviour between install and reboot). The 'critical updates' list that gets installed automatically should ONLY be bugfixes for security, not craplets or other things being pushed down. Someone was complaining in another blog entry about itunes' update trying to foist quicktime on people during update -- I consider installing new programs/applets in the list of critical updates to be almost exactly the same thing (and therefor also extremely annoying!)
I'm with Norman on this one (for once). I can guarantee that I have the best "WU screwed me over" story: new XP install, overnight partitioning operation of existing data, automatic updates turned on (oops)...
Yeah, so evidently, WU decided, "hey if the user doesn't answer me when I bug them whether or not to restart the computer, I guess any open apps are irrelevant so I will just do it anyway." Hooray, my partition became totally scrambled!
Thanks a lot for nearly causing 200 GB of data to be lost, thanks for causing me to need to spend $50 for a data recovery program that could actually successfully untangle the mess that was created - it was a partition move operation, moving the 200 gb partition down 10 gb, and so there were 2 partition entries now, the original and the new one, but the move was not completed (that the "resume" functionality of the partitioning software didn't work is another bit of grief, btw). Two copies of every file, but one of each was corrupt and the other not. That was fun to sift through.
Thanks a lot WU team! I hate your guts. IMO the machine should NEVER be restarted without explicit confirmation. And as Norman pointed out, thanks for nagging me without giving me the option "I'll restart when I'm good and ready, dammit."
Needless to say I never keep AU on anymore (notify only).