The following may not come in 1998 but certainly within the next few years- 1. The availability of large, fast and cheap hard drives and faster CPUs has allowed programming entities to allow swollen, inefficient code to flourish. Examination of the code finds not only inefficient subroutines, but many which, believe it or not, are never called and are therefore totally superfluous. The development of newer, many featured high level languages has contributed to this in no small way. This is not to diminish in any way some of the more brilliant programming coups that some have devised, but they are in the minority.
Users are now so inured to the needlessly long bootup process that noone finds fault with it.
In fact, however, desktops should boot up to precisely the same program and memory content that was present on shutdown. If CMOS or other types of memory chips are needed for this then so be it. Time is money, as you must surely be aware. A special loading program by which programs to be executed, be they 1k or 20m can be encoded into a snippet of code as small as 100 bytes. No, I am not high on anything.