In addition, the entire NextStep OS ran bare metal on several CPU architectures.
> originally ran only on NeXT's Motorola 68k-based workstations and that was then ported to run on 32-bit Intel x86-based "IBM-compatible" personal computers, PA-RISC-based workstations from Hewlett-Packard, and SPARC-based workstations from Sun Microsystems.
You could even do Objective-C monkeypatching shennigans on YellowBox, which I remember being needed at the time to get the scroll wheels on certain mice to work on YellowBox apps.
http://www.roughlydrafted.com/RD/RDM.Tech.Q1.07/4B800F78-0F7...
BeOS would have been a fine foundation for smartphones and tablets. But of course it’s an open question whether Apple could have got that far in the 2000s without the return of Jobs. I suspect the company would have been acquired or merged with some unsuitable suitor like Sun.
Unless you _want_ your solitare game have the ability to enumerate your contacts and send mail.
They could have built that on top of BeOS just as well as on NextStep.
I wonder, though, it is based on MacOS somehow, right? Which is based on BSD. Could there be some left over multi-user plumbing sticking around in a technical sense?
Android is in a similar boat. They're still an important way to manage filesystem access of programs.
Most vendors have this enabled now and things like work accounts/MDM use the same system.
> [...] User data is partitioned into separate directories, each in their own data protection domains and protected by both UNIX permissions and sandboxing.
POSIX users are quite important.
source: kernighans readingbook, "unix a memoir" or something like that, great read
Because computing devices, and access to them, was not so ubiquitous back then. Families all had to share a single computer. Business users had to share access to large servers. There were no smartphones. Some had to travel to an educational setting just to see or use a computer.
A.K.A. that time when Steve Jobs acqui-hired Apple.
NeXT didn’t buy Apple obviously, but Steve Jobs and his lieutenants took over the most important positions within Apple.
Which made sense given the situation Apple found itself in.
Blackberries were OK at the time, but my god RIM was so culturally conservative and Google at the time had no design sense that we'd probably be 10 years behind where we are now - and if we even had software keyboards they'd be terrible.
Which keep being forgotten, in these kind of discussions.
https://www.theregister.com/2004/11/03/review_hp_ipaq_6340/
I had one since 2000 as a daily driver and I loved the thing, but the app library was horrible.
The funny thing is, iPhone launched with no support for 3rd party apps. It took damned near a year for the first apps to arrive.
It would have settled C++ as the main systems language on desktop OSes, between Windows, and Mac Be OS.
Objective-C would have died, and Swift would never come to be.
Clang and LLVM probably would never had gotten Apple's sponsorship.
POSIX would have died on the desktop, as Be OS like other non UNIX OSes wasn't that keen in being UNIX like.
There wouldn't be a flock of Linux and BSD developers rushing out to buy Apple hardware, instead of sponsoring OEMs shipping PCs with those distributons.
I love BeOS.
I love BeOS more than you.
I love BeOS more than Jean-Louis Gassée.
BeOS wasn't ready. I was there I used BeOS as my daily driver on a maxxed-out Power Macintosh 6400. I have, today, that machine still running BeOS. I also have a second dual-PII running BeOS.
BeOS wasn't ready.
Apple was making a decision in 1996 for a deal that had to be struck and struck fast (1997). I started using BeOS in 1997 with one of the first Power Macintosh releases.
Those days (my days) it wasn't ready-- you had to pile patch on top of patch on top of community fix on top of some set of drivers some dude in Boise made in order to get things functional. I spent more time browsing BeOS listservs and download sites fixing things (at 56k) than using it.
Everyone is remembering fondly the R4.5/R5 days in late 1999. Three years after the December 1996 announcement of the NeXT acquisition. By then BeOS was... better. It was running on PCs and had a much larger user community. In 1996/7? Just a handful of BeBox owners and Mac users dumb enough (me) to try it.
Managment would have been professionally negligent to choose it over NeXTStep.
In 1996, when Apple was up against the wall, NeXTStep was almost ten years old. All they had to do was buy the company, port it to PPC, and change some copyright messages and icons around. Took about two years.
BeOS would have required way more time, money, and expertise.
BeOS had no multi-user, no security (at all), an "aspirational" level of posix compliance, drivers that were a disaster, a network stack specifically designed to frustrate you, and no "companies that actually matter and no Gobe doesn't count" application support.
I get it. It was pretty. It was fast. French electro DJs loved it because it was low latency, and some audio tools were ported to it.
A userbase of French electro DJs doesn't pay the bills.
that market was what jobs had to pivot to (there's a great video where he pushes the rationalization of going to academia and Enterprise workstations) so that next could survive. and it infected apple from the inside.
the timeline everyone missed with beos is exactly apple not becoming the mix of ibm and Microsoft it is today.
And Steve Jobs as the founder of Apple had a political capital than JLG would have ever had.
While I know that the measly $250 million that Microsoft invested in Apple didn’t “save it”, only SJ could make peace with MS (only Nixon could go to China) and make the tough choices.
Founders are given a lot more leeway to make huge changes than any other manager.
Good example, the interface is incredibly snappy but no Wifi. I love the vision of BeOS but it probably would have been the death of Apple if they had gone with it.
https://hardware.besly.de/index.php?hardware=Wireless_Networ... https://discuss.haiku-os.org/t/support-for-realtek-usb-wifi-...
I'd love to see what Apple would have done... but at the same time I fear very much it would have killed Apple.
BeOS was amazing, but its dev tools were nothing special while NeXT's were state of the art, industry-beating. That means no way to win Mac developers over to the new OS.
BeOS was as insecure as Classic MacOS, so no way to crack the server market (not that that worked) and no way to build nice locked-down little gadgets like iPhones.
And while Be had JLG, a very smart cookie, NeXT had Jobs, who had more vision in a day than JLG in a year.
Me, I wish a disappointed Be had done a deal with Acorn and ported to Arm.
Arms in the hundreds-of-MHz range were there and gigahertz-class was coming soon. Acorn had prototype multi-processor machines. Be had the best SMP support in the business in the late 1990s.
They could have reskinned BeOS to look more RISC OS like, run RO in a VM like OS X ran Classic in a VM, and offered both the thinnest lightest Web-capable laptops in the world, and compellingly-priced multiprocessor desktop workstations that didn't need a dozen cooling fans and could have gone to 4-way or even 8-way at an affordable price, which x86 and PowerPC chips could not touch.
I reckon it was the star power of Jobs more than the OS as such that saved Apple in the late 90s.
Jobs' ability to do the deal with MS to get MS Office on the Mac and a cash injection of $150m saved Apple at the time.
We were well into the 2000s before OSX really began to make a difference to Apple's fortunes, and no one could have predicted that OSX would be the foundation for the iPhone OS.
It wasnt even a given that OSX would be the OS for the iPhone during development.
But absolutly, NeXT was the best choice, even if the OSX Beta and 10.0 were almost unusably slow and buggy!
I was at the Paris Mac Expo when Jobs launched the beta, and the excitement was amazing!
Same year as the Key Lime iBooks IIRC. They rose up our of the floor on a pedastal if I'm remembering it right LOL.
I worked at Apple in the 90s, and saw all the demos of early releases of OSX and the confusing stack of platforms and tools. Jobs did the right thing ditching that!
Finally, I remember being at the Mac Expo in London and BE was there. We were standing around admiring the cool light bars on the front of the Be Box and its multitasking abilities.
If I'm remenbering right the lights on the front went up and down to indicate CPU usage. I could be imagining that?
Someone correct me if I'm misremembering :-)
It was years before Apple became profitable and the $50 million was a drop in the bucket
A lot (most?) of Be engineers ended up at a company called Danger, which was bought by Google a few years later, and they all went on to be the original core team of Android. Some BeOS technologies even ended up in Android such as its Binder, which from memory the Be engineer working on it open sourced it just before Palm bought Be, and then he used the same code in Android.
https://www.reddit.com/r/Apple_AUX/comments/11wks6i/what_was...
I remember the AT&T / BSD lawsuit in 1992. Maybe Apple looked at NeXTSTEP and since it is based on the Mach microkernel and BSD that they would be able to fix the 10 or so files to avoid the AT&T / Unix System Labs licensing fees like Free/NetBSD did.
In the 1980's Microsoft had their own port of Unix named Xenix. Why didn't they push this instead of the very limited MS-DOS?
https://www.abortretry.fail/p/the-history-of-xenix
> In March of 1982, Western Electric reduced the royalty fees that it charged for UNIX with the introduction of UNIX System III (a combination of UNIX V7 and PWD). This was done by raising the source license cost, but lowering the royalty per user license to $100 (about $318 in 2023) from $250. This meant that Microsoft’s prepayment of $200000 in 1980 (around $700k in 2023) for a discount in volume was voided if they wished to use the newer system. That same month, on the 10th, Paul Allen held a seminar in NYC where he outlined plans for MS-DOS 2.0.
Hardware requirements.
For a (quite long) while the plan was to keep DOS for microcomputers and Xenix for the serious stuff. DOS gained some extensions that made it very Xenix/UNIX-like (like subdirectories, pipes, "-" as command line switch char, device files in "\dev" instead of a global namespace, etc.).
Did you copy-paste an hallucinating LLM?
MS-DOS 1.x did not have subdirectories.
That came in with MS-DOS 2.x which is when the very rudimentary level of Xenix compatibility came in: device names such as `LPT1:` or `COM2:` could be prefixed as `/dev/lpt1` or `/dev/com2`. Pipes simulated in COMMAND.COM.
I don't recall DOS ever accepting command switches prefixed with `-` instead of `\` as standard, though.
https://forum.winworldpc.com/discussion/comment/171783/#Comm... (devices in \dev, "-" as switch char, etc.).
> While MSDOS had subdirectories, pipes were not supported at the kernel level. It was simply a convenience of COMMAND.COM that simulated pipes by running each command sequentially.
You are confusing the lack of concurrency with lack of pipes -- the mere fact that COMMAND can do what you describe requires UNIX-like pipes and channels (e.g. stdin/out/err), and programs avoiding direct console I/O (way common for DOS programs...). Comm software such as Kermit did the same thing to simulate remote login (I used this one in the day, at least).
How was Solaris an option then?
Apple did not create A/UX. It was created by UniSoft
https://en.wikipedia.org/wiki/UniSoft
https://virtuallyfun.com/2021/09/19/so-what-is-the-deal-with...
I'm guessing that Apple would have to pay a fee to both UniSoft and AT&T and maybe Sun was much larger and a partner with AT&T / Unix System Labs on SysV so maybe they could resell Solaris for cheaper.
Sun open sourced Solaris in 2008 for 2 years. Maybe AT&T / USL didn't care by then or maybe Sun's licensing agreement allowed them to do it. I don't know.
I asked this myself.
The thing that I didn't think about was that A/UX combined 680x0 UNIX™ code with 680x0 MacOS code in very clever ways. MacOS provided the windowing, terminal emulators, the filesystem browser, etc. Unix provided the underlying kernel, the filesystem, networking, etc.
(This is a hand-wavey simplification for illustrative purposes.)
The point being, intimately intertwined, closely integrated.
But classic MacOS only ran on 680x0 and to port it to PowerPC, Apple invented a clever hack built around partial emulation: a nanokernel containing a 680x0-to-PowerPC interpreter (with a way for 680x0 code to call PowerPC code), on top of which ran the MacOS Toolbox ROM image, on top of which ran most of MacOS in 680x0 code. Then they profiled that, and converted the most performance-critical parts -- and only those -- to PowerPC code.
When I ran a PowerMac with classic MacOS, I had a little indicator applet in the menu bar. It was red when executing 680x0 code and turned green for PowerPC code. (Not very helpful for colour blind folks, but hey, fine for me.)
It was red almost all the time. Only years later when substantial PowerPC-native apps started to appear did it sometimes stay green long enough to see.
It wouldn't have been so hard to port the Unix bits of A/UX to PowerPC-native, but that would have ruined the integration between the Unix code and the MacOS code. Getting MacOS all running natively would have been a massive task. Apple never did it; it replaced the entire OS with NeXTstep.
Getting 680x0 MacOS code integrating with PowerPC A/UX code would have been a major technical challenge.
It sounded easy and obvious but it was an even bigger project than Copland, and Apple wisely dediced against it.
http://toastytech.com/guis/rhap.html
And there's some description of the emulation nanokernel:
https://en.wikipedia.org/wiki/Mac_OS_nanokernel
But in its way OS X was much more of a clean break: a whole new OS, ported to the old hardware, tweaked to understand filesystems and file formats and given a shallow cosmetic resemblance.
A/UX was a much tighter integrated system. Some of the OS functionality was provided by actual classic MacOS.
What was left, if that was removed, was a fairly unremarkable Unix for its time. You could even boot it in a sort of vanilla-Unix form.
You can compare and contrast here:
https://www.aux-penelope.com/screenshots.htm
E.g. for v3, top 2 rows (pics 1-6) are in Mac mode, bottom row (7-9) are in Unix mode. A bit like the ANS with AIX, there's little to appeal to Apple users here:
But wow do I remember how exciting it was the first time I read about it in MacUser magazine. Basically some GUI mockups and promises of cool under-the-hood improvements, possibly the first time I was excited about future computing. Thank goodness they bought NeXT instead. They had no ability to manage projects at scale at the time.
Too bad TimApple has no sense of how to do anything other than chase growth; we need another product person at the helm. Oh well.
VisionOS has some of the most incredible, coolest engineering I've seen in a long time, from top to bottom. Even if you're not interested in AR/VR, the writeups and sessions about the dual processor OS layout they've used, the scene and room graphing technology they've built, and the challenges of building ultra low latency pass through scene reconstruction and mapping are incredible.
Vision Pro might honestly be one of the technically coolest things built in the last 10 years, and I really hope they get the price down and fix some of the UX (weight, battery, etc), because it is something I use every day (and in fact, am writing this post on right now). It's for sure a Beta/DevKit/etc, and I wouldn't recommend the casual person to buy one, but again, on engineering chops alone, it is a masterpiece.
Very much agreed. I get why it’s expensive and I’m no stranger to the apple tax (and usually don’t mind it all that much), but I got the email today that it’s now available in Canada and $5k for a headset is… steep.
Yeah, it's expensive, but it's also astonishing how much prices have come down.
$5500 for an entry level laptop! You can get an M2 MacBook for $800 today, and I couldn't even begin to describe how much more tech is inside that thing for 20% of the price.
Sadly, that is a low bar to clear.
Offhand I can't think of a single thing.
Between 1994 and 2004 we went from Windows 3.x and Classic MacOS, to OS X and WinXP.
Linux went from being a toy to a serious viable OS.
Before: 16-bit OSes with some 32-bit parts, all resolutely single-CPU, many primarily based around cooperative multitasking with no real memory protection, and mainly proprietary networking.
After: pure 32-bit OSes, with proper preemptive multitasking and hardware memory protection, capable of SMP on multiprocessor systems, with TCP/IP based networking.
From 2004-2014 the industry moved from mainly single-CPU 32-bit machines to multi-core 64-bit machines everywhere, with UIs rendered through hardware 3D, and a heavy reliance on Web protocols for almost all network functionality. A much smoother transition but that was because of the big changes in the previous decade.
Linux went from being a nerd tool to a usable mainstream OS that was rapidly taking over the server market. Smartphones went from toys to maintstream. Chromebooks arrived in 2011, and Linux started to become a consumer OS.
Since 2014... er... containers everywhere on servers? Electron apps proliferating? That's about all that springs to mind.
The focus shifted very hard over the past 15-20 years from selling people new and novel gadgets and software to turning us ordinary folks into "monthly active users." Personal computing got a lot less personal, and Apple leaned into it to stay relevant.
Both visionary, both only partial successes.
WinFS :-(
if you look at what accessibility software achieves by simply looking at the screen/hooking into the OS, now imagine any and all software could be connected like that.
some of this functionality is now provided in individual silos, e.g. an email with an appointment in gmail can go into your Google calendar. a ticket from your train company can be added to Google wallet.
but if you look at a flight booking system and want to compare the total price of a given set of dates for travel, including hotel and other things at different times - you're back to doing it on paper (or use somebody's website where 20% of the flights or hotels you want aren't included).
You mean, COM?
Smalltalk was OS/2's .NET, so to speak.
Unfortunately it all died alongside OS/2, followed by IBM's pivot to Java.
I believe Tribes 2 did something similar just at a higher level
While initially Java on AS/400 did take advantage of TIMI, IBM eventually moved away from it, into regular JVM design on now IBM i.
Most likely because IBM z doesn't use TIMI, rather language environments, and they want a more straight design, or due to Java dynamic capabilities using TIMI wasn't the best approach.
On AS/400 (IBM i), only Metal C, and the underlying kernel/firmware, written in a mix of PL.8, Modula-2 and C++, are pure native code.
Unfortunately that's kind of a pipe dream... in the real world, the first organization to flagrantly violate the OS vendor's human interface guidelines is the OS vendor itself, who ships some application with custom-schmustom, owner-drawn widgets that cannot be queried according to the standard OS APIs for querying them for content. So the accessibility software literally has to OCR the screen to determine what's written in the text fields and buttons.
Source: Knew a guy who worked on Dragon NaturallySpeaking, he had some war stories.
> now imagine any and all software could be connected like that.
As other commenters mentioned, there's COM, but that's a hairball to code for and a hairball to configure. The nicest systems that worked that way historically were the Lisp machine and Smalltalk environments, but the closest day-to-day software is probably Emacs. Everything in Emacs really can be connected together through the power of text buffers and Lisp. Objective-C is Smalltalk semantics retrofitted onto C, and originally NEXTSTEP, later macOS, really was a promising environment for this sort of integration... but in recent years Apple has been so focused on "apps" that it's doubtful they can keep supporting that vision.
If you want to ship a product so that it becomes commercially successful, you often have to "deeply taint" this clear vision to make the product compatible with the multitude of very inelegant (industry) standards that customers expect/require.
Thus the nostalgia is not about shipping vs not shipping, but about keeping an elegant vision or be willing to taint it to be compatible with a "depraved" world.
Then you start trying to bring the New Thing(r) into the Real World(tm) and there are 5000 edge cases the original project dealt with in a 42-page if/else block for 270 different OEM patches that were sold by some JV team in another building who have never written a line of code in their lives.
If only we had done X, if only this group had succeeded instead of failed in the past... I do agree that it's a way to avoid looking at the actual implementations and details of a real thing, and just go to what might have been directly.
Gosh, am I glad that that didn't happen. I wonder how serious of an option that really was, it seems wildly out of place compared to the other propositions, which are all reasonable.
When Mac OS X was eventually released it looked utterly different.
My memories are surely tainted by nostalgia because 1997-2001 I was a teen and avid Mac user but from what I remember between the mid-90s Performa on 7.5 and late 90s iMac on 9 it felt like a lot happened. While not the future, as an end user 8.6/9 felt relatively modern, especially compared to Windows 95/98. And even in the mid-90s even if from a business POV the future was bleak for Apple from an end user one 7.5 was not really worst than 95.
Amelio and the rest of his senior staff began searching for a way out. They needed a new operating system to buoy their attempts to compete with the Wintel juggernaut. The same search had taken place several times before, but now the company was desperate.
Limited Options Ultimately the list of possible targets was narrowed down to five options:
License Windows NT from Microsoft and bolt a Mac-like interface onto it. License Solaris from Sun and bolt a Mac-like interface onto it. Narrow the focus of the flagging Copland project and release it in a year and a half. Acquire Be and use BeOS. Acquire NeXT and use OpenStep.