The Unix Carapace

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.

2 comments

  1. Dan Shiovitz

    I think this is all correct, but there are a few major advantages to working with the shell as a separate thing from the core OS. Namely, stability — it’s easier to make the core rock-solid if it’s separate because GUI stuff is inherently flakier — and scriptability — putting everything in a GUI makes people think about applications in a particular way that doesn’t lend itself nicely to automating applications, or chaining them together. Whether this is a big deal or not depends on your marketing plan, but if Apple wants to, eg, push OS X as a thing to run servers on, it’ll have to keep these two front and center.

  2. Nat Irons

    We’re into the realm of marketing and semantics, but I think pitting Mac OS X’s dual natures against each other is a false dichotomy. 95+% of Mac owners are no more likely to compile their own software than to perform exploratory surgery on the family dog. Mac OS X is simultaneously well-suited for many big unix weenies. Bravo.

    [–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.–]

    I agree. However, all the folks for whom that is Mac OS X’s main selling point are not sufficiently numerous to sell out a Star Wars matinee. They’re not a fifth column, they’re just marginal Powerbook sales.

    [–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.–]

    Does anyone say that’s Apple’s biggest achievement? Or that it’s even in the top twenty?

    Just as a bilingual person doesn’t have to worry about uncontrollably fusing vocabularies and syntax, developers know that speaking unix to Mac users would lead to incomprehension. It hasn’t happened, and it’s unlikely to happen. Meanwhile, the existence of Darwin-compatible software like Subversion is pure upside.