I don’t read the consumer technology press much (at all), so I hadn’t heard of this excellent term for all the little pieces of junk software one finds on a new computer until my Dad brought it up. This happened while I was in the middle of trying to remove a bunch of them from a new laptop he had purchased for my Mother. I don’t know if Walt Mossberg coined the term, but he certainly gave it more visibility in a column last year. The symptoms which had brought Mom’s shiny new HP unit to my desk included slow boots, and a strange configuration of nested desktop folders. When I first began examining it I found seven or eight entries in the Startup folder, and another fifteen or so under the various flavors of the RUN key in the registry.
What causes slow boots in a Windows machine? In fairly rare circumstances it can be problems with the registry, page file, disk, or a device. Typically, though, it’s software that has to be loaded at startup. When software is set to run from the Startup folder or the registry it is essentially added to the work that the operating system must do before handing control over to the user, because by definition “startup software” must be running before the system can be considered to be fully up and functional. Of course, a large chunk of the software that we find running at boot is nothing like essential to the function of the system. Thus the term “craplets.”
So which were the culprits in the case of Mom’s new luggable? The usual suspects: update notifiers, system tray monitors, context menu handlers, etc. There was Java’s update checker, and Adobe’s update checker, and HP’s update checker, and Quicken’s update checker. I was glad to see the first two of these on the recent ZD.Net UK list of the most annoying software. Update notifiers are among the worst offenders in my book, simply because there’s no good reason for them at all. Yes, people have a vested interest in knowing when new versions of important software are available, which is why Windows Update is a good, if imperfect, mechanism. But the criticality of the need tracks the criticality of the software, and outside of the operating system most of it just doesn’t qualify.
Do I need a separate process running just to check and make sure that there isn’t a new version of Java available? Or the Adobe PDF reader? Of course not. What’s wrong with checking every so often when the software is run? Many applications do just that (Google Earth, for one example), and the system works great. I can’t help but think that many of the software OEMs that dump these craplets onto new machines are in pursuit of some vaguely positive branded relationship with users, but it’s a misguided pursuit. Users have good branding experiences with software when it helps them get something done, not when it interrupts what they are trying to do with useless information.