And, dammit, stability matters. It doesn't matter how "advanced" an OS is, if it can't keep from crashing every week.
Well, the "63,000 bugs in Win2K" is rather silly. Half of those 'issues' are feature-requests, which don't count as real bugs in my books. The majority of the remainder are relatively insignificant. Ultimately, Win2K is not unstable.
But then,
is stability really important?? We are talking about using these OSes for regular desktop operations. We're not talking about mission-critical servers here. In the context of the desktop, is the average user willing to give up application support, hardware support, a standardized GUI, years of experience etc. to save himself from one crash every day or week?
Personally, I'll take unix-like user security and account management over NT any day. In fact, NT's is a mess in these respects!
Again, the same argument persists. Is this level of security and kernel flexibility really relevant to anyone but server admins and low-level developers? NT has sufficient security for any desktop user.
I don't wish to appear pro-Microsoft, anti-Linux. I am all for open-source. However, the realities of this world are that no one, other than server admins and programmers, should really consider Linux as an alternative right now. In fact, I really doubt that this will change much in the future.
...in the sense that anyone can try and design their own GUI, and the best man wins
This sort of democratic system, as you call it, sounds good on paper but fails in practice. I personally think the philosopher kings model for UI design is wiser.
In my mind, a UI design must satisfy 3 requirements to be successful:
-
consistent (local and global)
-
intuitive
-
cohesive
Consistent UI is obvious. Local consistency on a single computer under a single OS is simple enough, but this consistency should be available globally. If I use a single Macintosh, I know how to use any Macintosh, whereas a user who is proficient in KDE may not be so in Gnome (or any other window manager). This balkanization of a single OS is destructive and counterproductive.
Intuitive UIs are essential. However, as I briefly mentioned in my previous post, a balkanized UI means that UI conventions differ subtly between implementations. Application designers must compromise and produce a global design which satifies nothing. This makes the design less intuitive by destroying local consistency.
Cohesiveness, in terms of the interoperability of UI elements is also essential. The entire 'user experience' must be properly designed and understood. The evolutionary design of a UI means that small, unanticipated changes will slowly accumulate (much like mutations in a gene), corrupting the original vision untill you have something so absurd that it needs to be redone entirely. (Windows is a perfect example of this).
A UI is more than just a collection of widgets. The user experience matters more so than any incremental gains made at the expense of overall consistency to enhance productivity.
Apple is the only company in the industry who understands this sort of notion.
Form defines function, not the opposite.