Three reasons why Microsoft can’t ship is a rebuttal of Paul Thurrott’s review of Mac OS X.
Having coded and debugged both platforms (Windows previously at Cyrix/National Semiconductor/AMD) I think the problem lies deeper:
- Backwards compatibility: Microsoft avoids breaking old software. This is difficult because the APIs were poorly thought out to begin with, so programmers worked around them relying on the underlying implementation.
- Lack of a hardware platform: a tongue-in-cheek comment I’ve often heard from engineers at hardware manufacturers is: “if the driver/chip has a bug, who’ll notice it? It’s just another blue screen of death!” Support for multiple platforms makes Microsoft’s task many times more difficult than Apple’s.
- Windows is too big and keeps growing. Windows Vista is allegedly 60 million lines of code, all of them maintained by Microsoft.
Microsoft can’t ship PCs for anti-trust reasons. It could however reduce its backwards compatibility issues by using the second core of x86’s to run a virtual PC containing a copy of whatever old OS was needed to run some old software. Instead the second core improves the user’s perception of performance by running his malware. Similarly Microsoft could offload some less valuable features by adopting open source solutions: I don’t believe they’ll do this because it would be a very painful institutional reversal, and they have the money to avoid it.
Apple avoids these issues:
- Apple doesn’t really mind breaking compatibility: they provide a bridge for a while to help their customers, but then drop it (68000 emulation, Classic environment, Rosetta) so they can move on.
- Apple does not support third party platforms: it works on their computers, and that’s it. It discourages the use of third party extensions such as haxies or plugins
- Much of Mac OS X is open sourced. That means Apple has a much larger pool of developers than simply those they employ.
Apple sells wonderful packaging. It avoids much of the invisible grunt work, and it gets to sell something that is much better than the sum of the pieces that went into it. This is a very good business model: reduced costs, better value.
I personally would have preferred the time Apple used at WWDC to bash Microsoft to have been spent one more Leopard details.
Daniel’s new article contains some interesting tidbits, such as the fact BeOS developers now work at Apple.