It surprises how so many simply disbelieve what Isaacson has written because, in their heart of hearts, they can't believe it's true. Denial, or do they actually have personal insight into Jobs?
There has been a lot of vilification of Isaacson's book, much of it seeming to draw ire because it presents Jobs as a mere human.
It's pretty clear from the second-to-last paragraph that Gruber understands that Jobs was a fallible human being. The criticisms in this post revolve around Isaacson's handling of technical accuracy, and Isaacson's repeated implication that design and engineering are two adversarial ideas.
Gruber managed to do that without offering much evidence to the contrary.
Do Apple engineers and Designers really work side by side? Or is it just that Apple prioritise design over engineering.
So rather than the engineers throwing a brick over the fence and saying "Designers, make it look good" it's designers throwing a sleek brick over the fence and saying "Engineers, make it work."
The antennae-gate was a REAL problem, that Apple changed it's design for (in the 4S)... Can we really accept there is no tension in Apple over these things (As Gruber is suggesting)?
Regardless whether it's a design or engineering problem. It is pretty clear evidence there is tension between the teams (design and engineering). Which is the opposite of what Gruber is arguing.
Mostly the same, Volume/Silent switch are a little bit higher. And the steel rim now has more breaks in it (which was apparently a cause of the reception problems, when your finger went over the only break)
It's pretty clear from the second-to-last paragraph that Gruber understands that Jobs was a fallible human being.
Gruber concedes an inch to take a mile. It's a tactic as old as time and it's hardly surprising that he uses it here.
However it is the volume of the book dedicated to humanizing Jobs that turned many of Jobs greatest fans against Isaacson. As Gruber says "Isaacson got the self-absorbed hypocritical asshole right, but the world is full of self-absorbed hypocritical assholes."
Anyone with even a passing familiarity with Mac OS X (and iOS) history and internals knows that Gates' (and therefore the book's) claim that NeXT technology wasn't the basis of OS X is laughably false.
In fact I think Gruber himself continued to understate the role NeXT technology played. Gruber writes:
> It is in fact, completely and utterly wrong.
> NeXTStep was not “just warmed over UNIX”.
> Apple did get NeXT’s OS to run on Mac hardware.
> Mac OS X 10.0 was a hybrid of Mac and NeXT
> technology, but it was clearly the NeXT system
> with Mac technologies integrated, not the
> other way around.
Gruber should have gone further and pointed out that Mac OS X wasn't even a hybrid, but rather the latest iteration of NeXT technology combined with new code that reimplemented the Mac experience. The modest quantity of ported or migrated Mac technology (e.g. the Carbon APIs) existed purely to form a compatibility layer with existing Mac apps, and don't form the basis of any future development path.
It would be also fair to say that iOS does not have any legacy "Mac" technology in its stack, and shares its spiritual lineage with NeXT alone.
> The modest quantity of ported or migrated Mac technology (e.g. the Carbon APIs) existed purely to form a compatibility layer with existing Mac apps, and don't form the basis of any future development path.
I dunno. Post-Rhapsody, Apple worked hard to unify Carbon and Cocoa to provide a consistent user experience across applications. IIRC, in a surprising number of cases, the way unification was achieved was to make the Cocoa element be little more than a compatibility layer on top of Carbon. For example, I believe the save and open panels, print and page layout panels, and various dialog APIs worked this way.
It seems to me that if Carbon was viewed as a dead-end from the get-go, embedding it in many cases under Cocoa was a funny way of demonstrating that.
Carbon was a big project, and wasn't modest by any standard. Again IIRC, Apple rewrote the entire Finder in Carbon (and not in Cocoa) in order to test the Carbon library for bugs. Other things came from the Mac while their NeXTSTEP equivalents were abandoned: for example, UFS was blown away and replaced with HFS+. Quicktime was ported, as were 3D facilities and game APIs. NeXT's Soundkit was deprecated in favor of stuff for OS 9. Java, up through 1.3.x at any rate, came from OS 9. I think the font facility, always an ugliness in NeXTSTEP, was replaced with Apple's (including support for OpenType etc.). I think your depiction of this stuff as "modest" is not particularly accurate.
So anyway, Isaacson's depiction of OS X as being basically Mac technologies with a little NeXTSTEP kernel is ridiculous. But don't make the same mistake in the other direction.
IIRC, Apple rewrote the entire Finder in Carbon (and not
in Cocoa) in order to test the Carbon library for bugs.
This may well be true, but my own suspicion is that it had as much to do with Apple having hundreds of core system developers already familiar with the C++ APIs, and a limited timeframe to get Mac OS X released. Either way, both assertions point to Carbon being a compromise choice.
UFS was blown away and replaced with HFS+
In order to maintain compatibility. And it wasn't just ported code -- HFS+ support was rewritten from the ground up as a UNIX file system. Surprisingly, the result wasn't a delicate hack, and the fact that we're still using it today (on iOS too!) speaks to the engineering capability of Apple. (And NeXT, since it's all one big family now.)
Quicktime was ported
QuickTime was also ported to Windows.
as were 3D facilities and game APIs
In order to maintain compatibility. The recommended way to write games on Mac OS X has always been the OpenGL APIs, and you can hardly describe OpenGL as a legacy Mac technology.
Java, up through 1.3.x at any rate, came from OS 9
Java came from Sun. I have no knowledge of how Java was implemented in Mac OS X, but to the extent that any platform-specific or processor-specific hooks were lifted from the OS 9 distribution, that's hardly a Mac "technology".
I think the font facility, always an ugliness in
NeXTSTEP, was replaced with Apple's
Font handling in Mac OS X is part of Quartz, a new technology developed for OS X. Not only was it not taken from OS 9, the whole technology direction was abandoned. (Remember QuickDraw GX?)
There are a whole lot of factual errors here, or at least conclusions kind of pulled out of thin air. To wit:
> This may well be true, but my own suspicion is that it had as much to do with Apple having hundreds of core system developers already familiar with the C++ APIs, and a limited timeframe to get Mac OS X released.
Actually, NeXT already had a perfectly cromulent Cocoa-based "Finder", called the Workspace Manager. This was the program used in NeXTSTEP and later in Rhapsody. Apple threw it away and replaced it with a Carbon Finder built in-house. They were quite specific as to the reason: to guarantee that Carbon was bullet-proof, Apple built the Finder "to eat their own dog food" (though he didn't originate the term at Apple, I think Steve started using it too).
> [regarding UFS] In order to maintain compatibility. And it wasn't just ported code -- HFS+ support was rewritten from the ground up as a UNIX file system. Surprisingly, the result wasn't a delicate hack, and the fact that we're still using it today (on iOS too!) speaks to the engineering capability of Apple. (And NeXT, since it's all one big family now.)
It wasn't just compatibility. Though it was case-preserving :-(, HFS+ had some big advantages over UFS. It supported Unicode. It supported metadata. It supported soft links which were preserved in removable media. It had much better networked file support. And so on.
Also: IIRC HFS+ wasn't rewritten from the ground up. Apple already long had a version of it running on UNIX systems they had developed in-house.
> Quicktime was also ported to Windows.
The point is, NeXT already had a multimedia, sound, and (limited) video system. It was famous for its sound system in particular. But (Carbon) Quicktime was better. So they used it instead.
> In order to maintain compatibility. The recommended way to write games on Mac OS X has always been the OpenGL APIs, and you can hardly describe OpenGL as a legacy Mac technology.
You absolutely can! Porting OpenGL involves a huge number of low-level ties to the operating system. NeXT had its own 3D facilities as well (OpenGL under NeXTSTEP, and Display Renderman), which were entirely tossed out in favor of the "legacy" OS 9 version.
> Java came from Sun.
On early OS X, the bulk of the Java facility came from Apple. Sun didn't support the Java port at all. NeXTSTEP, or more properly OpenStep, had a Java port from Sun which was entirely replaced with the OS 9 Java version.
> Font handling in Mac OS X is part of Quartz, a new technology developed for OS X.
Not correct. Font and typographic engine technology was derived from ATSUI, Apple's advanced typography system. And why wouldn't they? It was the best in the world.
Look, I don't dispute, by any stretch, the notion that the crucial parts of OS X were NeXTSTEP. I'm a NeXTSTEP guy! But your dismissal of Carbon and OS 9 technologies that found their way into OS X is both overly casual and in many cases simply false. To this day OS X still has a huge number of OS 9 technologies embedded in it not because of compatibility, or just because of compatibility, but because they were the best technology. Apple's not stupid.
"It was famous for its sound system in particular."
I don't recall it being a big deal after the black hardware and their DSPs were killed.
"NeXT had its own 3D facilities as well (OpenGL under NeXTSTEP, and Display Renderman), which were entirely tossed out in favor of the "legacy" OS 9 version."
I don't recall NeXT ever having OpenGL. And Display Renderman pretty much lost to OpenGL in the 90s, so that wasn't about to be resurrected.
" NeXTSTEP, or more properly OpenStep, had a Java port from Sun"
As I wrote one of the more popular sound editors as an undergraduate (Resound), them's fightin' words. SoundKit was still quite good, even if MusicKit sorta died with the DSP.
I think I'm mistaken about OpenGL, my memory is fuzzy. As to Java: what I was thinking of was OPENSTEP/NT and NEO both supporting Java (WebObjects had Java as early as '97), but I believe it was never released on NeXTSTEP. I guess that doesn't count.
I do miss Renderman on the desktop. Maybe not very practical, just really cool.
When I was contracting at Swiss Bank in Chicago in 1994, I noticed an HP on the network running NeXTSTEP. I telnet'ed to it from the NeXTStation on my desk, and ran some renders to see how much faster it was. Got a stern email saying "Stop doing that.".
The entire article is Gruber hand-picking Jobs quotes that serve his vision of Jobs, and discounting the quotes that Isaacson picked -- or holding them as misunderstandings/misinterpretations -- because they don't conform with Gruber's opinion. Gruber has commented on Isaacson's book numerous times with incredible disdain (because, Gruber thinks, it misrepresents Jobs), so this is just a continuation of that theme.
But it's not about the quotes at all, except insofar as the quotes that Isaacson chose leave the reader with an impression that is simply wrong. The Bill Gates quote about the NeXT acquisition stuck out for me, too.
Are you disagreeing with Gruber's thesis that Isaacson really didn't understand the complementary contributions of software to "design"? Why?
I'm typically not a defender of John's, but he seems to me to be on target here.
Gruber makes multiple references to Jobs' faults in that article. He is simply shredding the quotes that Issacson used without actually thinking about what they meant or checking the facts.
What about this article do you think is Gruber twisting Issacson's words?. Every example has a well documented reason on why Issacson is flat out wrong.
Did we read the same article? Where does Gruber "shred" anything? Bill Gates says that "Instead the purchase ended up bringing in Avie Tevanian, who could help the existing Apple operating system evolve so that it eventually incorporated the kernel of the NeXT technology.", and Gruber says "Mac OS X 10.0 was a hybrid of Mac and NeXT technology, but it was clearly the NeXT system with Mac technologies integrated, not the other way around."
What Bill Gates said was absolutely true! Rhapsody with the NeXT Mach kernel, a pulled-in, non-NeXT BSD application layer, and then various other Mac layers (GUI, Cocoa, etc). Technically there is nothing wrong with his statement.
But it doesn't sound as impressive to Steve Jobs to say that only the microkernel (which we know is a critical part of a system), so better still to simply claim Gates is the liar?
> and then various other Mac layers (GUI, Cocoa, etc).
Incorrect. The GUI wasn't ported, it was rewritten for OS X. Cocoa's heritage is NeXT to the core. Nothing vaguely resembling Cocoa existed in the classic Mac environment.
> a pulled-in, non-NeXT BSD application layer
Incorrect. There is little of "BSD" in the Mac OS X environment, save for some FreeBSD userland components, most of which only matter on the command line. The application layer of Mac OS X is Cocoa.
(There is also the Carbon application layer which does partially derive from classic Mac, but that existed solely to ease application porting of existing Mac apps. But even Carbon is a hybrid, and was actually back-ported to Mac OS 9.)
> Technically there is nothing wrong with his statement.
Any Mac OS X software developer will know enough to confidently refute the accuracy of Gates' claims.
> What Bill Gates said was absolutely true! Rhapsody with the NeXT Mach kernel, a pulled-in, non-NeXT BSD application layer, and then various other Mac layers (GUI, Cocoa, etc). Technically there is nothing wrong with his statement.
Actually, technically there's everything wrong with that statement. It's just not the case.
Cocoa is NeXTStep. Take a look at the APIs. Everything is prefixed with NS.
The old Carbon APIs were completely reimplemented--those original Mac OS Classic APIs were mostly written in 68000 assembly with a liberal amount of Pascal thrown in--totally unsuitable for the new flagship OS.
I used OpenStep for about a year before the first OS X Betas were released. I can tell you first hand that Rhapsody was 90% NeXT and 10% veneer to make it "look like a Mac". "Terminal.app" barely changed from OpenStep to Mac OS X. Several other apps looked identical too. I'm pretty sure the minify button iconified the icons the way OpenStep used to.
Don't forget that NeXTStep/OpenStep had a full BSD subsystem too. That's not new or unique to Mac OS X. Go to your terminal and "man open". Notice the "First appeared in NextStep" part.
The fact is Mac OS X 10.0 is NeXTStep/OpenStep with some extra compatibility layers for the carbon APIs (plus an VM for doing running OS 9 apps). Saying that they "just pulled the kernel out" is patently false.
Yes, I have. And I can confidently say that Mac OS X, even today after a decade of evolution and sweeping changes, is clearly a direct descendant of NeXTStep and has little in common with System 7. I'll also reiterate what others said -- there is everything wrong with Gates' statement.
I do iOS development now, and I spent the 90s doing NeXTSTEP/OpenStep. I still own two NeXT machines.
The main differences now are 1) cheaper, faster hardware, 2) menubar at the top instead of a floating vertical menu, 3) I keep the Dock on the left instead of on the right side of the screen, 4) fancier development tools.
It's hard when you find out that your hero was in many ways a contemptible person. And it's not a noble reaction, but certainly a human one, to go looking for some fault with the source of this news.
There has been a lot of vilification of Isaacson's book, much of it seeming to draw ire because it presents Jobs as a mere human.