Copland/Gershwin vs. NeXT
Etcetera writes "David K. Every (of MacKiDo fame) has written an interesting article at iGeek about Copland vs. NeXT and the decisions that Apple made back in '95-96. Although most agree that bringing Steve Jobs back was a Good Thing, a lot of cool Apple-invented technologies got left by the wayside without a fair shot at proving themselves once NeXT came in. Was it always the right call? Functions as a cautionary tale about management vs. engineering as well."
Another good one about how a project evolves into a "death-march", but it's probably preaching to the choir here.
The tragedy is that those who most desperately need to learn the lesson presented here (that would be the uninformed, inflexible PHBs) will never read this kind of article, or if they do they will never realize that we're talking about you, here!
It's just amazing how many technology "managers" cannot comprehend the silliness of mandating a schedule and a feature set. You might get it by then, but it will be a piece of #@%$.
"Send an Instant Karma to me" - Yes
So Carbon on a new kernel (NuKernal) was done long before the rest of OSX was ready. It took years to get NeXTSTEP and Cocoa and the rest of the OS time to catch up
This is just absolutely false. The NeXT kernel (Mach/BSD) and Cocoa were ported very quickly. Apple bought NeXT at the end of 1996, the first Rhapsody developer release was ready less than a year later, and Mac OS X Server 1.0 shipped in early 1999. The reasons why the "real" Mac OS X took longer were that Apple had to implement Carbon for developers unwilling to convert to Cocoa, and write a brand new display system (Quartz) after Adobe dropped Display PostScript.
NeXT delivered on its promises, it's just that Apple's requirements changed. And it's also worth pointing out that Mac OS X is a far better system than what was envisioned for Copland. Aside from the much better adherence to standards, it is a much cleaner architecture. From what I remember of Copland's documentation, it had a weird form of partial memory protection where the entire GUI ran in a single process, so any app could take down all other UI apps, although server processes would be protected. The transition to a fully buzzword-compliant OS wasn't going to happen until Gershwin, and I seriously doubt that could have shipped by now.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
This article is one big rant. I wish he had more information to back up his claims. The article just seemed to be overly bitter calling NeXT "liars" and claiming that the engineers were hit with unrealistic expectations.
Hey, I'm an engineer and I think it takes everyone on a project to make it fail. On successful projects you have only 10% of the people doing all of the work and fixing the other people's mistakes... most projects succeed in spite of bad management or bad subsystem X.
Mac OS was on a death march because of the fundamental underlying technologies and a culture that was stuck in only one way of doing things... and windows is on a similar death march. OS X takes technology from the UNIX way of thinking and from the NeXT way of thinking to make a platform that is a developers dream. I think this is what puts OS X beyond Windows and will eventually lead to new "killer apps" that will save Apple. I really doubt that if Apple had went with Copland so many alpha geeks would be flocking to Mac... I doubt slashdot would have added an Apple page or O'Reilly would have a macdevcenter.
There are 10 types of people in this world, those who can count in binary and those who can't.
Ain't hindsight great? It allows you to sound wise without producing any testable arguments.
I too loved the early versions of BeOS, they really flew on my PowerCenterPro 210.
Remember though, at the time BeOS had some gaping holes, such as printing. There was some amazing technology there, but Apple was much more strongly tied to print design than today (with the huge internet focus).
They'd likely have had much more work to do integrating an immature BeOS than it was with a very mature NeXT.
I understand that there are a couple of BeOS engineers at Apple now, let's hope we can get some of the very cool ideas that are now dead (replicants, instantaneous searching, semi-sane metadata, etc.).
OpenDoc worked on the "container" concept, so once you had an application that was a "container" app you could paste in OpenDoc parts and use them as part of the master document.
Far as I can remember, the only OpenDoc applications that even appeared were Cyberdog and Nisus Writer. It was a real shame about Nisus Writer too, since they expended so much energy on OpenDoc hoping to ride the wave and Apple pulled out the rug (they still don't even have an OSX version).
Imagine if it stuck though, OpenDoc graphing and charting applications you could paste into Nisus, drawing objects drawn in your favourite program still being editable by it, tables and indexers, oh well.
The author seems to assert that a fantasy completed Copland and OpenStep would be of equal value. But imagine if Apple had actually shipped Copland. What would Apple have had? It might not have crashed as much, but it would have been just as obscure.
NeXT brought Apple Unix roots. This has completely changed the market perception of Apple. Folks and companies who never would have considered Apple are now testing the waters.
It may have come about because of confused decision making, but thank goodness it came about.
The Mac without the Unix underpinnings would still be relegated as "toy" OS and its marketshare would be declining rather than climbing (or at least stagnating).
Unix gave the Mac credibility from some key market segments. It gave the Mac mindshare. If we chirped about OS 9 having preemtive multitasking, people would've said "about time" and rightly so. As it stands now, the Mac is now buzzword compliant and, more importantly, it has the time tested core of Unix and all of its familiar tools that scientists and sysadmins love.
Objective-C has garbage collection, in fact, it has the best implementation I've used so far.
When objects are autoreleased, they are GCed at the end of the event loop.
This is much better than, say, Java, where you can never predict when GC will occur (and I've spend countless hours trying to get a product to work even though it will randomly stop and check EVERYTHING IN MEMORY to see if it should be deleted.... when doing a large server with gigabytes of objects in memory this impact is a major PITA) With objective-C memory management is semi-automatic. A better solution than Java and FAR better than C/C++.
I don't know what you mean by "real exceptions" but basically, every languages has its differences and the person I was responding to was just wrong in saying that Objective-C is a pale ripoff of smalltalk.
Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23
Zealotry accusations aside, I always felt that we should fix underlying problems and not superficial ones. The Mac dealt with many (as far as UI), and missed on others. Some saw me promoting the successes as ignoring the failures, even when I called the failures out too. Such is life. I've developed for 20+ years, on many platforms (VAX, AOS/VS, UNIX, Mac, Windows, DOS, CP/M, and so on). I see strengths and weaknesses in all. But for users, nothing else has yet come close to a Mac. As for my assumptions : Apple had the money to complete Copland, what they didn't have was time. The reason they ran out of time, was because they'd hyped and missed deliveries, and because they'd shot at the wrong target (100% compatibility). Carbon was much more reasonable than 100% compatibility. Many were saying it, and had said it for years. But they could change the target (or hit the impossible one they were told to shoot at). And Jobs killed many bad projects, But he also killed many good ones, and didn't really descriminate. He provided a vision, which is better than no vision. But his vision was as biased (or more so) than the ones before it. No I don't want Apple to go back. But I think we can learn from both the positives and negatives of Steve and the NeXT take-over. Some see that as "grousing", others see it as trying to learn or remember accurately. You can choose which...