Friday, October 19, 2007

The perfect operating system

By now, I truly believe there is no such a thing as a perfect operating system, and there will never be. Let me start by analyzing the lifecycle of successful operating systems. They all start simple and lacking a bunch of cool functionalities and capabilities, but they work fine for what they are supposed to do. Like always, simple things that work attract clients (in this specific case, users). When an OS becomes famous and people all over the world start using it, its developers feel forced to extend the original design, adding more features to satisfy the users' complaints. At this point the OS starts to collapse under its own complexity.

My theory is that the systems become so complex and under the responsibility of so many people that nobody actually takes responsibility for the problems they have. I will try to make it clearer with an example: I am now using a brand new laptop that has both Windows Vista and Linux installed and, believe me, none of the two operating systems works properly. Before you blame it on me, let me say that I have reasons to believe that I am not completely dumb, and I do have some years of experience with both Windows and Linux. Moreover, the problems I am talking about are not very obscure. I am talking about simple things like using Word and Internet Explorer on Windows, and LaTeX, Eclipse, and Firefox on Linux. Yet, Windows is as slow as a turtle trying to walk sideways and hangs every once in a while. Moreover, when it hangs, it does it in such a way that I have to restart the machine twice to make it work again. Linux is faster and more stable, but it does not recognize half of the hardware I have, including simple things like the sound and wireless cards.

Clearly, if the software was simple or few people were involved in the development of the operating system, no end user would ever face these problems. I am assuming developers at least try to use and perform simple tests on the features they implement before shipping the final product. Thus, there is no way they would not notice the problems I just mentioned. However, what I think they do when they notice this sort of problem is to blame on somebody else. With a clean conscience, they avoid solving the problem and concentrate on more features for the next version.

For the users, it remains to wait for the next version, hoping that the current problems will be solved and no other will be crated. Meanwhile, we learn to work around and live with the problems the current OS has. It was always like that, and it will always be.

No comments: