September 24, 2005

  • Bad Software Design?

    After hearing about the "Apple philosophy" from Skrud, I have come to
    realize that, at times, Microsoft really sucks in rather stupid ways.
    Consider the explorer, which is pretty much the core of Windows as far
    as user experience is concerned. I have had plenty of bad experience
    with it (i.e. every time I have to do Ctrl+Alt+Delete to see that the
    damn program is not responding). Most of the time, it really is a
    matter of bad implementation, of honest bugs left in the program; and
    the computer either crashes and stops responding. This kind of problem
    is common among many software programs and one should not be too harsh
    on the programmers because debugging is really a tough, tedious, and
    tiring job. Today, however, I am really angry and frustrated. I
    reformatted my laptop's hard disk and reinstalled Windows. Everything
    went pretty smoothly until I started accessing my desktop's hard disk
    through WiFi. I tried to map the shared folders into network drives and
    the laptop started hanging. Not only did Windows Explorer and the Start
    menu stop responding, but other programs also froze. It took me 3 hours
    to realize that the root of the problem was not on my laptop (I would
    have been really pissed off anyway, if that was the case, since I was
    trying to fix my laptop to begin with). It turned out that my desktop's
    wireless network card started delaying and accumulating signals for
    batch transmission as power saving mode was activated. As such, all the
    requests from my laptop were responded very very very very late. As
    soon as I turned off the power saving feature of my desktop's network
    card, everything worked fine again and my laptop came back to life.
    Here's a question I want to ask those software engineers at Microsoft:
    did you design explorer to hang and wait for the network folder
    response single-threadedly? Can't you think of a better design where
    the user of one machine does not have to suffer slow response due to
    the fault of another machine?

    - SwordAngel