Sunday, 19 October 2008

Why "instant-on" boot modes are a wrong design philosophy?

There was much of a stir amongst our interwebs how next generation of windows (windows 7) will have a boot mode which will start in under 8 seconds. In this mode you can do only some very basic stuff. So if you want to do anything else, you'll need to boot the full OS. At first glance that sounds great. But if you have any dose of common sense left, you'll understand how that is nothing but marketing hype and propaganda.

Lets first consider why microsoft even considered adding a special mode to it's next windows. This is just a marketing move in my opinion. Operating systems of my past were somewhat fast to boot up. Dos was fast, windows 3.1 was necessary slower because it needed to load dos first, then windows 95-98 were starting to get really slow to boot up. Windows xp is fast to boot on modern machines, but give it a few months after installation and install some programs (even very light ones) and even by keeping startup programs very minimal startup takes a very long time. Add windows vista to the fray which is very bloated and you can almost take a lunch before OS is ready to be used, even on relatively fast computers. People in the very recent past and present started to complain about the boot times. Linux community responded with Splashtop, a very basic Linux OS which boots in just a few seconds. Dell and some other manufacturer (Toshiba?) already have their specially cut down windows versions for very basic things (music, movies, internet etc). But this time Microsoft responded (probably pressed by the Vista flop) by testing the market with a survey in which one of the possible features of the Windows 7 would be a special "instant-on" boot mode.

So after I created the setting, and introduced you with the past and present let me present you with my own view on this matter. It may seem that my view on this matter is trivial and common knowledge, but this certainly isn't the case when I first suggested it. I will now just copy/paste my post from slashdot discussion because there is no point in retyping it again. You can see the croatian version here.

Let me get this as simple as possible:

1. Having a fast booting OS is good in any case.

2. Having a special fast-boot mode is useless.

Let me give you an example.

Take a normal mobile phone. I can press two buttons and the phone is ready to be used. Does anyone on this planet cares how fast a mobile phone boots its OS? Pretty much nobody cares if the phone boots in 15, 30, or 60 seconds. They boot it once a day at most. I can't even remember when was the last time I rebooted mine.

Can you already see where I'm going with this? I got only few words:

Suspend/hibernation/hybrid sleep.

I already wrote a post similar to this. Take my macbook (or pretty much any other computer) for example. I can't even remember when was the last time I (re)booted it. Consequentially, I don't even care how fast it boots. I just close the lid when I'm done with my work and the computer goes to hybrid sleep. When I want to resume with my work, I just open the lid and the computer is *instantly* ready to accept my input.

This is just like a mobile phone. But even better! As the mobile phone does drain the battery slowly, computer actually doesn't (if it is hibernated).

So to finish with my post. Of course it is good for a OS to boot fast. But in my view this isn't one of it's main features. Instead they should really be working on improving suspend/resume mechanic on desktop and laptop computers. Too many brand new laptops dont' resume when I open their lids. I usually have to press their power button to resume. And sometimes, they don't resume at all. So instead of doing a whole another windows mode, they should instead focusing on better suspend/resume support.

I still can see like 98% of windows users and 90% of mac users regularly shut down their laptops/desktops. One can consider this a bad habit from the "good old times". Modern computer architecture really should be making great suspend/resume architecture.

Have something to comment, expand, criticize, feel free to use the comments. That means a lot to me.

PS: If something boots in 8 seconds it cannot be called instant-on, it should be called fast-on.

No comments: