This is going to be a quick rant about usability. Recently I noticed that a lot of Windows XP and Vista users get very frustrated with their machine at boot time. This frustration stems from the fact that while their graphical desktop environment is fully loaded , their machine is not ready to be used yet. Let me walk you through a typical windows boot sequence:
1. The BIOS POST sequence:
2. The Windows Logo:
3. Potential Login screen:
4. Windows Desktop
Naturally, the fact that you see the desktop, almost never means you can use it unless you are running a pristine clean windows install that is. And even then, it still takes few seconds before the explorer becomes fully responsive. Most brand new computers come preloaded with a slew of applications that are loaded on startup. These include antivirus suites, search applications, notification services, vendor specific applications and etc. So it usually takes 10-15 seconds (sometimes even up to a minute or two) for all of them to finish loading. It seems that windows designers decided to render the desktop as soon as it was humanely possible to allow impatient users start moving their mouse around and click icons. Unfortunately this is not a perfect choice. While the user gets the control of the machine early, it will act extremely sluggish, unresponsive and in general annoying for the first few minutes of operation. This is extremely frustrating when you are for example trying to quickly boot up your laptop and show someone/print that important document.
I noticed that my Kubuntu machine does not exhibit such behavior. Instead, when I log in it shows me a KDE splash screen with a nice progress dialog which tells me what is being done as I wait:
KDE is not rushing ahead to show me a mostly unusable desktop as soon as it can render it. Rather, it patiently loads up all the components, and allows applications to start initializing themselves. When my graphical desktop pops up, the machine is ready and I can jump right into action. Part of this of course is the inherent division between the core linux OS and the graphical desktop environment that runs on top of it. By the time KDE starts loading, all the system daemons are already loaded and running, the X server has been initialized and the OS is fully operational. With windows this is not always the case. Some applications – especially made by Symantec and McAfee like to take their sweet time hugging the CPU and initializing for a long time after the desktop appears. What are they doing? Are they take all this time to build their unnecessarily flashy GUI’s all this time?
The reverse is also true. If you go nuts, and use exuberant number of KDE based tray applications and desktop widgets that start with the system you may get it to the point where it starts sluggishly just like your average Windows desktop.
I think that a splash screen which would delay displaying of the desktop and say something like “Loading Applications/Components… Please Wait…” and display a progress bar is a great idea – for any OS. I really don’t mind waiting a little longer during startup. How often do I boot my machine anyway? My laptop gets booted on average once a day. My desktop – once every two months maybe. Sometimes less often than that.
That’s just something that popped into my head while I observed users cursing and hitting their laptops while trying to do something really quickly right after rebooting them. To me, waiting for a progress bar is easier on the nerves. It gives the user an idea how long the process will take, allowing him to take a bathroom break, or maybe grab a cup of coffee and let the computer finish what it’s doing. When you show the user a seemingly functional desktop, but remain unresponsive it is almost like you were taunting him. Clueless users are usually not in habit of observing the HD LED or listening to the grinding noise to judge whether or not the boot process was finished as we do. They always try to use it to early, and get angry, annoyed or just roll their eyes with impatience.
But perhaps I’m wrong about this. Feel free to present counter arguments in the comments.
[tags]windows, slplash, kde, post, bios, windows logo, boot sequence[/tags]