BeOS: The Alternate Universe's Mac OS X
hackaday.com
hackaday.com
That said, I don't think the world would be in a better place had Apple chosen Be over NeXT. The elephant in the room is security: NeXTSTEP, being Unix-based, has some amount of security baked in from the ground up. BeOS didn't; it was more akin to Windows 95 or classic Mac OS on that front. Consequently, I doubt it could have made it far into the 21st century. It would have died unceremoniously in a steaming pile of AYBABTU. Taking Apple with it, presumably.
I was able to do most of the CS course work projects normally done on my University's Sun workstations on BeOS instead. Most of these of courses were data structures, algorithms, compilers, etc projects in C, and not things that required platform specific APIs.
But arguably, BeOS' overall model - a single user desktop OS built on top of but hiding its modern OS underpinnings like memory protection and preemptive multitasking - is far more similar to what eventually became MacOSX than Linux. Which isn't so surprising since it was built by ex apple folks. Remember that consumer OSs before this point had no memory protection or preemptive multitasking.
Linux, though it had the same modern OS features, was far more closely aligned in spirit with the timeshared modern multi-user Unix OS's like what ran the aforementioned Sun workstations (it's "Linus' Unix after all).
Surely it had a cli, UNIX like directory navigation and a couple of UNIX command like utilities.
But good luck porting UNIX CLI software expecting a full POSIX environment.
If I am not mistaken, Haiku has done most of the work regarding POSIX support.
I was also able to get most my CS homework done in BeOS. But I definitely needed to keep FreeBSD around for when I hit a wall.
I regretted having to move away from BeOS, it was by far the most pleasant OS I’ve used, but the lack of hardware and software support killed it.
Having a shell that looks like UNIX, and a couple of command line utilities similar to the UNIX ones, does not make an OS UNIX.
Also, let’s keep in mind that Windows95 (released that same year) featured preemptive multitasking on a desktop user OS (albeit not a strong memory protection model), and WindowsNT has been available for a couple of years by then (having first shipped in 1993, If memory serves) and was a fully ‘modern’ OS (indeed it serves as the basis for the latter Windows), albeit with a comparatively large footprint.
I was an avid BeOS user (and coincidentally a NeXT user too) and I was enthralled by its capabilities, but in terms of system architecture it was a dead end.
> Several processes can exist at one time, and they appear to run simultaneously because the CPU is multiplexed among them. The scheduler decides what process should use the CPU at any one time. It uses a generally non-preemptive scheduling algorithm. This means that a process wlll not lose the CPU unless it blocks. (…)
> A process can lose the CPU when one of the following happens:
> • The process calls an Operating System procedure or function.
> • The process references one of its code segments that is not currently in memory.
> If neither of these occur, the process will not lose the CPU.
In other words, non-preemptive, unless the OS becomes the foreground process, in which case it may block the active process in favor of another one currently in ready or blocked state.
Unfortunately this meant BeOS was perpetually behind the curve on stuff like the World Wide Web. I had a native FreeBSD build of Netscape long before Be managed to get a decent browser.
Neither OS had the kind of security that is really useful today for this usecase, which is per-application.
If you never evolved account based security, you never built the infra for even evaluating application permissions in the first place.
Edit: gotta love HN! I try to be helpful to someone else that was downvoted to heck with an explanation of why that was the case (based on past replies I’ve seen) and now my post is the own with a negative score. Cheers y’all!
Personally I don't know Android innards deeply, but when I was trying to backup and restore a rooted phone I did notice that every app's files have a different owner uid/gid and the apps typically won't launch without that set up correctly. So it would seem they implemented per-app separation in this instance by having a uid per app.
Imagine a world where Google had chosen to build on a kernel that had spent many decades with no filesystem permissions at all. Perhaps they'd have to pay the same app compatibility costs that Microsoft did going from 9x to NT kernel, or changing the default filesystem to ACL'd-down NTFS.
Someone else pointed out that BeOS allegedly had "quality and security" problems in general (I myself have no idea), so that may indeed have led to problems down the line, whereas BSD was pretty solid. But I agree with the OP and don't think POSIX security in particular is much of a factor today.
Of course, that was in back in the days when an entire platform from hardware to userland could be exclusively optimized to utterly and comprehensively smash it in just one very specific and precisely targeted market. Which is, of course, exactly what the iPhone was.
Just as the first Apple Macintosh a decade earlier eschewed not only multi-user, multi-process, and even a kernel; every single bit and cycle its being being exclusive dedicated to delivering a revolutionary consumer UI experience instead!
In comparison, NeXTSTEP, which ultimately became iOS, is just one great huge glorious bodge. “Worse is Better” indeed!
..
Honesly, poor Be was just really unlucky in timing: a few years too late to usurp SGI; a few too early to take the vast online rich-content-streaming world all for its own. Just imagine… a BeOS-based smartphone hitting the global market in 2000, complete with live streaming AV media and conferencing from launch! And Oh!, how every Mac OS and Windows neckbeards would’ve screamed at that!:)
My guess is that by now in 2020, it would have at some point had an OSX moment where Commodore would have had to chuck it out, since both Apple and Microsoft have effectively done exactly that since then. Still, I'd love to peek into Amiga OS 9 descended from continual usage.
It's a bit how DragonflyBSD is slowly converging to.
Since inter-process communication in Amiga OS was based on message passing with memory-sharing, it was impossible to add MMU-based memory protection later. As far as I know, even Amiga OS 4 (which runs on PowerPC platforms) is not able to provide full memory protection.
There was also only minimal support for resource tracking (although it was originally planned for the user interface). If a process crashed, its windows etc. would stay open. And nobody prevented a process to pass pointers to allocated system resources (e.g. a window) to other processes.
The API was incomplete and tied to the hardware, especially for everything concerning graphics. This encouraged programmers to directly access the hardware and the internal data structures of the OS. This situation was greatly improved in Amiga OS 3, of course far too late. Amiga OS 3 was basically two or three years too late. As far as I know, Apple provided much cleaner APIs, which greatly simplified later the evolution of their OS without breaking all existing programs.
Finally, the entire OS was designed for single-core CPUs. At several places in the OS, it is assumed that only one process can run at a time. This doesn't sound like a big issue (could be fixed, right?) but so far nobody has managed to port Amiga OS to multi-core CPUs (Amiga OS4 runs on multi-core CPUs, but it can only use one core).
I have been the owner of an Amiga 500 and Amiga 1200, but to be brutally honest, I see Amiga as a one-hit wonder. After the initial design in the mid-1980s, development of the OS and the hardware basically stopped.
Why can't you do shared memory message passing with MMU protection? There is no reason an application in a modern memory protected OS can't voluntarily share pages when the use case is appropriate. This happens today. You can mmap the same pages, you can use posix shm, X has the shm extension...
Separating admin user from non admin user always has advantages and I do it even on Windows.
Median is literally the middle, like a highway.
For example, suppose five computers have 1 user, 1 user, 1 user, 3 users, 300 users. The median is 1 user.
The claim of "median 1 user" just means more than half of computers has a single user.
We used to be able to trust intentionally installed programs not to exfiltrate data. It's sad that we still can't.
[1] https://en.wikipedia.org/wiki/All_your_base_are_belong_to_us
Edit: removed the extra A in the acronym
Anyways, Windows 10 may have its problems, but Microsoft the company is doing pretty well. Their stock is up about 50% this year (200% over the past 5). And that’s not to mention the fact that they’ve open sourced .NET among many other things.
I also had (non-CS but very smart) friends who switched to (ie dual-booted) Linux on their own after seeing how much better my system was than a Windows box. A decade later, one of them is getting her PhD in veterinary pathology and still dual boots, firing Windows up only when she feels like gaming.
[1] My impression is that committed PC gamers aren't a large portion of the desktop user population, but I may be wrong.
But you have to consider what else was going on at the time: Microsoft was actively moving away from the DOS lineage. OS/2 had been in development since the mid-1980s, and, while that project came to an ugly end, they had also released the first version of Windows NT in the early '90s, and, by the late '90s, they were purposefully moving toward building their next-gen consumer OS on top of it.
Apple needed to be making similarly strong moves toward a multi-user OS with concerns like security baked in deeply. BeOS had the memory protection and the pre-emptive multitasking, which were definitely steps forward, but I don't think they would have taken Apple far enough to allow them to keep up with Microsoft. Which, in turn, would have allowed Microsoft to rest on its laurels, probably to the detriment of the Windows ecosystem.
Instead of competition, Apple survives off marketing medium quality products at high prices.
I'm not sure how that's good for anyone unless they own Apple stock.
This is very true. macOS and the iPhone, for me, went from being "obviously the very best of the best" to "the lesser of all evils".
When my 2015 rMBP finally gives up the ghost and / or when 10.13 loses compatibility with the applications I use, I have no idea what I'm going to do - probably buy another working 2015 rMBP used and pray that the Linux drivers are livable by then.
I know it's ridiculous, but it helps me fall asleep at night sometimes.
- I still have mostly USB 2.0 peripherals. I don't see that changing anytime soon.
- I'm still hung up on the MagSafe adapter.
- I love the form factor. The 13" display is the perfect size, for me. I could've switched to a 15" 2015 rMBP with better specs, but I hated how big it was.
- I have no interest in using any version of macOS beyond 10.13, at present.
I'm really glad that they brought the Esc key back, especially as a pretty serious vim user. I don't know, maybe I'm stuck in the past. I'm certain that many, many people are really enjoying the new Macbook Pro 16; I just really, really like this laptop. It's the best computer I've ever owned.
- The TouchBar is terrible
I hope they'll bring back a non-TouchBar configuration when they release the "new" keyboard on a 13" MacBook Pro. I could live with both a 13" or 15" laptop, but right now the list of drawbacks is still 1-2 items too long.
And a huge part of Apple's current success is based on the tech and expertise they got from NeXT. That work underpins not just laptops and desktops but phones, tablets, set-top boxes, and more.
Maybe good marketing is really hard and you can't just "copy Apple"?
Apple's iPod wasn't the first mp3 player, and it for damn sure wasn't technically superior.
The iPhone was not the first smartphone, nor the first phone with a touchscreen, nor the first phone with a web browser, nor the first phone with an App Store. It arguably had a better UX than incumbents, but better UX doesn't win markets just by dint of existing.
The iMac was a cute computer that couldn't run prevalent Windows software and didn't have a floppy drive.
Recent MacBook Pros have an awful keyboard, not just aesthetically but with known hardware problems. I understand at long last they're reverting to an older, better design.
Tech and expertise don't win just because they exist.
The fact that it isn't a net good for users in most cases doesn't mean that it's trivial to do.
This seems like a failure of imagination.
I'm not a huge Apple fan, but I lived through the Bad Old Microsoft of the '90s, and grew up on stories of IBM of the '80s.
Apple is nothing like them.
Does that include the quality and security perspective as well? ;-) j/k
Having never crossed paths with a former Be employee before, __thank you so much__ for your contribution. BeOS was so instrumental to my perspective on computing and operating systems (and potentially the conception of my disdain for what Microsoft did to the world of operating systems around the turn of the century).
From a user perspective, BeOS was nearly perfect. Great UI and utilities, POSIX command line, so fast and responsive. The "install to Windows" option was amazing for trying things out. BeFS was wonderful (it's nice to see Mr. Giampaolo's work continue in macOS).
That's correct, the IPC in AOSP, Binder, is basically borrow from BeOS
I was sore about it at the time, but I agree that Apple made the right decision by choosing NextStep over BeOS. If for no other reason, because that's what brought Jobs back. It's hard to imagine Apple making their stunning comeback without him.
I’d always heard that after Amiga (and Be) many decided to opt for Linux for philosophical reasons.
Can I assume that the quality issues were somewhat related to that? BeOS devs found it no easier to write thread safe code in C++ than app devs did?
Thanks for the memories.
Yes. Except that it wasn’t acquiring NeXTSTEP that saved Apple’s skin; it was acquiring Steven P Jobs.
True, version 1 had been rough and flakey as hell, and honestly really didn’t work all that well.
But Steve 2.0? Damn, that one could sell.
You may have the finest tech on the planet—and that means precisely squat. What counts is putting bums on seats. Your seats. And keeping them there. Limps of tech are just a vehicle for that; to be used, abused, chewed up, and/or discarded on the road(s) to that end.
Apple could have done better; they certainly did plenty worse (Copland, Taligent, the first Mac OS).
As it turned out, NeXTSTEP proved it was indeed “good enough” to fit a pressing need at the time; and the rest was just hammering till it looked lickable enough for consumers to bite. All it was needed was a salesman to shift it—and Steve 2.0 proved to be one of the greatest salesman in modern marketing history.
That’s what made the difference between selling a tech to a million dyed-in-the-wirewool nerds, and selling tech to a billion everyday consumers. And then up-selling all of those customers to completely new worlds of products and services invented just for the purpose.
..
Want to created a whole new device? Hire Steve Wozniak.
Want to create a whole new world? Oh, but that is the real trick.
And Steve Jobs gave us the masterclass.
..
Had Steve started Be and Jean-Louis built NeXT, we would still be in the exact same situation today, and the only difference would be chunks of BeOS as the iPhone’s bones instead. Funny old world, eh? :)
Jobs was obviously talented, but assuming no matter where he went he would have had the same level of success is discounting a lot of luck in how everything lined up,and who was available to help bring all the things to market jobs is famous for. There's no guarantee the hundreds or thousands of people that were also essential to the major successes of Apple would have been around jobs had he stayed at Next. Those people deserve respect and recognition too.
And unlike v1 v2 seems better on human level as well. We do not need saint. He still parked in space for hadicapped only I guess. But let us admit, it is not just one for all. But all for one.
“But let us admit, it is not just one for all. But all for one.”
Damn straight. Epically focused leadership.
--
(† For all others who aspire to build their own businesses, there is HR procedure and askamanager.org—and do not for the life of you ever bypass either!)
Epically focused indeed.
ORLY? Name them.
--
Not “great man”. Great vision.
Geeks tend massively to overrate the importance technical aptitude, which is what they’re good at, and underrate everything else—business experience, sales skills, market savvy, and other soft skills—which they’re not.
Contrast someone like Jobs, who understood the technical side well enough to be able to surround himself with high-quality technical people and communicate effectively with them, but make no mistake: they were there to deliver his vision, not their own.
Tech-exclusive geeks a useful resource, but they have to be kept on a zero-length leash lest they start thinking that they should be the ones in charge since they know more about tech than anyone else. And the moment they’re allowed to get away with it, and you end up with the tails-wagging-the-dog internecine malfunction that plagued Sculley’s Apple in the 90s and has to some extent resurfaced under Cook.
Lots of things happened under Jobs 2.0. That was NEVER one of them.
..
Case in point: Just take the endless gushing geek love for Cook-Apple’s Swift language. And then look at how little the iOS platform itself has moved forward over the 10 years, it’s taken to [partly] replace ObjC with the only incrementally improved Swift. When NeXT created what is now AppKit, it was 20 years ahead of its time. Now it’s a good ten behind, and massively devalued to boot by the rotten impedance-mismatch between ObjC/Cococa’s Smalltalk-inspired model and Swift’s C++-like semantics.
Had Jobs not passed, I seriously doubt Lattner’s pet project would ever have advanced to the point of daylight. Steve would’ve looked at it and asked: How can it add to Apple’s existing investments? And then told Lattner to chuck it, and create an “Objective-C 3.0”; that is, the smallest delta between what they already had (ObjC 2.0) and the modern, safe, easy-to-use (type-inferred, no-nonsense) language they so pressingly needed.
..
Look, I don’t doubt eventually Apple will migrate all but the large legacy productivity apps like Office and CC away from AppKit and ObjC and onto Swift and SwiftUI. But whose interest does that really serve? The ten million geeks who get paid for writing and rewriting all that code, and have huge fun squandering millions of development-hours doing so? Or the billion users, who for years see minimal progress or improvement in their iOS app experience?
Not to put too a fine a point on it: if Google Android is failing to capitalize on iPhone’s Swift-induced stall-out by charging ahead in that time, it’s only because it has the same geek-serving internal dysfunction undermining its own ability to innovate and advance the USER product experience.
--
TL;DR: I’ve launched a tech startup, [mis]run it, and cratered it. And that was with with a genuinely unique, groundbreaking, and already working tech with the product potential to revolutionize a major chunk of trillion-dollar global industry, saving and generating customers billions of dollars a year.
It’s an experience that has given me a whole new appreciation for what another nobody person starting out of his garage, and with his own false starts and failures, was ultimately able to build.
And I would trade 20 years of programming process for just one day of salesmanship from Steve Jobs’ left toe, and know I’d got the best deal by far. Like I say, this is not about a person. It is about having the larger vision and having the skills to deliver it.
And neither of them would've mattered a jot if they were born in the Democratic Republic of the Congo, or if they were medieval peasants, or if Jobs hadn't been adopted, or or or ...
Luck is enormously influential. There thousands of Jobsalikes per Jobs. Necessity isn't sufficiency.
I would also say, Jobs had a far, far higher regard for technical talent than you do. He was absolutely obsessed with finding the absolute best engineering and technical people to work for him so he could deliver his vision. He recognized the value of Woz's talents more than Woz himself. He gathered the original Mac team. If he had, say, a random group of Microsoft or IBM developers, the Mac never would have happened. Same with Next, many of whom were still around to deliver iOS and the iPhone.
Your take is like a professional sports manager saying having good athletes isn't important, the quality of the manager's managing is the only thing that matters.
Very true. “Renaissance Man” is a such cliche, but Steve Jobs really was. Having those tech skills and interests under his belt is what made him such a fabulous tech leader and tech salesman; and without that mix he’d have just been one more Swiss Tony bullshit artist in an ocean of the bums. (Like many here I’ve worked with that sort, and the old joke about the salesman, the developer, and the bear is frighteningly on the nose.)
But whereas someone like Woz loved and built tech for its own sake, and was perfectly happy doing that and nothing else all his life, Jobs always saw tech as just the means to his own ends: which wasn’t even inventing revolutionary new products so much as inventing revolutionary new markets to sell those products into. The idea that personal computers should be Consumer Devices that “Just Work”; that was absolutely Jobs.
And yeah, Job always used the very best tech talent he could find, because the man’s own standards started far above the level that most geeks declare “utterly impossible; can’t be done”, and he had ZERO tolerance for that. And of course, with the very best tools in hand, he wrangled that “impossible” right out of them; and the rest is history.
Woz made tech. Jobs made markets.
As for Sculley, he made a hash. And while Cook may be raking in cash right now, he’s really made a hash of it too: for he’s not made a single new new market† in a decade, while Apple’s rivals—Amazon and Google—are stealing the long-term lead that Jobs’s pre-Cook Apple had worked so hard to build up.
--
(† And no, things like earpods and TV programming do no count, because they’re only addons, not standalone products, and so can only sell as well the iPhone sells. And the moment iPhone sales drop off a cliff, Cook’s whole undiversified house of cards collapses, and they might as well shut up shop and give the money back to the shareholders.)
Postscript: You misread me. I understand where Jobs was coming from better than you think. But maybe I’m not explaining myself well.
..
When my old man retired, he was executive manager for a national power company overseeing distribution network. Senior leadership. But he started out as a junior line engineer freshly qualified from EE school, and over the following three decades worked his way up from that.
(I still remember those early Christmas callouts: all the lights’d go out; and off into the night he would go, like Batman.:)
And as he later always said to engineers under him, his job was to know enough engineering to manage them effectively, and their job was to be the experts at all the details and to always keep him right. And his engineers loved him for it. Not least ’cos that was a job where mistakes don’t just upset business and shut down chunks of the country, they cause closed-coffin funerals and legal inquests too.
--
i.e. My old man was a bloody great manager because he was a damn good engineer to begin with. And while he could’ve been a happy engineer doing happy engineering things all his life he was determined to be far more, and worked his arse off to achieve it too.
And that’s the kind of geek Steve Jobs was. Someone who could’ve easily lived within comfortable geeky limitations, but utterly refused to do so.
’Cos he wanted to shape the world.
I doff my cap at that.
You shouldn't talk about Sun like that.
Jobs was an outstanding product manager who sweated all the details for his products. And in contrast to Tim Cook, Jobs was a passionate user of actual desktop and laptop computers. He sweated the details of the iPhone too, but his daily driver was a mac, not an iPad. Cook is less into the product aspect, and it really really shows. Cook is a numbers and logistics guy, but not really into the product.
That's a thing I think Apple has fixed recently with some reshuffling and putting a product person (Jeff Williams) in the COO role. The COO role is also a signal that he'll be the next CEO when Tim Cook retires.
To be clear, I don't disagree that Jobs was a great marketer. But that stemmed from his own personal involvement with the product design of the mac--and later the iOS devices--rather than some weirdly prodigious knack for marketing.
It's wrong.
Original NeXT classes were prefixed NX_. Then NeXT worked with Sun to make a portable version of the GUI that could run on top of other OSes -- primarily targeting Solaris, of course, but also Windows NT.
That was called OpenStep and it is the source of classes with the prefix NS_ -- standing for Next/Sun.
https://en.wikipedia.org/wiki/OpenStep#History
This is why Sun bought NeXT software vendor Lighthouse, whose CEO Jonathan Schwartz who later became Sun's CEO.
Unfortunately for NeXT (and ultimately for Sun), right after this, Sun changed course and backed Java instead.
OSX/macOS/iOS is the latest evolution of NeXTStep/Mach which originated in the Aleph (and other) academic kernels.
(of course OS's evolve pretty far in a few decades...)
Not quite. Everything in Foundation gets the NS prefix because it's in Foundation; only a fraction of it came directly from NeXT.
So while it might not have been quite ready for the median System 7 user's expectations, it was pretty solid.
I love everything I've read about BeOS but to be honest I must mention I couldn't understand how to use Haiku (I've never used the original BeOS) once I've tried - id didn't feel intuitive at all. And I'm not really stupid, I've been using different flavors of Linux as a primary OS for over a decade.
> That said, I don't think the world would be in a better place had Apple chosen Be over NeXT. The elephant in the room is security: NeXTSTEP, being Unix-based, has some amount of security baked in from the ground up. BeOS didn't; it was more akin to Windows 95 or classic Mac OS on that front.
Some times I miss the days of Windows 95 so much. I wish desktop OSes could be more simple, i.e. without multi-user and file access rights. When it's my own personal computer all I want of it from the security perspective is to prevent others from unlocking it or recovering data from it and to prevent any network communication except that I authorized. Sadly Linux still doesn't even have a decent implementation of the latter (Mac has LittleSnitch).
Windows 9x did pretty well for me - I've never caught a virus, never corrupted a system file and it was easy to fix for others who did.
Have a look into Oberon and its successor A2/Bluebottle.
- Pe was a great GUI text editor, competitive with BBEdit on the Mac
- GoBe Productive was comparable to AppleWorks, but maybe a little better at being compatible with Microsoft Office
- SoundPlay was a great MP3 player that could do crazy things that I still don't see anything doing 20 years later (it had speed control for files, including playing backwards, and could mix files that were queued up for playback; it didn't have any library management, but BeOS's file system let you expose arbitrary metadata -- like MP3 song/artist/etc. tags! -- right in file windows)
- Mail-It was the second-best email client I ever used, behind the now also sadly-defunct Mailsmith
- e-Picture was an object-based bitmapped graphics editor similar in spirit and functionality to Macromedia's Fireworks, and was something I genuinely missed for years after leaving BeOS
And there were other programs that were amazing, even though I didn't use them: Adamation's video editor (videoElements? something like that), their audio editor audioElements, Steinberg's Nuendo, objektSynth, and two programs which are incredibly still being sold today: Lost Marble's Moho animation program, now sold by Smith Micro for Mac and PC, and the radio automation package TuneTracker (incredibly now being sold as a turnkey bundle with Haiku). Also, for years, there was a professional-grade theatre light/audio control system, LCS CueStation, that ran on BeOS -- and it actually ran Broadway and Las Vegas productions. I remember seeing it running at the Cirque de Soleil permanent installation at Disney World in Orlando.
At the time Apple bought Next rather than Be, I thought they'd made a horrible mistake. Given Apple's trajectory afterward, of course, it's hard to say that looking back. It's very possible that if they'd bought Be, they'd have gone under, although I think that would have less to do with technology than with the management they'd have ended up with (or more accurately, stayed with). But it's still an interesting "what if."
NeXT hardware also failed but was the rightful choice for Apple over Be due to getting NeXTSTEP and Jobs again. But even after the war is over, we're now all generals.
This made BeOS (and BeBox) a great product in my mind; the ability to use it in unexpected ways.
what's the name of the 2d illustration software that modelled real wet paint brushes and textured pencils? That was unlike anything I'd seen at the time, I remember putting quite a lot of effort into finding a compatible wacom.
Why wasn't it called BeBeEdit?!
(These are fuzzy memories from ~25 years ago. It would be nice if someone could confirm this story or tell me if it's just my imagination.)
The 8-way PIII Xeon was a Compaq someone tested BeOS on before it went into production. I Remember it being posted on some BeOS news site. There should be another screenshot or two with 25 avi files playing and a crap load of CPU hungry programs running at once. Impressive feat circa 2000. Edit: browse the screenshot directory for the other two. Amazing they survived time, internet, bit rot and my memory: http://birdhouse.org/beos/8way/
The BeOS scheduler prioritized the GUI and media programs so you could load the machine down to 100% and the GUI never stuttered and windows could be smoothly moved, maximized and minimized at 100% CPU. Rather, your programs would stutter. And everything was given a fair chance at CPU time.
Very nice design and the OS was built from the ground up for multimedia and threading for SMP. It was a real nice attempt at building a next generation desktop OS. Had no security even though it had basic POSIX compatibility and a bash shell. Security bits meant nothing.
MacOS prior to OS X had the same property: literally nothing else could happen at the same time if the user was moving the mouse, which is why you had to take the ball out of the mouse before burning a CD-R on that operating system.
You’re only partially correct about classic macOS: you could definitely hang the OS by holding down the mouse button but this wasn’t a problem for playing music, burning CD-Rs, etc. in normal usage unless you had the cheapest of low-end setups because a small buffer would usually suffice. I worked with a bunch of graphic designers back then and they didn’t get coasters at a significant rate or more than their Windows-using counterparts, and they burned a lot of them since our clients couldn’t get large files over a network connection faster than weeks.
Among these chips was one called "OS chip" you had from the very beginning. If you'd try to replace that or simply exchange it for another one you "died" instantly and were greeted by the end-credits.
??
I wish we had more options today. On modern x86 hardware, you pretty much just have Windows, Linux and maybe FreeBSD/OpenBSD if you replace your Wi-Fi card with an older one (or MacOS if you're feeling Hackintoshy .. or just buy Apple hardware). I guess three is kinda the limit you're going to hit when it comes to broad support.
By the time the Pentium came around, the future looked like a completely monotonous stretch of Windows NT on x86 for ever and ever, amen. No serious hardware competition, other than Intel being smart enough to not kill AMD outright for fear of antitrust litigation, and no software competition on the desktop, with OSS OSes being barely usable then (due to an infinite backlog of shitty hardware like Winmodems and consumer-grade printers) and Apple in a permanent funk.
We were perpetually a bit afraid that Microsoft/Intel would pull something like Palladium/Trustworthy Computing [1] and lock down PC hardware but good, finally killing the Rebel Alliance of Linux/BSD, but somehow the hammer never quite fell. It did in the cell phone world, though, albeit in an inconsistent fashion.
[1] https://en.wikipedia.org/wiki/Next-Generation_Secure_Computi...
Microsoft and Intel really seemed permanent back then. I wonder if that's how people felt about IBM back in the 1950s.
Desktops are now a niche product, where buying cards has to be done mostly online, with most malls having only laptops and 2-1 on display.
Servers are away in some cloud, running virtualized OSes on top of a level-1 hypervisor.
MS worked with SGI on a project known as Fahrenheit - to unify Direct3D and OpenGL:
https://en.wikipedia.org/wiki/Fahrenheit_(graphics_API)
...well, we all know what happened - but I've often thought that Microsoft hastened their demise.
Somewhere in there, of course, was also the whole SGI moving away from IRIX (SGI's unix variant) to Windows NT (IIRC, this was on the Octane platform) - there being some upset over it by the SGI community. Maybe that was part of the "last gasp"? I'm sure some here have better info about those times; I merely watched from the sidelines, because I certainly didn't have any access to SGI hardware, nor any means to purchase some myself - waaaaay out of my price range then and now.
Of course - had SGI not gone belly up, I'm not sure we'd have NVidia today...? So maybe there's a silver lining there at least?
I agree that phones are more locked down than desktops/laptops nowadays, but it's worth pointing out that neither Microsoft or Intel are really winners in this area. They both still are doing fairly well in the desktop/laptop in terms of market share though.
https://www.osnews.com/story/681/be-inc-files-suit-against-m...
True. I've always regarded "Wintel" as more descriptive than accusatory. It's just a handy shorthand to refer to one specific monoculture.
> Between Palladium not working out and Microsoft actually making Windows NT for some RISC ISA's, there wasn't actually an Intel/Microsoft conspiracy to dominate the industry together.
Right. They both happened to rise and converge, and it's humanity's need to see patterns which turns that into a conspiracy to take over the world. They both owe IBM a huge debt, and IBM did what it did with no intention of being knocked down by the companies it did business with.
A few years earlier things were a little more bleak.
> A few years earlier things were a little more bleak.
I admit I was unclear on the time I was talking about, and probably inadvertently mangled a few things.
As for Linux in the XP era, I was using it, yes, but I wouldn't recommend it to others back then because it still had pretty hard sticking points with regards to what hardware it could use. As I said, Winmodems (cheap sound cards with a phone jack instead of a speaker/microphone jack, which shove all of the modem functionality onto the CPU) were one issue, and then there was WiFi on laptops, and NTFS support wasn't there yet, either. I remember USB and the move away from dial-up as being big helps in hardware compatibility.
ndiswrapper. It's almost a shibboleth among people who were using Linux on laptops Way Back When.
https://en.wikipedia.org/wiki/NDISwrapper
> NDISwrapper is a free software driver wrapper that enables the use of Windows XP network device drivers (for devices such as PCI cards, USB modems, and routers) on Linux operating systems. NDISwrapper works by implementing the Windows kernel and NDIS APIs and dynamically linking Windows network drivers to this implementation. As a result, it only works on systems based on the instruction set architectures supported by Windows, namely IA-32 and x86-64.
[snip]
> When a Linux application calls a device which is registered on Linux as an NDISwrapper device, the NDISwrapper determines which Windows driver is targeted. It then converts the Linux query into Windows parlance, it calls the Windows driver, waits for the result and translates it into Linux parlance then sends the result back to the Linux application. It's possible from a Linux driver (NDISwrapper is a Linux driver) to call a Windows driver because they both execute in the same address space (the same as the Linux kernel). If the Windows driver is composed of layered drivers (for example one for Ethernet above one for USB) it's the upper layer driver which is called, and this upper layer will create new calls (IRP in Windows parlance) by calling the "mini ntoskrnl". So the "mini ntoskrnl" must know there are other drivers, it must have registered them in its internal database a priori by reading the Windows ".inf" files.
It's kind of amazing it worked as well as it did. It wasn't exactly fun setting it up, but I never had any actual problems with it as I recall.
That depended _very_ heavily on your graphics card at the time. In 2001, I could get X to crash on my work computer if I shook my mouse too fast. At home on my matrox card, yes, it was rock stable.
EDIT: Also, Slackware was rock solid and it crashed far less than SuSE/Mandrake.
And it still happens occasionally, while my Windows 10 userspace drivers just reinitialize instead of locking the OS.
No swap, some swap, huge swap, swappiness=0, zram - nothing helped me.
No comment in regards to the 9x line. ;)
https://wiki.archlinux.org/index.php/Hardware_video_accelera...
The point is that modern GPUs have hardware decoding for common codecs, and will use far less power than CPU decoding. But the major browsers on Linux (Firefox and Chrome) disable hardware decoding on Linux, because $PROBLEMS.
So, you end up with battery draining CPU-based 1080p decoding. And even more battery draining or choppy 4k decoding.
http://www.ocp.inf.ethz.ch/wiki/Documentation/WindowManager?...
What technically enabled this on such limited hardware? Was there lack of security/containerization/sandboxing that made os call much faster and context switches better?
IIRC there were solutions like this for the Amiga too.
Be had well written multi threading and preemptive multitasking implemented on a clean slate - no compatibility hacks required. That meant it worked well and was quick/responsive. There were still limits, and the OS didn't have many security protections that would get written in today.
Edit:
Pretty sure this is the monitor: https://www.necdisplay.com/documents/ColorBrochures/RDF225WG...
The BeBox itself was vastly different hardware than a standard PC as well, so it could break a lot of rules as far as smooth concurrency and multitasking... kinda like the Amiga did.
But did video formats back then use delta frames?
Of course that might have changed if they added more system services, but from POST screen to a usable desktop was easily under 15 seconds.
That sounds just as good? Compared to quad-booting Win98/Win2000/BeOS5/Slackware, today you could quad-boot Win10/FreeBSD/OpenBSD/Ubuntu. Actually, depending on what you count as different systems and what exact hardware you have, you could have 2 laptops sitting on your desk: a pinebook running your choice of netbsd, openbsd, freebsd, or some linux (https://forum.pine64.org/forumdisplay.php?fid=107), and an x86 laptop multibooting Windows 10, Android, Ubuntu GNU/Linux, Alpine Busybox/Linux, FreeBSD, OpenBSD, NetBSD, and Redox (https://www.redox-os.org/screens/). That's 2 processor families in 2 machines running what I would count as 4 and 8 operating systems each.
I think we're doing fine.
BeOS was always a very tasteful design. And well documented! I learned so much about low level programming from the Be Newsletters: https://www.haiku-os.org/legacy-docs/benewsletter/index.html. The BONE article is a great introduction to how a network stack works: https://www.haiku-os.org/legacy-docs/benewsletter/Issue5-5.h.... I still have a copy of Dominic Giampalo’s BeFS book somewhere.
BeOS was very much a product of its time. (Microkernel, use of C++, etc.) What would a modern BeOS look like? My thought: use of a memory and thread safe language like Rust for the main app-level APIs. (Thread safety in BeOS applications, where every window ran in its own thread, was not trivial.) Probably more exokernel than microkernel, with direct access to GPUs and NICs and maybe even storage facilitated by hardware multiplexing. What else?
Haiku. (0)
But if you change your question to "What would a modern OS look like?"
Fuchsia. (1)
The only relationship that they have is that a kernel engineer called Travis Geiselbrecht designed NewOS (Haiku's modified kernel) and Zircon (Fuchsia's Microkernel).
That's the premise of Jason Scott's project launched in 1998 :) http://textfiles.com/
There's a bit of BeOS in Android. Binder IPC is much like BMessage. And nowadays everyone puts stuff like graphics and media in a separate user space daemons, which was unusual for the time. Pervasive multithreading basically happened in the form of pervasive multiprocessing.
I still remember how incredible it was the rotating cube demo where you coud drag and drop images and videos on the cube faces... it worked without a glitch on my pentium.
Just found out the demo video shows the application with a GL wave surface playing a video over it: https://youtu.be/BsVydyC8ZGQ?t=1074
When Be wrote that demo the situation is that the other operating systems you might plausibly choose all have working video acceleration. Even Linux has basic capabilities in this area by that point. BeOS doesn't have that and doesn't have a road map to get it soon.
So, any of the other platforms can play full resolution video captured from a DVD for example, a use case actual people have, on a fairly cheap machine and BeOS won't be able to do that without a beast of a CPU because it doesn't have even have hardware colour transform acceleration or chromakey.
But - 1990s hardware video acceleration can only play one video at a time, because "I want to play three videos" isn't a top ask from actual users. So, Be's demo deliberately shows several different postage stamp videos instead of one higher resolution video, as the acceleration is no help to competitors there.
And then since you're doing it all in software, not rendering to a rectangle in hardware, the transform to have this low res video render as one side of a cube or textured onto a surface makes it only very slightly slower, rather than being impossible.
Audiences come away remembering they saw BeOS render videos on a 3D surface, and not conscious that it can't do full resolution video on the cheap hardware everybody has. Mission success.
2D acceleration was more than enough.
http://rudolfs-place.nl/BeOS/NVdriver/3dnews.html
On Linux you didn't need OpenGL, just Xv.
Source: I was there, with an Athlon. Playing DVD's.
It means that, to set the color of a single pixel on the Amiga, you had to manipulate bits at multiple locations in memory (5 in 32 colours), while for the PC each pixel was just one memory location; In chunky mode you could just do something like: videomem[320*y+x]=158 to set the pixel at (x,y) to color 158, where videomem would point directly to the graphics memory (at address 0xa0000) -- It really was the simplest graphics mode to work with!
If you just copied 2D graphics (without scaling/rotating) the Amiga could do it quite will using the blitter/processor, but 3D texture mapping was more challenging because you constantly read and write to individual pixels (each pixel potentially requiring 5 memreads/writes on the Amiga vs. 1 on the PC).
Doom's wall texture mapping was affine, which basically means scaling+rotation operations were involved. The sprites were also scaled. Both operations a problem to the Amiga.
As software based 3D texture mapping games became the new hot thing in 1993-1997, the Amiga was left behind. Probably wouldn't have been a problem if the Amiga has survived until the 3D accelerators in the late 90s.
This is quite well described elsewhere. Google is your friend if you want to know more! :-)
Quake has software full 3D which runs appallingly if you can't do fast FP, it's targeting the new Pentium CPUs which all have fast FPUs onboard, it runs OK on a fast 486DX but it flies on a cheap Pentium.
Doom is just integer calculations, it's fixed point math.
In the general sense though the lack of floating point, as well as flat video addressing seriously hampered Amiga in the 3D ahem space.
EDIT I just remebered there is definitely at least one routine I know of that performs calculations based on IEEE 754 - “fast inverse square” or something. That could be at the root [badum] of my confusion vis-a-vis Doom ...
I am not confused, the opposite. I grew up with that.
With only two axis, it is literally a 2D space, which gives some illusion of 3D as an implementation detail --- not the other way around.
EDIT also, using the term "literally" to talk about 3Dness when it is all rendered onto a 2D screen, is fairly precarious. No matter how many degrees of freedom, or how rendered, it will never be "literally" 3D, in the literal sense of the term.
The responsiveness of the UI was like nothing I'd ever seen before. Unfortunately BeOS fell by the wayside, but I have such fond memories I keep meaning to give Haiku a shot.
"Would Tim Berners-Lee have used a BeBox to run the world’s first web server instead?"
The BeBox didn't ship until 1995. Tim Berners-Lee wrote the first version of the web in 1991. So nope, that wouldn't have happened.
For this hypothetical scenario to ever had been possible, BeOS would’ve had to time travel, as TBL wrote WorldWideWeb on a NeXT machine in 1990[0]. BeOS was initially developed in 1991 per Wikipedia[1] and the initial release of BeOS to the public wasn’t until 1995.
Crushed by Microsoft's anti-competitive business practices and sold for scrap to a failing company who was unable to actually do anything with parts they wound up with but who never the less made damn sure that no one else could either.
From what I can see from using Haiku for a bit, it has the bazar community element from the open-source culture with its package management and ports system from Linux and BSD whilst being conservative with its design from its apps, UI, and SDK like macOS. Although I have tired it and its surprisingly "useable", the driver story is still a bit lacking. But from a GUI usability point of view compared with many Linux distros, it feels very consistent unlike the countless confusing interfaces coming from those distros.
Perhaps BeOS lives on in the Haiku project, but whats more interesting is that the real contender who learned from its failure is the OS that has its kernel named 'Zircon'.
But ultimately the deathblow came from Apple which, after struggling with low sales and poor quality software, almost chose to buy BeInc's tech but dropped it so they could bring in Steve Jobs. So it was more like vendor lock-in (Windows) and corporate deals (Apple) as well as failing partners (Palm).
> Apple's due diligence placed the value of Be at about $50 million and in early November it responded with a cash bid "well south of $100 million," according to Gassée. Be felt that Apple desperately needed its technology and Gassée's expertise. Apple noted that only $20 million had been invested in Be so far, and its offer represented a windfall, especially in light of the fact that the BeOS still needed three years of additional expensive development before it could ship (it didn't have any printer drivers, didn't support file sharing, wasn't available in languages other than English, and didn't run existing Mac applications). Direct talks between Amelio and Gassée broke down over price just after the Fall Comdex trade show, when Apple offered $125 million. Be's investors were said to be holding out for no less than $200 million, a figure Amelio considered "outrageous."
> ...With Be playing hard to get, Apple decided to play hardball and began investigating other options.
I feel like if they launched a better experience for existing Windows users, it would have done much better.
- So was Opera
That's a hell of an understatement right there. It still doesn't have any capability for accelerated video, does it?
Unfortunately that's the story for any OS these days that isn't already firmly established. Which is a huge shame since they all suck in their own ways.
Maybe because we're coming at this from the wrong perspective?
I love the theoretical idea that I could build a generic x86 box that can boot into any OS I feel like using, but has that ever truly been the case? We certainly don't pick software this way—if you're running Linux, you're not going to buy a copy of Final Cut and expect it to work.
Well-established software will of course work almost everywhere, but niche projects don't have the ability. Unless you use something based on Java or Electron, which is equivalent to using Virtualbox (or ESXi) in this comparison.
It's long been said that one of Apple's major advantages with macOS is they don't need to support any hardware under the sun. Non-coincidentally, the recommended way to make a Hackintosh is to custom build a PC and explicitly select Mac-compatible hardware.
Now, if an OS doesn't for instance have support for any model GPUs at all, cherry picking hardware won't help. But perhaps this is where projects like BeOS need to focus their resources.
Yeah, wouldn't it be nice if we weren't constrained by real world requirements? If I were to write an OS today, the hardware I'm targeting may become quite rare and/or expensive tomorrow. Or it may just go out of fashion. Regardless, very few people are going to buy new hardware just to try out an OS they're not even sure they want to use yet.
We do have VM's and emulators, but yes, the cost of switching OS's is huge. That's true with or without broad hardware compatibility.
My point is this: I don't think the idea of OS-agnostic hardware ever really existed. The fact that most Windows PC's can also run Linux is an exceptional accomplishment, and not something other projects can be expected to replicate. You might get other OS's to boot, but not with full functionality.
We do not. But that (and proper power management) basically all that's missing at this point; the rest are "just bugs".
That is to say: WiFi, ethernet, USB, SSDs, EFI, etc. should all work on the majority of hardware, both current and past.
(Though I could be totally wrong on this, and welcome a correction.)
I am a mobile dev and use a plethora of iOS and Android devices all the time, often on many different software versions.
It’s not unique to any platform, and seems to be most often affecting the keyboard input, but occasionally seems to affect the rest of the UI as well.
Software updates will oscillate between breaking and fixing these things on and off between different devices.
I’ve been doing app development since iOS 3 and the first version of the App Store and used an ADP1. There’s no method to the madness I can see. Especially with the keyboard input.
Lord help you if you happen to be using a 4S or 5 or iPad 2/3. I often wait for up to 10-15 seconds for text input to catch up to itself, only to catch up to itself all at once - I can type whole sentences knowing by the time I wait for them to finish it’ll be the same 10-15 seconds to wait as if I’ve typed a single character.
MacOS probably does a similar thing too.
I run Haiku on my ThinkPad E550 (2015), I know some of the other devs run on Dell XPS 13, HPs, etc. And the same is true in towers (Ryzen is becoming a popular pick.)
GPU acceleration drivers are the one real kind of driver we lack at this point.
Also POSIX would be even less relevant, and very few would be buying BeOS X for doing Linux coding.
C++ in a non-standard version as compiled by gcc 2.96 release! Awesome.
In fact, Haiku does support more modern toolchains and the BeOS R5 is only kept around due to ABI issues with binary only BeOS software.
There is no such thing as C ABI, it only happens to work on OS that are, surprise surprise, written in C.
https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI
The ABI for C needs to agree less stuff than a C++ ABI but it's still quite a lot of stuff, if these things don't get agreed then code won't work unless everybody uses the same (version of the) compiler.
x86-64 platforms not using the said ABI:
- macOS, "This article describes differences in the OS X x86-64 user-space code model from the code model described in System V Application Binary Interface", (https://developer.apple.com/library/archive/documentation/De...)
- Unisys Clear Path OS200 and MCP
- Android (where JNI is what matters)
- Chrome OS (where JavaScript and WASM is what matters)
So no, it isn't everything except Windows on x86-64 and then there are all the other OSes running on ARM, MIPS, PowerPC, SPARC, PIC and plenty of other less relevant CPUs .
I don't think I'd enjoy a GNU userland/glibc/Linux monoculture, quite honestly. I'm glad POSIX exists to have a slightly less moving target.
The only successful UNIX desktop is OS X.
And it isn't at all relevant on mobile OSes.
I think in your alternate universe it’s likely we’d have seen something entirely different emerge.
GNUStep still looks much like to the on the same state it used to be when I was using WindowMaker in the late 90's.
I regretted the time I once spent on the GNUStep room at FOSDEM, as the only subjects of relevance seemed to be the theme engine, as if there wasn't anything more relevant to get working properly.
Though it's entirely possible Jobs would have tossed the BeOS tech along with Quickdraw GX, Newton, etc.
It seemed clear to me that Android would be a bust for smartphone manufacturers (nobody has really made money off of Android except for Google and Samsung, the latter of whom accomplished this by dominating that market).
If Sony, for example, had gotten ahold of BeOS and tried to vertically integrate in a manner similar to Apple, they could have been a contender.
Neal Stephenson’s In the Beginning Was the Command Line has quite a lot of interesting observations about BeOS during its prime. http://cristal.inria.fr/~weis/info/commandline.html
Ironically the only good (IMO, obviously) Outlook client is Android.
Really curious how the Surface Duo turns out. Weird form factor aside, Microsoft embracing Android on a branded device is interesting.
We will all come back to this comment in 10 years to find ourselves running Fuchsia on our phones, tablets and our new Pixelbooks.
I found a (very bad) recording of this: https://www.youtube.com/watch?v=FQW-q2vp6W4
I just checked the discs and it's the same "Deluxe Edition RC2" as in that home shopping video. I think my copies were bought as special advance preview builds for third-party Zeta developers, though. And I don't think I paid as much as 100EUR...
This book was a great read back in the day of what goes into a "modern" filesystem design
https://archive.org/details/practical-file-system-design
"Practical File System Design" was technical but also readable. Straight from the man who designed BFS which makes it more of an accomplishment IMO.https://guidebookgallery.org/screenshots/qnx621
(I know that QNX was and still is widely used - the "tech demo" bit refers to its use as a primary desktop OS, not the usual embedding scenarios.)
I had a Passport for a while. A lovely phone, and the OS had an Android runtime so _some_ Android apps worked... but like other OSes that let you run non-native apps, it resulted in BB10 never attaining a critical mass of apps.
Had to order a USB CD/DVD burner off of Amazon to write the ISO to a CD as I didn't actually own any hardware with a CD/DVD burner anymore :D
It's been interesting. The browser isn't quite all there yet but might be considered serviceable, and you can sort of get a working dev environment going on it (not many modern runtimes, though, nor a way to run Linux binaries that would let me do Clojure).
It's certainly worth keeping an eye on, although there were some weird decisions - for instance, I remember a thread on ARM support where whomever was tackling that was completely dissing the Raspberry Pi, and yet today, if I were to install it permanently on any machine to tinker with, it would almost certainly be a Pi...
The pi is such a great device for this. If I were working on any niche operating system (or building one from scratch), I'd target qemu first, and the pi second. It may not be the nicest hardware out there, but it is a single platform that loads of people have, that allows trivial disk swapping (upside of no onboard flash -> everything on swappable SD card), and is dirt cheap.
Apple saw this, so didn't want to pay as much as they might have if it were selling well on it's own.
So Apple ended up going with NeXT "instead of plan Be" as it were.
When there were no takers for a free way to have your hardware stand out from the pack, it was hard to imagine a reason for every single OEM in a very crowded field to back away that didn't involve antitrust shenanigans.
OEMs had an option, yes they would had to pay more for licenses, but no one pointed them a gun, or did visits mafia style to forbid them to sell other systems.
Was it just a strategic misstep for Be to not sue at the time, when it would have mattered? Why did the DOJ care about MS bundling a web browser w/ its OS but not care about MS preventing OEMs from selling any other OS than Windows? The seems wildly, clearly more anticompetitive to me!
And why does no one care about this stuff anymore? Not only does iOS bundle a browser, you cannot install any other browser (you can install alternative UI frontends for webkit, but you can’t ship your own js/html etc engine). Not too mention that they can veto any software on the platform for any reason...
Under these terms, it was suicide for OEMs to offer anything except “only Windows”. I was actually working for another company whose software was killed by Microsoft by a similar “or else” threat from Microsoft at the time.
Microsoft was a bully doing (likely) illegal things, except the FTC wasn’t doing its job.
(kind of like Dell does with their Linux lappies)
Also, some of the time Microsoft simply forbade dual booting as a condition for OEM licensing.
[1] https://www.quora.com/Why-didnt-Japan-make-their-own-brand-O...
?
All conjecture. Had I finished my Java port (BeKaffe), the world would run on BeOs :).
Jobs was able to squeeze Microsoft. In a way I don't think any one else would or could.
Referring to Microsoft outright stealing Apple's IP and Gates' subsequent settlement. The $150m investment. The commitment to maintain Office on Mac. Forever license to all of Microsoft's API, enabling Mail.app to have pretty great integration with Exchange, for example.
BeOS was probably the better tech. But Jobs had the better strategies and the better team.
Compare this to Jonathan Schwartz cotemporaneous mismanagement of Sun's amazing IP, snatching defeat out of the jaws of victory. Schwartz just wasn't a bare knuckled brawler like Jobs.
I used the hell out of Java, but most of their other tech was in the weird quadrant of cool stuff that I won’t use. Something about their fit and finish always left me cold. Or if not that, price point.
The real win was a mobile future sans Microsoft. I doubt smart phones would be what they are today if not for the iPhone, and the iPhone required huge resources and a maniac cracking the whip. Would Jony Ive leave a failing Apple and work with Steve? If not, would we even have the iPod let alone the iPhone?
On the plus side, Nokia might have still been around.
Around enough to still have a good networking business, and be the owner of Bell Labs.
That was the time period when ordinary users could be persuaded to pay money for their operating systems and major upgrades.
tiBook was bonkers. Suddenly, I didn't really need to sit in the room, surrounded by boxes, but rather could go to the park and access the room from under a tree.
If Be had managed to capture that, I think it would have been an amazing time. Imagine if SGI had pulled off the first titanium, unibody laptop, designed specifically for 3D. Would Alien-ware?
If there had been a BeLaptop, things might have been a lot different in 2000/2001, when things started to look very, very interesting.
I mean, the fact that Apple shipped a Unix laptop when all the other 'super-' vendors were unable to pull it off.,,
Like the OP, for me the tiBook was a defining moment. A unix laptop, and it also looked good? Easy, immediate purchase.
http://museum.ipsj.or.jp/en/computer/work/0012.html
https://books.google.de/books?id=wDlUmfY9nQsC&pg=PT11&lpg=PT...
Additionally there were UNIX laptops from NatureTech
https://www.youtube.com/watch?v=Dios0v0n9eY
and Tadpole
http://www.computinghistory.org.uk/det/32324/Tadpole-SPARCbo...
https://blog.adafruit.com/2019/04/01/sparcbook-3000st-the-co...
So no, "I mean, the fact that Apple shipped a Unix laptop when all the other 'super-' vendors were unable to pull it off.,, " isn't how history went.
Other vendors were already at it, while Apple was trying to make Copland work and not being so successful with A/UX.
None of your vendors were considered viable - far, far too expensive. However, Linux on x86 laptops at the time was amazing - portable Linux.
So when Apple joined that party, and made the hardware neat, it was an easy switch. Portable, PPC-based, Unix. This was a delightful moment.
Of course, I still have a Linux laptop around, and 20 years later .. I consider moving back to it, 100%. The ride has been good with Apple, but the horizon doesn't look too great ..
What Linux laptops? It hardly worked properly in most desktops.
The first laptop I managed to get Linux working at all was a Toshiba in 1999, while these systems were being sold since 1992.
For most of the 90's I was using Linux in some capacity, professionally as well as personally.
I also had a Linux laptop (Winbook, Sony, and then Sceptre..) on which I did a lot of development and for which my carefully selected hardware did in fact work, just fine - it was certainly viable as a dev platform, and for us Unix programmers at the time, a small and light Linux laptop was far more preferable to the pizzaboxes that had to be carried in the trunk .. or more, bigger iron that you would stay at the office to use, instead of having at home.
The point is Linux really did okay in the 90's, in terms of providing Unix devs a way of working away from the computer room. I think this is an underappreciated mechanism behind Linux' success over the years .. you could carry Linux with you pretty easily, but this was not the case for Solaris, Irix, etc.
More info for the curious: https://www.macworld.com/article/2918513/the-powerbook-g4-ti...
Fans think they're helping. If there's a hardware product then as a fan I should buy it right? Well, no, that's a subsidised development toolkit. Every unit that ships is VC sunk in the hope you'll write like Photoshop or Mosaic or 1-2-3 or something and create a market for this new system. When you instead compile two demo apps, call the support line to ask how to plug a mouse in, and tell all your friends to buy one as well, you are in fact not helping.
This is also because Be's original plan says competing with Windows is suicide (it was). They're going to build a system which is NOT a competitor for Windows, it's a whole separate environment. Maybe you have a Windows PC to do billing and surf that new Web, but in your studio you have a BeOS system and it doesn't matter that it can't print because that's not what it's for.
Be shouldn't have made it to the turn of the century, nowhere close. In 1998 the investors should have said we're sorry, there isn't money for this to continue Jean-Louis, better luck next time, and turn off the lights. BeOS gets sold off to whoever is in the market for pennies. But they got "lucky" they were in the right place at the right time. In 1999 you could raise an IPO for a dog turd so long as the offering paperwork said "Internet" on it and you were based on the US West Coast. The institutions got out, those fans who'd squandered the company's money and opportunity years earlier got in to replace them, and they all lost their shirts. In the process Be Inc. bought itself an extra couple of years runway.
(Edited to fix name)
We also had a NeXT tower, three SGI machines running IRIX, a Mac upon which someone had installed Mac OS X Server 1.0 (NeXT innards, UI looked like classic MacOS).
I kind of miss the diversity of systems we had back then. In many ways we've gone forward – tinkering is much easier now with the preponderance of cheap, fast dev boards and systems like the Raspberry Pi, but it does feel like actual user-facing stuff is now largely locked down, without as much innovation and competition.
Android, iOS, Chrome, Facebook - everything is monopolized nowadays. Governments should really consider supporting alternative OSes, browsers and social networks for sake of national security as the monopolies enjoy too much power over the whole humanity nowadays.
Perhaps with this idea the only companies able to do this are Apple, Microsoft and Google. Every other OS aiming to be a new desktop OS has essentially failed. Including the Linux desktop community and everyone else.
The desktop OS market only has room for 2 or luckily 3 and always requires at least a billion-dollar (in profit) tech company with such resources to even plan for years to do such a thing. Hence the fierce competition in this space, some may ask themselves why bother.
> but that probably won't work either since people are a lot less likely to try out your OS if they need to buy a new computer to do so.
The exception to that is Google with ChromeOS (Laptops) and Android (Mobile) which they're probably both replacing with Fuchsia. I'd expect Fuchsia running pixelbooks and phones to arrive in this decade. Which will make the desktop market as Windows, macOS and Fuchsia OS.
Unfortunately they all have perverse incentives that run counter to everything that makes personal computing valuable.
> Apple’s decision to go with NeXT and Jobs was doubly perilous for us. Not only would we not be the next MacOS, Jobs immediately walked third party Mac hardware makers to their graves. No more Mac clones for BeOS. With tepid BeBox sales and no future on the Mac, Valley VCs weren’t keen for another round of funding — and the 1995 round was running out.
I know it’s not universally loved but OSX/nextstep for me is really everything I could have wanted from an operating system.
... But no programs that I wanted ran on it! As cool as BeOS was, without programs, it was little more than a demo or a hobby.
Within a year I tried Windows NT and Windows 2000, and then forgot all about BeOS. Windows 2000 did everything that BeOS did for me, didn't crash, and ran all the programs I wanted to.
https://www.reddit.com/r/vintagecomputing/comments/eku19u/du...
(first POST should have gone to slashdot really, ah well.)
Dev tools.
Remember Steve Ballmer's "Developers! Developers! Developers!" dance? https://youtu.be/I14b-C67EXY?t=10
He was right. Without developers for a new OS, you are dead in the water. Which is my MS has fought so hard to keep compatibility.
Apple had to switch OS. That meant it had to persuade all its devs to switch OS. That meant it had to offer the devs something very special, and that something was NeXTstep and Interface Builder. NeXT's dev tools were the best in the software business and _that_ offered trad Mac devs a good enough reason to come across.
Be had nothing like that.
BeOS was wonderful, but it was not a replacement for NeXTstep as a replacement for MacOS.
But there was another company out there.
BeOS was a natively multiprocessor OS, when that was very rare. One of the reasons is that in fast x86 computers, the x86 chip is one of the most expensive single components in the machine, and it puts out most of the heat.
Especially at the end of the 1990s and early 2000s, the era of big fat Slot 2 Pentium IIIs and worse still Pentium 4s.
But there was one company making powerful desktops with the cheapest, coolest-running CPUs in the world, where making a dual-processor machine _in 1998_ was barely more expensive than making a uniprocessor one.
That company's CPUs are the best-selling CPUs ever designed and outsell all x86 chips put together (Intel + AMD + Via etc.) by well over 10 to 1.
And it needed a lightweight, SMP-capable OS very badly, right at the time Be was porting BeOS from PowerPC to x86...
Pretty cool BeOS still lives on in the audio/video/broadcasting industry.
However, all these years later, I'm very glad that BeOS wasn't selected.
Also, NeXTStep became Cocoa, which knocked PowerPlant into a cocked hat. That may not be as compelling an argument. I heard that the BeOS framework was damn nice (never tried it, myself).
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
Mike Crawford RIP: Wrote spellswell: https://github.com/ErisBlastar/spellswell
and word services: https://github.com/ErisBlastar/wordservices
It was taken from one of his old sites before he lost control of it.
If you clicked the page of the book and dragged it around, it simulated the page turning and the video deforming, without skipping a frame.
I may've only been 12, but that demo has stuck with me since.
Edit: I would love to lay eyes on that demo again if anyone has an idea of where video of it may still exist.
Without taking anything away from actual new things introduced in BeOS, preemptive multitasking and dual CPUs were not "brand new". Computer system had been doing these for a long time before 1995, or even 1991 when BeOS was initially developed. Heck, minicomputers were doing this stuff in the 80's!
Of course you lost in a battle or even a campaign does not mean you just lost the war.
The world is better with Steve, Microsoft with competition ...
Now we even have Microsoft having GitHub and linux running on windows.
Not if it is BeOS.
[0]: https://www.reddit.com/r/unixporn/comments/d8e54k/window_mak...
I appreciated that the OS didn't coddle you.
Had JLG not fucked up the deal, they would have picked up BeOS and not NeXT.
When I worked at a dot-com 1.0 failed startup in 1999 one of our big wigs was a former exec at Be, and he was like the coolest dude I knew at the time. Still up there.
Even IBM with OS/2 couldn't surmount the juggernaut network effect of Windows. By 1990, this was apparent to many. It's odd that Gassée and company thought they could succeed where IBM had failed.
Maybe Microsoft's ties to the PC industry would have killed it anyway but IBM was kinda lost on what it meant to sell an OS to consumers.
Indeed, the BeBox should have looked like this to succeed: https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Ap...
That computer made Apple cool again, and paved the way for their recovery way before the iPhone skyrocket.
The iPod was 2001, 3 years after the first iMac.
The problem I think was that Microsoft competed hardest in the enterprise space, which was supposed to be IBM’s roost. Apple went after creatives. It’s not clear what was left for a hypothetical third place contender.
John Thompson doesn't want to be in the "kitchentop" business... Dumb ass.
I spoke to him years ago. If I recall he worked for Be before moving to Sidekick…
[0] https://depot.haiku-os.org/#!/pkg/rust_bin/haikuports/1/36/0...
I don't miss the segfaults that I experienced time after time and strange stateful consistency errors from when I was programming in the BeOS, and I don't miss biting my knuckles when having to recast data as (void*) in order to send it to another thread, now that I'm programming in ERTS. I do however strongly appreciate the experience, because it was a hell of a lot of fun, and, importantly, I learned that you can't use a buffered matrix mult to save on memory allocations, because you don't know that your preemptive kernel won't kick you out midway through the matrix mult and start filling the bins with data from the other thread.
I would say that half of the reason why I am really adept at identifying race conditions in erlang is that I've seen them all, and worse, in BeOS.
And the BeOS runtime does not have half of the resilience and fault isolation properties that Erlang has, which is what I mean by "half hearted and primitive".