Hacker News new | past | comments | ask | show | jobs | submit login

Classic MacOS was a disaster once multitasking became a needed feature, and Copland (its in-house replacement) wasn't going anywhere. The only other option would have been to buy Be, to get BeOS. That could have worked too, BeOS was great (and its modern clone Haiku is fun too), but it was clear Apple needed something from outside.



Multitasking was needed and Be could have filled the Darwin gap but what they really needed was a leadership kick in the head. Steve was hired, almost immediately led a coup that ended up with Gil gone, the board disbanded and him with near pure control over the company. He fired, chopped, focused, and brought operations to the point where they were not lighting their cash on hand on fire. The business turnaround story is amazing, forget the creative factor and all that, the only reason Apple is still around is that he walked in and rapidly course corrected a company that wasn’t even his anymore. He wasn’t anything when Gil bought NeXT, his title was just “Advisor” to the CEO. A hilarious title. The magic of the next purchase was that it saved Apple way more money than it cost by effectively letting in a “Good” virus that infected the company’s management and cut the cruft fast. ‘97 Steve had had 10 years of startup OPs pain under his belt.


https://youtu.be/FF-tKLISfPE

Transcription at: https://austenallred.com/steve-jobs-insult-response-transcri...

> The hardest thing is, how does that fit into a cohesive larger vision that’s gonna allow you to sell 8 billion dollars — 10 billion dollars of product a year? One of the things I’ve always found is that you’ve got to start with the customer experience and work backwards to the technology. You can’t start with the technology and try to figure out where you’re going to try to sell it. I’ve made this mistake probably more than anybody else in this room, and I’ve got the scar tissue to prove it.


I agree -- I like Gasee and BeOS but there's no chance he would have managed to do the same with Apple. The modern Apple, like the original Apple, is Job's creation. In a way that very very few CEOs (who get all the credit regardless) can say.


Indeed. BeOS would have made Macintosh as successful as the Amiga.


A good, pithy summary.

BeOS was a beautiful OS, my favourite ever x86 OS.

But the _other_ key thing most people miss is that NeXT also had amazing, industry-beating development tools. Be didn't.

Both BeOS and NeXTstep were amazing OSes, but NeXT offered 2 other things as well as a great OS:

• best-of-breed dev tools, including Interface Builder

• Steve Jobs.

No contest, I'm afraid.

Even if personally I preferred BeOS.


Be was a tech demo at best. It looked finished on the surface but had less than 10% of what a complete operating system needs in terms of feature depth, libraries and extensive real word testing.

Steve Jobs was utterly critical, but NeXT technology was also insanely valuable.


Right it was a great single user workstation, but had no where near the underlining stack to compete in a corp environment. Be did one thing and, did that one thing light years better than anything on the market. next was the clear choice for what apple needed to stay competitive.


Classic MacOS had multitasking (cooperative...), but it was missing memory protection. The same was true of earlier 68K-based OSes (Atari, Amiga.)


The problem with cooperative multitasking is that a SINGLE poorly behaved process in the background locks up the whole operating system. This leads to a horrible user experience.

As a user of the old Mac OS 8 I had no idea what the cause was. I just knew that once I ran into the spinning wheel of doom I was likely to have to reboot. Again.

Preemptive multi-tasking is worse in every way except that one. I mean that you get more bugs, have more overhead from locking, less throughput, and so on. But when the application runs into trouble, the operating system is still able to react to you.


Yes, the Amiga had preemptive multitasking, but no memory protection, and the situation wasn't really any better. A single rogue process could bring down the whole system by overwriting parts of the OS.


Guru Meditation :)


It wasn't unique to the 68K world.

Windows/286 (from long before Windows 3) could multitask too, but not very stably. No memory protection.

Acorn RISC OS -- the original ARM OS -- had _both_ cooperative and (for command-prompt windows) pre-emptive multitasking, but again, no memory protection.

A big part of the problem was that the 68000 had no MMU. Nor did the 68010 or the 68020. One only came onboard as standard with the 68030 -- analogous to Intel's 80386DX -- and then it was too late: to rework all the existing OSes would have been both a huge amount of work, and badly broken backwards-compatibility with the large existing software libraries.

Whereas the PC industry more or less rebooted the OS stack (eventually), with a new, graphical OS that could use the hardware multitasking features of the 386 if it got one, and do without if it didn't.

