Apple and NeXT announce merger (1996)
nextcomputers.org
nextcomputers.org
For the unaware, this is why the macOS/iOS APIs are prefixed with NS (NSObject, NSString...), for NeXTSTEP.
I believe iTunes is still based on WebObjects.
The pre-OpenStep version of the APIs used a NX prefix. You can still see some lingering NX* classes/functions in macOS stack traces.
So far as I know, NS stands for NextStep.
Project Wonder is community supported additions + fixes to WebObjects. https://github.com/wocommunity/wonder
Meanwhile, I found this hat on eBay yesterday: https://i.imgur.com/CuInqYo.png
Not the full blown EOF, WOF that iTunes uses however.
(Also, hi Matt!)
(Hey!)
Apple knew for a long time it needed to replace classic Mac OS, which didn't have modern OS features. It started the Pink project internally to make a next-generation operating system, and eventually in the early to mid 90s, that got spun out into Taligent, the joint venture between Apple and IBM (and later others).
Then Taligent didn't pan out for a variety of reasons. Specifically why is another question, but here it's sufficient to say that Apple decided it certainly wasn't the direction they wanted to go. Taligent ended up being handed off to IBM and repurposed as a rapid app development tool that sat on top of other operating systems (AIX, I guess, mainly) instead of a standalone operating system.
As I recall, Apple may have tried to internally do its own second attempt at a next-generation operating system, essentially a competing project to Taligent, but that didn't work out either.
So that left Apple in the mid-90s but still stuck on an operating system that was rooted in the 1980s and really, really showing its age. And a lot of it was Motorola 68k only (it was never meant to be portable), but Apple had already started to make the shift to PowerPC CPUs. So there was another reason it was time to start fresh.
After at least one if not two failed attempts to come up with their own next-gen OS, here was this company founded by a former Apple luminary, with an operating system sitting there ready to go. NeXTSTEP was already portable enough to run on both 68k and x86 at that time, and once you've got two platforms, you can have pretty high confidence that a third (PowerPC) would be feasible. And I don't think NeXT had great long-term prospects with a standalone platform on its own.
On one hand it was a much modern OS because build from scratch in the 90's rather based one the good old Unix, on the other hand OSX being Unix is probably why so many software developers flocked to the mac.
Supposedly largely for performance reasons, but of course the L4 kernel showed that didn't need to be the case.
I believe modern XPC services integrated with launchd to allow on-demand job launching (similar to Linux dbus-activation?) are based on Mach 'ports' (IPC).
And tangentially, launchd "domains" (gui/user/system) are based on Mach "bootstrap domains", which is why a job launched in the background ("user") may have trouble communicating with a job launched in the GUI domain, if you're just assuming Unix permissions.
The Mac certainly benefited from attracting a lot of Unix devs, but I don’t think that was a significant contributor to its mainstream success.
At the end of the day, both Microsoft and Apple reused ideas they found at Xerox. To quote Bill Gates himself about the situation:
"Well, Steve, I think there's more than one way of looking at it. I think it's more like we both had this rich neighbor named Xerox and I broke into his house to steal the TV set and found out that you had already stolen it."
The Alto relied on a command line for most operations, no Finder, no trash can, only had a handful of GUI applications, could only handle rectangular regions so no complex controls or menus, and was slower and far more expensive than the Macintosh.
> and once you've got two platforms,
Agreed with your sentiment, but, er: five. Four released publicly: m68k, x86, HP PA, SPARC. And then there was the Motorola 88000 for the NeXT brick. The SPARC OpenStep/Mach port was in addition to OpenStep Solaris and then there was the Windows stuff. Not sure what else they had running internally.
That was some seriously portable software. And for developers, adding architectures was a checkbox in ProjectBuilder (once you had taken care of being endian-neutral).
UPDATE: just checked the Wikipedia entry on the NeXT brick (aka NeXT RISC Workstation), and it says they were redesigning it based on PowerPC, so the number was probably six and they already had a PowerPC NextStep port when acquired. https://en.wikipedia.org/wiki/NeXT_RISC_Workstation )
I am very far from an Apple fanboy but gosh, this guy totally gets it.
Watching the evolution of NeXTSTEP/Openstep, Yellow Box, Rhapsody and Mac OS X has been just about as rewarding as I had hoped.
The benefit of UNIX overlaid with a friendly, usable UI is as promising now as it was then.
I just wish I had been able to invest more when AAPL was at @ $18.00.
Housing? If you’re complaining about SV, I have no help for you, that place is nuts. Everywhere else, generally, isn’t any worse than when we bought our first house 25 years ago. But once you’re in and can make the payment, the numbers just get bigger as time goes on, as your house price is going to be relative to those around you.
Webvan? They did the online groceries thing, crashed and burned then got bought by Amazon.
AAPL split in 2 in 2005 and had a big 7:1 split in 2014. Pre-2005 unadjusted prices are 14x!
I do remember the days of $10-20 AAPL in 2003/4 when I first started using Macs. Personally, I got out during the 2008 3Q crash and missed out on the huge recovery, somewhere in the 9x range on those shares from when I sold to what they're worth today :(
You could say the same thing about not buying BTC at $1 and selling at $20,000.
1/2] https://www.youtube.com/watch?v=vwCdKU9uYnE (early days)
2/2] https://www.youtube.com/watch?v=NtpIFrOGTHk (around Apple acquisition and beyond)
Watch Steve Jobs videos from 1996 and you get some interesting insights.
1) now available online https://archive.org/search.php?query=nextworld
What can I say, nobody's perfect :-D
[1] Pun very much intended, I'm afraid.
Gil Amelio thought the 20th Anniversary Macintosh was really awesome and clones were a good idea.
With (seriously cash strapped) Apple doubling down on Multimedia on rebranded BeOS as a licensed OS for Clones, they would have gone head-to-head with the entirety of the PC market that already had a taste of BeOS.
BeOS was quick and fun, but barely had a TCP/IP stack. See BONE.
Apple probably would have switched to Intel earlier.
(I had an amateur radiotelescope wired up to the GeekPort and exposed the controls over HTTP. I’ve long since retired that setup in favour of a modern SDR linked to a Raspberry Pi 3.)
I had both BeOS and NeXTSTEP and pretty much left BeOS to sit while NeXTSTEP was my daily driver (along with a Windows NT machine because IBM was problematic with OS/2).
I still can't remember the technical merits of the Be operating system. Someone tried to get me to use it back in 1999, but there were no applications worth using.
Because the Unix nerds told them that if they wanted a rock solid workstation OS to replace legacy-MacOS (which was getting very long in the tooth at that time), it would be a good idea to have something BSD/NextSTEP based rather than whatever BeOS was.
If you look at OSX v10.0 it's pretty obvious that it's NeXTSTEP with a MacOS-looking GUI slapped on top of it. They've been incrementally upgrading and developing it since then.
BeOS was very interesting, but one thing it was not was anything close to a BSD/Unix platform.
Rhapsody is pretty interesting stuff.
EDIT: Missed the link. http://rhapsodyos.org/
You are quite correct that NeXT was undoubtedly, upon close inspection, the ‘superior’ OS (UNIX lineage, stable, multi-user, etc.) but as a user (and sometime programmer) it wasn't that evident: my relatively cheap dual-604e BeBox outperformed my dual PentiumPro NeXT machine by a significant margin, or rather, felt like it did because the “pervasive multitasking” made the system extraordinarily responsive, and the lack of legacy code and backwards compatibility definitely kept the system snappy and lithe. Multi-user support didn't really change much from the user perspective either, as security was something of a remote concern and running any kind of ‘server’ on one's desktop was pretty exotic. BeOS was POSIX compliant to a degree such that many people still (erroneously) believe that it is a Unix or Unix-like, and you could run all the open-source command line tools you could possibly want. The BeFS filesystem's metadata capabilities were extraordinarily, and I liked both UIs equally (the etched vs. graffiti aesthetic legacy has etched itself into my neural circuitry), but probably NeXT was more innovative in terms of user interaction and rendering model whereas BeOS basically aped Windows and Classic MacOS quite closely. NeXT's development tools and environment were clearly superior. It was comparatively a resource hog.
So yes, there was a technical edge, and probably knowledgeable influencers at the upper echelons of power probably recommended as such. But at the time I had the feeling that Jean-Louis Gassée (the founder and CEO of Be Inc.) significantly overplayed his hand, and made ridiculous demands because he thought he had Apple cornered by virtue of their failed OS development attempts, growing obsolescence, and perceived lack of serious alternatives. There's the diffuse feeling that Gil Amelio (Apple's then-CEO) eventually grew weary of batting back the demands and started looking for apparent alternatives just as a means of introducing some competition to the negotiations, and eventually the plonked for NeXT much to everybody's surprise. He even made a droll remark about “choosing Plan A rather than Plan Be” or something to that effect. All things considered, it was a very counterintuitive decision, mainly because NeXT had such hefty resource requirements and we hand't quite yet absorbed the implications of Moore's Law (or rather, were used to Microsoft squandering any and all increase in hardware performance with increasingly inefficient code, leading to no perceivable improvement year over year). Amelio deserves more credit for having seen through all of that and made a brave, surprising, and obvious-only-in-hindsight decision that favoured a mature, stable, and extensible platform.
At the time I felt it was an utter mistake, but I was fourteen, and pretty ignorant of the ways of the world. I think history speaks for itself. Amelio deserves more respect for the decision he made, because it was ultimately his decision that led to adopting the superior, extensible technology, and of course brought Steve Jobs back on board (who promptly stabbed him in the back and ousted him in a boardroom coup).
I had a brief flirtation with Windows NT4/2000/XP in 1999-2003, but then I switched to OSX 10.2 on a dual PowerMac G4 and have never looked back since. Only of late have I started to feel that as Apple's focus has switched to iOS on mobile devices they've started to let their development effort and quality control really slip to borderline-unacceptable levels. I can understand that OS X is no longer the enabler for high-margin computer sales it once was, and that that role has passed on to iOS, but OS X (macOS of late) is the platform where the apps that form the bulwark of the iOS ecosystem get developed. Apple really shouldn't let the desktop OS languish or endure the kind of high-profile mishaps that have occurred of late.
> I was fourteen
Wow. What's the story behind that?
It’s kind of an odd story, my use of ’work’ needed some explaining but I thought it would slow down the discussion to go off on a tangent lot narrate this story.
The catch is that it was much less mature. It was single user and had very little real security. It had basic Posix support, but NeXT has much more rich BSD-ishness.
This sorta-kinda worked for things like Linux where the masses would crowdsource them, but for a commercial OS like BeOS they had to spend a ton of time working on this instead of the actual OS.
My recollection at the time was as soon as they entered into this phase the forward progress on BeOS itself ground to a halt, and within a few years the mainstream OSs had started to at least pay lip service to its key features. Any momentum they had was completely lost.
Or in the case of UNIX vendors, outsource their development costs.
Want an MP3 player? Don't need to open the files and get their ID3 tag info, it's in the file system. You can query it with "filetype:mp3 artist:bach" or whatever and you'd get a list, updated when other songs files were added or changed, of all mp3s meeting your requirement. Same for any other document. Contacts can be stored the same way, rather than hidden away inside an arbitrary file format you can store them with each bit of info as metadata (query on the phone number and find everyone associated with it), email, anything. The real benefit of this filesystem-as-database approach was that it breaks the data silo situation you find in many (most?) other OSes.
Downsides were the dearth of applications, being single-user, and for a time being PPC only. Opening it to x86 opened it up to many more users, but then the OS became the product (instead of the BeBoxes they also sold) which was much lower price and profit. It was a POSIX-compatible OS (good), but not really a Unix in the way users of Unix would expect. This did make porting of applications a bit easier, though.
They were also crippled by Microsoft's actions with Compaq (HP?), where MS threatened to change the favorable licensing costs for MS Windows if they sold BeOS on their computers.
Since things were then just ported to Be rather than written directly for it, it kinda felt like POSIX compat was Be in its death-throes.
I bought in at R3/3.1, and I regretted it since as it was just a sad slow slide after that :(
BeOS is a really neat little OS. I like it a lot, I often wonder how different things would be if they had taken that direction.
Basically, AmigaOS 1992 was a more advanced operating system than BeOS 1997. Pity Commodore completely squandered their opportunity and Windows 95 killed them dead.
This was part of why the graphics felt so flippin fast: appkit just wrote to the GPU & framebuffer itself. No need for any context switches.
That's incorrect, AmigaOS had been fully preemptively multitasking since Kickstart 1.0, in 1985. It took Windows ten years to get preemptive multitasking and Mac even longer.
You are right that AmigaOS never got protected memory, though.
NeXT's ABI interfaces (C and ObjC) were and are much more stable.
(I'm not saying don't use C++, just don't use C++ and expect a stable binary API. You need to wrap it in a C API instead unfortunately. There's too much magic in C++ to have a stable ABI and still be able to evolve the language.)
Symbian was written in C++.
Any others?
C ABI only happens to exist on OSes written in C, thus having a C ABI at all.
NeXT used Objective-C on its drivers framework, and that was replaced by a C++ subset in IO Kit.
Likewise their Metal shaders are based on C++14.
Microsoft has been slow and steady migrating their code into C++ since Vista.
https://www.reddit.com/r/cpp/comments/4oruo1/windows_10_code...
Symbian, GenodeOS, includeOS, mbed are all written in C++.
IBM mainframes were written in PL/I dialects, like PL/S and PL/8, and new code is written in C++.
ChromeOS is written mostly in C++, even if it exposes only Web APIs.
Most of Android native libraries are written in C++.
Of course on ChromeOS and Android, C is still there given the Linux kernel.
That's exactly what happened to BeOS and Symbian. Both were stuck at GCC 2.95 for many years after mainline GCC was already at version 4.x.
There's a ton of C++ in macOS/iOS, but it's wrapped to plain C for the public userland APIs.
Other C++ OSes are doing pretty ok.
Symbian's inability to upgrade the platform to modern compilers definitely was one factor in its failure to gain developer mindshare, and the C++ ABI was the reason for that. They had painted themselves into a corner with a '90s C++ embedded dialect and had no easy way forward.
I'm curious -- which modern OS exposes a C++ API and is "doing pretty ok"? I can't think of any.
Migrating to a new C++ ABI wasn't in any way related to Symbians downfall, internal politics were.
As for OSes ARM mbed, Windows all new APIs since Vista are based on COM specially anything UWP related, GenodeOS, Arduino bare-metal libs, IncludeOS.
"Unlike C++, COM provides a stable application binary interface (ABI) that does not change between compiler releases.[3] This makes COM interfaces attractive for object-oriented C++ libraries that are to be used by clients compiled using different compiler versions."
The others seem to be mostly embedded kernels or unikernels which will be tightly linked into your code anyway, so there's no issue of ABI incompatibility with those.
COM is built on top of C++ VTBL implementation on Windows, UWP extends COM by supporting generics as well.
As for the other OSes, it is irrelevant where they are used, the fact is that they are exposing C++ APIs not C ones.
As matter of fact, had GNU/Linux not taken over the OS world and FOSS projects, and C would be pretty much history by now.
Mac OS, BeOS, Symbian, OS/2, Windows were all adopting C++ APIs when GNU/Linux started to gain adoption, with its manifesto to focus on C for GNU software.
There is no major C++ compiler on a major OS that provides a stable ABI, so that's what people mean when they say there's no stable C++ ABI.
COM is independent of the Microsoft C++ compiler. It's defined on top of the platform's C ABI. (There's a COM implementation on Mac, for example.)
On Windows, COM uses the stdcall calling convention. There's no trace of C++ there.
I left Apple 6 months later to join WebLogic.
...in consideration of the foregoing and the mutual covenants and agreements herein contained, and intending to be legally bound hereby, Parent, Merger Sub and the Company hereby agree as follows...
At that time in 1996 they knew that Microsoft was going to take the NT kernel and build it into something very stable and more consumer friendly. NT 3.5 and NT4.0 never saw widespread consumer adoption, only in corporate environments. But the later release of Windows 2000 was significantly more stable and capable than legacy MacOS.
https://www.google.com/search?q=dec+alpha+windows+nt&ie=utf-...
EDIT: Actually he HAD the opportunity and because he passed it up we have Mac OS X today!!
From Wikipedia:
In 1996, Apple Computer decided to abandon Copland, the project to rewrite and modernize the Macintosh operating system. BeOS had many of the features Apple sought, and around Christmas time they offered to buy Be for $120 million, later raising their bid to $200 million. However, despite estimates of Be's total worth at approximately $80 million,[citation needed] Gassée held out for $275 million, and Apple balked. In a surprise move, Apple went on to purchase NeXT, the company their former co-founder Steve Jobs had earlier left Apple to found, for $429 million, with the high price justified by Apple getting Jobs and his NeXT engineers in tow. NeXTSTEP was used as the basis for their new operating system, Mac OS X.
Some very strong arguments have been made for why BeOS would have been a better choice for Apple at the time, but the truth is that Be was always a second choice for Apple if NeXT could not be acquired.
Apple got a great two for one deal by acquiring both a solid UNIX-based foundation for their future and Steve Jobs, but Jobs was really the crown jewel. Apple was in a terrible position at the time, and most industry watchers didn't expect them to survive.
WIRED ran their famous "101 Ways to Save Apple" cover story around that time, and Michael Dell made his infamous quote that Apple should "shut down and give the money back to the shareholders."
It really was a bleak time, and a technology solution was only part of what Apple needed. Steve Jobs' return was what the acquisition was ultimately about.
2017: Who's Michael Dell?
Steve Jobs is better known dead than Michael Dell is alive.
> It turned out that Michael Dell wasn't perfect at predicting the future. Based on today's stock market close, Apple is worth more than Dell. Stocks go up and down, and things may be different tomorrow, but I thought it was worth a moment of reflection today.
He's a guy worth $23.5B (says Google today).
Dell may not be very exciting, but Michael Dell is doing fine.
In a bizarre turn of events, he took Dell (the company) off the stock market himself making it non-publicly owned.
Even Acer (remember them) is worth almost 3x what Dell is today.
Oddly coincidental is the recent ability to build on Haiku OS: https://sourceforge.net/p/previous/code/HEAD/tree/