Engineering Windows 7: What we do with a bug report?
blogs.msdn.com
blogs.msdn.com
Nice to see how a large organization handles these kinds of reports, but this part really bothered me:
...one day unexpectedly Word started crashing for people. We hadn’t changed anything. It turned out a new version of a popular add-in released and the crash was happening in the add-in, but of course end-users only saw Word crashing.
Yeah, stupid users. They only saw Word crashing... but wait, Word was crashing. Sounds like there's a bug in the plugin system - just as applications shouldn't crash the OS, plugins shouldn't crash an application.
Hell, GMail warns me about slowdowns when I load it with Firebug is enabled - taking responsibility and acting on a brower add-on which is affecting a web app's user experience seems the wiser way of dealing with issues than blaming the user.
Summary of last part:
Please don't hate us, interwebs. You messed up Vista's PR glory, please don't mess up Windows 7. Did we mention it might be a hardware problem?
Let's suppose that, for reasons of performance and plugin developer convenience, you really want plugins to run in-process. How do you propose to prevent them from crashing the application?
As far as performance, the tradeoff just doesn't seem worth it - sure, interprocess communications have overhead, but at least Word doesn't crash because someone else wrote bad code ;) This seems really obvious once you get your head out of the technology - for a computer user, the crashing of a word processor is probably pretty high on the "worst things that can happen" list. A plugin not working fast enough is really, really low.
Apple has enjoyed the fact less companies target OSX and, assuming the same competent to incompetent developer ratio for both platforms (something risky in itself, because the barriers of entry for Windows are much lower), it would be no surprise if there were less buggy programs for OSX.
Also, OSX is a bit older than the current Windows platforms. Don't forget OSX is a direct evolution of the NeXT operating system and that makes if a good four years older than Windows NT. It also builds on both the Mach microkernel and the BSD more conventional kernel, so, its plumbing is a tad more mature too.
You can't say there's less buggy programs because it's hard to break through. You can say there's less buggy programs because there's less programs in general, which is a much more rational assumption considering you assumed that there's the same ratio for competent to incompetent developers thus making about the same ratio of buggy to polished programs.
However I don't see how Apple's Kernel really is "locked down", I interpret that as a forced cull of functionality for safety or in terms of things like DRM. The only thing I'd consider is the lockdown of the hardware because of forced lack of choice.
Stuff like that is standard to any toolkit. However what you may be talking about is that bullshit they call the Windows directory and Windows Protective Service where it doesn't let you modify it directly but it's easily modified programmatically.