This was Windows 3, and it evolved into Windows 9x. Meanwhile in the background Microsoft frantically worked on turning OS/2 3, the CPU-independent version, into something saleable.

OS/2 3 became OS/2 NT became Windows NT and the rest is history.


A big piece to that power play was Bill Gates backing Job with capital. It was a win win for both of them, Steve used it to wrangle political control of the company and Gates used it to stave off an impending anti-trust litigation. Had Steve not had the capital from Gates a year after rejoining, the story would have been much different.


Proof that a good CEO is worth the money.


Now all we need is a reliable way to identify a 'good' CEO without the benefit of hindsight.


Not just anybody is hired to be a CEO. A candidate has to have a track record of success. That's how.


If you know of a reliable way to identify CEOs who can effect the kind of turnaround that Jobs executed at Apple, then, with respect, I tend to think you may be in the wrong business :)

My point was that the rarity of that kind of turnaround is strong evidence that that level of CEO performance is not even close to being predictable.


Most CEOs run their companies successfully. The ones that don't get the boot and are not likely to be recruited for another CEO position. After all, would you?


Counter example: John Scully


Who'd you hire for the top job - someone with a track record of success, or another with a track record of failure?


I think I missed the bit where anyone said anything about hiring someone with a track record of failure?

A good track record maybe necessary but is clearly insufficient.

Having said that - ironically - Job himself wasn't exactly an obviously successful CEO prior to his return to Apple. He'd been fired from Apple previously, NeXT was one of many workstation manufactures and less successful than many direct competitors (eg Silicon Graphics).

Eric Schmidt is another example. Prior to Google he was CEO at Novell where (quoting Wikipedia): "He presided over a period of decline at Novell where its IPX protocol was being replaced by open TCP/IP products, while at the same time Microsoft was shipping free TCP/IP stacks in Windows 95, making Novell much less profitable."


Jobs was very successful with Pixar.

Let me put it another way. Can we reasonably assume that people who find themselves in the position of needing to hire a CEO with their own money are not complete morons and will spend more than 5 minutes thinking about it?


Let me put it another way. Can we reasonably assume that people who find themselves in the position of needing to hire a CEO with their own money are not complete morons and will spend more than 5 minutes thinking about it?

I'm lost. The original question was:

Now all we need is a reliable way to identify a 'good' CEO without the benefit of hindsight.

Your response was "A candidate has to have a track record of success."

People are pointing out that doesn't appear to be sufficient.

So I agree that people hiring CEOs aren't morons and think about it. But I'm still not sure what indicators are useful outside track record, or indeed if you think that is sufficient.


> Your response was "A candidate has to have a track record of success." People are pointing out that doesn't appear to be sufficient.

I didn't say it was sufficient. For example, if I say "an airplane has to have wings" would you argue that isn't all it needs? Of course not.

There's a reason that English has the words "all", "only", etc. For example, there's a difference between "people like hamburgers" and "all people like hamburgers." There's a difference between "choosy people choose cheese" and "only choosy people choose cheese." English is not a programming language.

I suggest interpreting my messages from a presumption that neither am I a moron nor are people who select executives.


I do understand English, but I don't understand what your point is in this thread?

You've said "A candidate has to have a track record of success. That's how", but every question people have raised to try and identify additional points the response hasn't really added any additional information.

If your point that "people who [successfully] select CEOs" have some additional criteria that they use (outside the track record) then: Yes! Great!

What is it?


Are there any engineers on HN who worked on Copeland? Because I've always found it astounding that while the stated reason for the NeXT aquisition and the transition to the OpenStep-based OS was that Copeland was still years away from completion -- but then after Jobs took over it was still 5ish years for OS X to finally be released... And in the meantime they continued to release OS 8 and OS 9 as updates, including some tech that was under development from before the NeXT acquire.

Surely Copeland could have been completed in that time period. Or was it _really_ that off the rails? 5 years off the rails?


