I have been a critic of Microsoft ‘products’ for years. I envy their business savvy, but find their programs and especially their operating systems lacking. With that said I do give them credit for at least ‘trying’ to be as compatible with as many users as possible, but that very effort leads to many of the problems I personally experience when using them.
In general, the Microsoft approach is to do things the ‘microsoft way’. This means when they decide to do something, they try to set the trend. The problem is, that more often than not they don’t use enough foresight to possible alternative ways of doing it and they also tend to have to ‘settle’ on a way that is best for the vast majority of users.
You see this when you try to do any customization. There are wizards everywhere – and the wizards try to make complex configuration tasks easier for the non-savvy user. If you do such things the same way every time, it makes supporting things (from a Microsoft perspective) much easier but it makes customizing more and more difficult (from a user perspective). If whatever it is that you want to do is not something the wizard does, you’re SoL. (sure there may be another way to do it, but as more time goes by, they even make getting ‘to’ those other ways more difficult)
Besides the ‘do it our way or the highway’ wizard approach, there is also the matter of ‘reasonable’ ways of doing things. As mentioned, Microsoft does things their way, everyone else be damned. You will follow the Microsoft model! Well guess what, a bad idea is still a bad idea no matter how hard you try to force it down everyone’s throat.
Today, while trying to help someone move files from an old pc running XP to a new pc running Vista, I ran into a couple of prime examples. The first revolves around the fact that the original file share for microsoft networks wasn’t very well thought out (frankly, it was full of security holes). This goes all the way back to how their PCs themselves were set up to be single-user systems. Fine if you are the only user and it’s the only PC in your house – but when multiple people want to use the same machine with their own unique settings and they want to share files across an at-home network with other PCs with their own unique settings, problems occur.
As a result, the single-user environment had to be coerced after the fact. You can’t simply share a folder and gain access to everything in it anymore. When the NT core replaced the old, layered Windows 98 over command.com (DOS) model, things like file ownership, quotes, permissions and passwords were added – but for ease of use and backward compatibility, a single-user configuration (with no passwords and ‘hidden’ permissions) was maintained. No problem until you try to share files across a network – sharing now requires the use of a password without significant work-arounds and the ownership of files disallows you to access some of the files you might want to access.
The other thing I ran into revolves around the specific user settings. Obviously when updating the ‘new’ computer to behave like the ‘old’ one, the user’s specific settings are top priority. The original Microsoft model didn’t really have a great set of standard conventions on how to store program data. You would find some settings for programs under individual .ini files in the windows directory, still others under Program Files, some companies would create seperate sub folder under their program directory for different users, etc.
To address this, microsoft started using specific user directories where their ‘my documents’ and other program specific settings could be stored. Under Windows XP these files could be found under a directory called “Documents & Settings” – seemingly intuitive, but bad bad bad.
Why bad? Well, there are only so many letters in the english language. Computers think in numbers, we think in letters and words. When we create ‘languages’ for the purpose of creating programs, we use various command words that will later be translated (compiled) into numbers the computer understands (machine language). In addition to words, we also use various other common characters to perform specific functions, like using ‘+’ to do addition or ‘-‘ to do subtraction.
Also when using ‘words’ for programming languages we need some simple convention to recognize the ‘space’ between words – well, the most common is… you guessed it, ‘a space’. So to use a name for a folder like “Documents & Folders” not only creates problems from a programming perspective by using white space in the folder name, but also creates problems by using the special character ‘&’.
Coincidentally, the newer versions of windows (Vista in this case) use a folder called “Users” to do this. GREAT! No white space, no special characters – but now everyone has to change to suit this new model that should have been used (and has already been followed in other OS’s) years ago.
Granted with other systems such as various flavors of unix, there is a much bigger learning curve. Responsibility falls on the user to learn these reasons if they want to adhere to reasonable programming and development standards. What a concept eh? Instead of catering to the lowest common denominator, you actually place an expectation upon the user of the device to actually learn a bit about it.
And you wonder why I don’t like the Microsoft model? Nanny computing 101!!! The big hurrah all the business folks cheer about when it comes to Microsoft is that they started the whole shebang in what amounted to someone’s garage. I just wish they would stop writing software that looked like it was programmed in someone’s garage!!