Folks are well aware that I’m not exactly a screaming Microsoft advocate. While I concede they’ve done more to advance and stabilize the concept of ‘Computers for Everyone’ than virtually any other manufacturer (save perhaps Apple), they’ve done so in such a poor, disorganized, and ruthless fashion, it’s resulted in a global environment that is virtually impossible to be productive in without spending enormous amounts of time and money on licensing, virus protection, system tuning, configuration, and security auditing.
I offer as evidence, dear readers, my experience trying to set up my son’s computer this afternoon. It’s installed with a (licensed!) copy of Windows 2000, running on an AMD Duron 850mghz machine with 512meg of RAM. No slouch is this machine, and the goal today was simply to get it to the point where he could run his Reader Rabbit game.
What follows is a Rant. Read at your own risk.
First step was security updates. This required connecting the machine to the net (if we were not behind a firewall, this may have resulted in the machine being p0wn3d within 15 minutes). Fortunately, I had already invested in a cable router / firewall, and configured it to not allow unwanted traffic on the internal net. So far so good.
Running Windows Update took another 15 minutes of running, downloading, rebooting, and running to make sure it was up to patch levels necessary. Windows Update. Don’t leave your net without it!
Here’s where it gets fun. The goal of this exercise was to get a game working, right? Well, games require sound. When I started up the machine, no sound. “Hm, no sound” sez I, always the observant one. “Start->Settings->Control panel->Sounds” “Play that sound please” Huh. The ‘play’ button is not available. I’ll note at no point did this machine say “By the way, I failed to initialize the sound board you have in your machine.” – it’s just happily sitting there not making sound.
Alllrighty. Fine. Having a teensy bit of experience on Windows, I knew that the next step was to go to the device manager and see what’s up. Well, there in the list was “Multimedia Audio Device” with a big ? next to it. Obviously the failed initialization of a device. Wonderful. I guess I should examine that device, find out what it is, and see what can be done to get it started.
Nothing. Did you know that ther’es no way to get this WORLD CLASS, SERVER LEVEL, EXPENSIVE platform to simply say “The card is an Xxx model Yyy PCI device”. All the Properties, all the dialogs, simply said “Error code mumble”. No other information.
Well that’s just DANDY. So I have a card in my machine that nothing will identify, that the wonderful OS I have won’t initialize, and I have no idea where to find a DRIVER for it, because I don’t know what CARD it is. What, should I open up the machine and LOOK AT IT? No, there’s got to be a better way.
Well, there isn’t really, except for one small note. Since this wonderful OS is incapable of telling me what hardware it’s running on, I have to download a third party app (SCARY! Downloaded applications may contain viruses! You shouldn’t download things off the Internet unless they’re from Microsoft, remember??) from Belarc that generates a system profile for me. Why couldn’t Windows do this? Who knows. I give as a counter-example the command included with every Linux machine on the planet, ‘lspci’ (List out the PCI devices). Very simple, very easy, and gives me:
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03) 0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) 0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01) 0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01) 0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01) 0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01) 0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81) 0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01) 0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01) 0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01) 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01) 0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02) 0000:02:00.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01) 0000:02:00.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01) 0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet Controller (Mobile) (rev 03) 0000:02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
Simple! There’s my audio board, with a model number and manufacturer. Unfortunately, this is my laptop, running Linux. Back to my son’s machine.
Running the Belarc tool said “You have no audio board.” – Outstanding. How handy. But it did point out that I have a SiS-730 motherboard, and I knew (by careful examination of where the speakers were plugged in), that I was trying to use the audio system on that motherboard. Great! Now I just need that ‘driver’.
I’ll note for the record that a ‘driver’ in Microsoft land is the ONLY way to make a device work. If you have a device, you need a ‘driver’ for it. No matter that many of the drivers are identical to each other, they just have the hardware signature of a specific device, if you don’t have that specific ‘driver’, you can’t use that device.
So off I go looking for the driver for the audio board on this motherboard.
Go ahead, I dare you to try this with google. Google is FILLED with ‘devicedriver.com’ and ‘windows_devicedriver.com’ sites that just revel in slurping in the masses to download a driver for your card that Windows requires. Of the 10 I clicked on first, 9 of them a) had the wrong driver, and b) only someone who was really watching carefully would know that this was the case, and c) all of them asked for money to download said driver. A driver, I might add, that was available for free on the correct manufacturers website (in this case ECS in Taiwan). What the hell is up with this? Thank you Microsoft for making such an IDIOTIC driver mechanism for their top of the line platform (that still, by the way, runs a huge percentage of the computers on the ‘net at large).
So, I finally figure out that this driver needs to be installed. I install it, (oh, drivers are in ZIP form. Need a free application as well – download winzip, etc etc etc). Driver installs, reboot. No audio board. No sound. Driver is in, but it doesn’t work. Great, I must have a broken driver or card. But.. Hmm. This is plug and play. What happens if I remove the driver, remove the settings for it in system properties, then scan for new hardware, and select my driver dir as the new driver? *fiddlefiddlefiddle* Reboot (AGAIN), VOILA! I have sound! Saints be praised.
What do we learn from this exercise? First of all, I acknowledge this is an ‘old’ platform. Windows 2000 came out almost 5 years ago, and there must be some allowances. But also consider this – I’m running on old hardware, on common configurations, not on ‘cutting edge’ technology. PnP was old hat in 2000. I cannot IMAGINE the common user trying to do this on their own. It boggles the mind.
I have had similar experiences with all versions of Microsoft’s applications. Obscurity and obfuscation for no reason at all, and just plain bad design. Windows XP fixed many of these problems, but it introduces many of it’s own, and the core problems are still untouched (without extraordinary precautions, your machine WILL be infected by a virus or a trojan if you do not pay for other services, such as a firewall, virus scanning, etc etc. – and the vast majority of users out in the world will NOT bother with anything more than running ‘windows update’ on occasion, when they think about it.
The normal response to this, and an understandalbe one is, “Well, if you’re using a computer, you should be aware of these things.” Yes, absolutely. But Microsoft has been pushing their OS and their platform on everything with a pulse. They’ve flooded the world with computers whose purpose now seems to be running spam zombies and DOS servers. Microsoft takes no responsibility for this, even though the complete lack of system security in their design was pointed out YEARS ago, they continue to produce software and push it into the public without a though to the impact it is having on the computing experience.
The second response usually is “Well, Linux is no better! Try getting sound to run on THAT!”. A valid argument in the narrow confines of comparing what it takes to get sound working on Linux compared to what it takes to get sound running on Windows. But the context of this particular rant isn’t “Is linux better than windows”. The context is “Is Microsoft taking its role as the leading provider of desktop systems seriously, or is it doing the minimal work necessary to sell the maximum number of licenses?” I shan’t comment further on the obvious conclusion to that question
As it is now, partially due to Microsoft’s reckless handlig of it’s position of responsibility, the Internet is a vast wasteland of spam, worthless Google-seeding sites, and compromised machines owned by networks of unscrupulous geek-thugs who think nothing of sending out 50 million spams off a cluster of stolen computers, or bringing down a useful site because someone on said site holds a differing viewpoint than theirs.
As for me, I’ll continue deleting the spam piling up in my inbox (hundreds and hundreds and hundreds a day), knowing that the Windows machines in the world are doing what they do best. Provide a fertile ground for viruses, spammers, and other opportunists, while lining Microsofts pockets with billions of dollars in profits.