Second hand (I wasn't there at the time), but Apple had more than anything a management problem. Managers making a land-grab put everything+kitchen sink into Copland. It was an incoherent mess. Then the VM folks would decide to rewrite the VM subsystem and Copeland would go a month without a single usable build.

Steve and the management team he brought in essentially fired all the MBAs and non-engineering managers. Copeland was doomed by bad management.


I was in elementary school during Copland and the NeXT acquisition and so I wasn't there, but based on everything that I've read, the reason for the long gap between the purchase of NeXT in December 1996 and the release of Mac OS X 10.0 in March 2001 had largely to do with the inclusion of the Carbon API.

The story goes as follows: after Copland was cancelled in 1996, Apple then pursued the idea of purchasing or licensing an operating system from another company and then building a new Mac operating system on top of it. Existing Mac programs running on then-current System 7.5 would run in emulation under what's called the "Blue Box," which would later be known as Classic Mode in Mac OS X. New programs would run under a then-undefined API called Yellow Box that ran natively on Apple's future operating system. The questions were: (1) what would be Yellow Box, and (2) what would be the native operating system? The choices were Windows NT, Solaris, BeOS, and OPENSTEP. BeOS and OPENSTEP ended up making it to the "final round." In the end, Apple bought NeXT, and work started on a project called Rhapsody, which was essentially OPENSTEP with a Mac OS 8-style theme. Yellow Box was the OpenStep Objective-C based API, which would later be renamed Cocoa in 1998. Rhapsody was supposed to be released sometime in 1999 if I recall correctly.

In the beginning, it was expected that Mac developers would port their software from the classic Mac API to Yellow Box. However, some developers balked at the prospect of porting their code to Yellow Box, most notably Microsoft and Adobe. Given the importance of products like Microsoft Office and Adobe Photoshop to the Mac platform, during WWDC 1998 Apple announced the Carbon API, which was similar to the classic Mac API but was designed to take advantage of features such as preemptive multitasking and protected memory. Also, Apple announced that both Carbon and Cocoa would be based on a common substrate of C functions, allowing "toll-free bridging" between the two APIs.

The addition of Carbon was a significant engineering effort that contributed to the delay of the release of Mac OS X. There may have been some other factors, such as designing the Aqua interface and incorporating the feedback received from users of the Mac OS X Public Beta, which was released in 2000.

In the meanwhile, Steve Jobs was able to buy time for Apple through the introduction of well-received, now legendary products such as the iMac and the iBook. By 2000 Apple got its mojo back, and the attention became less on when Apple would finally release Mac OS X and more on anticipating what type of products Apple would come out with next. Eventually Mac OS X 10.0 would get released in March 2001, just in time to compete against Windows XP, the first consumer version of Windows based on Windows NT as opposed to MS-DOS.


Yep Adobe and their unwillingness to port was a big part of it. I think Steve carried that with him and gained a little joy in staking Flash in the heart when he did.


The irony is that Flash is pretty much alive.

After those actions, Adobe created an AOT compiler for Flash, so before Unity and Unreal took off, plenty of iOS games were actually AOT compiled Flash ones.

Following up on that, Animate was born.

Now thanks to WebAssembly and CheerpX, old Flash applications can keep on running.


You have most of the details right, but not in the right order.

Yes, Apple looked at buying in an OS after Copland failed. But all the stuff about Carbon, Blue Box, Yellow Box, etc. -- all those were NeXT ideas after the merger. None of it was pre-planned.

So, they bought NeXTstep, a very weird UNIX with a proprietary, PostScript-based GUI and a rich programming environment with tons of rich foundation classes, all written in Objective C.

A totally different API, utterly unlike and unrelated to Classic MacOS.

Then they had to decide how to bring these things together.

NeXT already offered its OPENSTEP GUI on top of other Unixes. OPENSTEP ran on Sun Solaris and IBM AIX, and I think maybe others I've forgotten. Neither were commercial successes.

NeXT had a plan to create a compatibility environment for running NeXT apps on other OSes. The idea was to port the base ObjC classes to the native OS, and use native controls, windows, widgets etc. but to be able to develop your apps in ObjC on NeXTstep using Interface Builder.

In the end, only one such OS looked commercially viable: Windows NT. So the plan was to offer a NeXT environment on top of NT.

This is what was temporarily Yellow Box and later became Cocoa.

Blue Box was a VM running a whole copy of Classic MacOS under NeXTstep, or rather, Rhapsody. In Mac OS X 10.0, Blue Box was renamed the Classic environment and it gained the ability to mix windows with NeXT windows.

But there still needed to be a way to port apps from Classic MacOS to Mac OS X.

So what Apple did was go through the Classic MacOS API and cut it down, removing all the calls and functions that would not be safe in a pre-emptively multitasking, memory-managed environment.

The result was a safe subset of the Classic MacOS API called Carbon, which could be implemented both on Classic MacOS and on the new NeXTstep-based OS.

Now there was a transition plan:

• your old native apps will still work in a VM

• apps written to Carbon can be recompiled for OS X

• for the full experience, rewrite or write new apps using the NeXT native API, now renamed Cocoa.

• incidentally there was also a rich API for Java apps, too

Now there was a plan.

Here's how they executed it.

1. Copland was killed. A team looked at if anything could be salvaged.

2. They got to work porting NeXTstep to PowerPC

3. 2 main elements from Copland were extracted:

• The Appearance Manager, a theming engine allowing skins for Classic MacOS: https://en.wikipedia.org/wiki/Appearance_Manager

• A new improved Finder

The new PowerPC-native Finder had some very nice features, many never replicated in OS X... like dockable "drawers" -- drag a folder to a screen edge and it vanished, leaving just a tab, which opens a pop-out draw. Multithreading: start a copy or move and then carry on doing other things.

The Appearance Manager was grafted onto NeXTstep, leading to Rhapsody, which became Mac OS X Server: basically NeXTstep on PowerPC with a Classic MacOS skin, so a single menu bar at the top, desktop icons, Apple fonts and things -- but still using the NeXT "Miller columns" Workspace file manager and so on.

Apple next released MacOS 8, with the new Appearance control panel and single skin, called Platinum: a marginally-updated classic look and feel. There were never any official others, but some leaked, and a 3rd party tool called Kaleidoscope offered many more.

http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...

So some improvements, enough to make it a compelling upgrade...

And also to kill off the MacOS licensing programme, which only covered MacOS 7. (Because originally 7 had been planned to be replaced with Copland, the real MacOS 8.)

MacOS 8 was also the original OS of the first iMac.

Then came MacOS 8.1, which also got HFS+, a new, more efficient filesystem for larger multi-gigabyte hard disks. It couldn't boot off it, though (IIRC).

MacOS 8.1 was the last release for 680x0 hardware and needed a 68040 Mac.

Then came the first PowerPC-only version, MacOS 8.5, which brought in booting from HFS+. Then MacOS 8.6, a bugfix release, mainly.

Then MacOS 9, with better-integrated WWW access and some other quite nice features... but all really stalling for time while they worked on what would become Mac OS X.

The _paid_ releases were 8.0, 8.5 and 9. 8.1, 8.6, 9.1 and 9.2 were all free updates.

In a way they were just trickling out new features, while working on adapting NeXTstep:

1. Rhapsody (Developer Release 1997, DR2 1998)

2. Mac OS X Server (1.0 1999, 1.2 2000)

3. Mac OS X Public Beta (2000)

But all of these releases supported Carbon and could run Carbon apps, and PowerPC-native Carbon apps would run natively under OS X without the need for the Classic environment.

Finally in 2001, Mac OS X 10.0 "Cheetah".


BeOS might have worked well enough in the short term but it would have turned into a disaster later. It lacked the fundamental security foundations that Nextstep already had built in. Retrofitting that level of security would have been extremely difficult, perhaps just as hard as adding preemptive multitasking to classic MacOS.


Apple was also in close to licensing Sun Solaris 2.5 which already ran on PowerPC. They just had to put the Apple UI on it but history happened.


The alternate timeline where sometime in late 200x Apple buys Sun (instead of Oracle) and still invests in Unixy datacenter things, ZFS, and similar tech that Sun was good at, and use it to build high quality services and hardware is a fun thought experiment to explore.

Wouldn't have happened because of the iPhone profit rocketship which caused Apple to abandon that entire market segment.


Apple was doing some half-hearted enterprise-y efforts at the time like the Xserve. As an IT industry analyst at the time I got invited for various briefings related to such things. However, as you note, once the iPhone in particular really took off, Apple pretty much stopped pretending to be anything other than a consumer company, especially after BYOD became the norm.


I used BeOS. It had some great features, but it wasn't great the way NeXTStep was great. If it had been built on top of C++ 11 or later, instead of whatever C++9x they were using, maybe.


What I really don't get was how even Windows 3.1 had better multitasking than MacOS. Really.

I get the multiple issues with MS and Windows, but at that time, they had the better system for Home/SME users. Ok maybe not for Graphical Designers, but still.




Applications are open for YC Winter 2021

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: