In a previous post, I said (or at least implied) that Mac OS X should not be considered “Unix with a pretty GUI on top.”
But why not, you ask? What’s the big deal? After all, in some ways it’s a pretty accurate technical description.
It’s all about perceptions, and priorities.
Another way of phrasing it would be to say “Unix with a pretty GUI shell.”
In my estimate, a shell is an add-on used for convenience. Shells are interchangeable: the important thing is the underlying functionality. Shells just modify how end users access it.
Software becomes less shell-like the more people use it and develop for it based on the added functionality, or for a combination of the new and base functionality. Windows 95 is (shudder) a good example of this. The real money was and is on Windows apps, not DOS apps.
Software becomes more shell-like when you can discard it at will.
GNOME and KDE are large, complex…shells. Sure, there are some apps that are built on top of GNOME or KDE, but they can be exchanged for others. Linux, and the ability to run Unix applications, is what matters.
When people talk about how wonderful it is that you can run Unix applications, mostly unchanged, on Mac OS X, what they’re saying is that Mac OS X is a really nice Unix shell.
If Apple’s biggest achievement with OS X is attracting lots of Unix developers who think that, then it has failed. Because those developers can, and will, discard OS X at will. And their Unix apps, which will run just as well on cheaper Intel boxes, won’t sell Macs.
In my opinion (and all of this is just my opinion), Apple’s priority should be the applications that will.