Bits from Bill

Technology thoughts leaking from the brain of "Bill Pytlovany"

Wednesday, August 22, 2007

Let's Talk About Startup Applets and Services

The only thing I hate more than programs that auto-update without permission are programs that automatically start without getting your ok. One of our new friends, Larry Osterman wrote a multiple part series describing his thoughts on the topic. As a Windows programmer for Microsoft Larry has some real insight on how and why startup applets and many services exist.

If you’re interested, especially if you’re a programmer, the links to each topic are below. You’ll also want to read the comments and replies to comments on each topic.

1) It's my computer, dagnabbit, not yours!

“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.”

2) Why do people write applets?

“Generally, applets seem to fall into several rough categories:
Notification Area Handlers
Helper applications

3) So why are applets so bad, anyway?

“Updaters often to run all the time, even though they're only actually doing work once a day (or once a month). That means that they consume resources all the time that they're active.”

4) Applet Mitigations

“Think about how to reduce the applets impact on the user. Reduce the DLL load in your applet whenever possible - each DLL you load consumes a minimum of 4 private pages (16K on x86) and takes between 500K and 1M cycles to load.”

5) Applet Mitigations – Updaters

“…use the task scheduler functionality built into Windows to schedule your updater. The task scheduler is a remarkably flexible mechanism for scheduling periodic operations. “

6) Applet Mitigations – Notification Area Handlers

“…some notification area handlers are quite well thought out and provide easy access to useful information or commonly accessed functionality (the volume, clock, taskmgr, "safely remove hardware" and RSS Bandit are ones come to mind). Some have questionable value (the network and outlook handlers come to mind), some just don't seem to make sense at all (Quicktime and handlers like the various display driver and printer control panel notification area handlers)”

7) Applet Mitigations - Services
"...seriously consider how much time you spend in your service's start routine. The less time the better (especially if you're an auto-start service). The less work you can do before reporting that your service has started to the service controller, the faster the system will boot. "

Labels: , , , ,

Share on Facebook


Post a Comment

<< Home