2008-03-11

All my autostart spam

Windows users often complain about their slow systems - especially the boot process requires more and more time during a lifetime of a Windows installation. Most users are blaming Windows - and therefore Microsoft - for their slow Windows which is not totally wrong. But in this case there are more than one culprit which is the major problem:
I don't know why, but programmers of current Windows software must think that the only successful software is a software that installs at least one tray-icon or two background services that are automatically started at Windows startup. Those programs are in my slang "Autostart Spammer". The list of companies selling or distributing "Autostart Spammer" programs looks like the who-is-who of the software industry, just some examples:
  • Microsoft (Office speed-up)

  • Apple (iTunes installs two autostart background services)

  • Sun (Java update checker)

  • Adobe (Adobe Reader speed-up and Distiller tray icon)

  • Real Networks (RealPlayer)

  • Cyberlink (PowerDVD)

  • ...

If you have all of those programs installed you should not be surprised that Windows boot process requires much more time as necessary. Of course there are various counteractive measures known against "Austostart Spammer": MSConfig or AutoRuns and several other "Autostart cleaner tools". But in my opinion this is just reducing the symptoms instead of "cutting the root of all evil":
Using the already present features of Windows that makes "Autostart Spamming" unnecessary.

Therefore, all developers please keep in mind the following simple rules:

  1. Using speed-up processes is bad programming style. If program loading takes too much time optimize and tidy-up your program

  2. All Update checker should use the task planner instead of own processes

  3. Background services that are only needed by a certain program that is not running all the time when Windows is running should be set to "start type: manual". A service should only be started when needed - meaning not prior to the program that uses it. A well designed program should check if the necessary service is running and if not start it. Most developers will now argue that a standard Windows user can not start services, that requires administrative permissions - but this is just an excuse. Similar to file-system objects, permissions for Windows services can be configured. This unknown to most windows users and developers as Microsoft does not provide any GUI or command-line tool for editing (as far as I know). But there is a third party tool that allows setting permissions for windows services: SCAcl.exe.
    Therefore when installing a service it is no problem setting the access permissions so that every simple user can start that particular service (please note that we are only talking about starting, stopping and configuring is a different topic).


Robert

No comments: