Whatever Happened to BeOS?

15 points by forca ↗ HN
I love to tinker with operating systems -- perhaps too much. I was just thinking about BeOS and the non-Linux replacement, Haiku, which is still in Alpha 4.

What went wrong with BeOS? Was it hardware, software? No one cared because of Linux and BSD?

BeOS was original, fast, and elegant. In my opinion, it should have been the next OS X instead of the remnants of Next.

18 comments

[ 2.8 ms ] story [ 43.8 ms ] thread
When BeOS was becoming interesting, it was competing against MacOS 8 and Linux (assuming you had already ruled out Windows and you couldn't/wouldn't pay for a UNIX workstation).

MacOS had commercial apps and a good reputation in certain fields. The hardware was expensive by PC standards but high quality.

Linux was growing like a weed: adding just a little more RAM to the kind of desktop a college student could afford let you do everything that the Sun workstations in the computer lab could do, and you never had to share it.

If BeOS had been free, compatible with less-blessed hardware, and not offended Apple so much, it might have had a chance.

For Apple, BeOS would have been a disastrous choice and NeXT knew this. BeOS and its public APIs were built on C++ which is terrible for binary (ABI) compatibility, which is a critical feature to convince 3rd party commercial (proprietary) developers to develop for your platform.

You can see that BeOS and later Haiku were stuck on an ancient version of gcc 2 because they could never upgrade without breaking all existing binary compatibility.

After NeXT did their not-so-secret reverse takeover of Apple, you can see they solved the binary compatibility problem for the most part by leveraging both C and Objective-C which both had a predictable/stable ABI, even with all the tinkering they did to extend the languages and eventually replace the compilers (Codewarrior->gcc->clang).

I've heard this story relayed in person in nearly identical language before. Do I know you? Either that or this was more in the zeitgeist than I think.
I think this information is common among NeXT old-timers and passed onto by them to early Cocoa developers where I learned it. It used to be a small community.

I disagree with the original post that implies BeOS was better than NeXT. There are a lot of really useful, cool things in NeXT that are not appreciated by the masses and forgotten with time. All the new iOS developers don't know how much history/heritage their stuff is built on.

For example, fat binaries are so incredibly useful and elegant. While Mac easily transitioned from PowerPC to Intel, then 32-bit to 64-bit, and now all all the different ARM architectures on iOS by using fat binaries, all the other platforms are a mess with just their 32-bit to 64-bit transition partly because the need to differentiate between two different architectures on the file system breaks most tool chains. (Not to mention that it confuses the hell out of users about which version they need to download.)

Linux had their chance with Icculus's FatELF patch and they rejected it. Only years later after great suffering is some of the Linux community starting to think maybe FatELF was a good idea after all. Too bad our 64-bit migration is almost over. But Android still really could benefit from this because that system is a mess that looks like it will need to deal with multiple architectures indefinitely.

This was definitely the story I got from a NeXT old-timer.

I also agree on Be. While I used BeOS (even got to play with it on a BeBox) and was impressed by it, NeXT was the better system. Oh my, networking was a mess in BeOS, and I'm not sure they would have ever gotten full multi-user support.

As a youngster, I pined for NeXT after playing with one at a university lab. I still marvel that we now carry NeXT workstations around I our pockets.

I really wish the Linux / BSD communities had rallied around GNUStep. Would have been nice to see how two implementations coevolved.

I remember when Gnome and KDE were first emerging. They were both too slow and wonky for me. Somebody suggested WindowMaker and I really liked it. At this time, I had no knowledge of NeXT or GNUStep. It was some years later after OS X emerged and I started learning Cocoa that I learned of all this history and discovered that WindowMaker was also connected to this universe and it really sunk in just how advanced they were for the time.

I'm still saddened that GNUStep never went anywhere. I still find GTK/Gnome/Qt/KDE wonky for a lot of basic things like copy-and-paste and drag-and-drop.

My wildest dreams hope to see a re-emergence of something like GNUStep, but this time be driven by all the new interest in Swift.

Funny you should mention GNUStep/WindowMaker... absolutely my favourite WM. I agree most of the rest are bloated and wonky. Gnome has removed almost all of its menus and bells and whistles and it's largely unusable now. KDE is the kitchen sink inside the kitchen sink. It's overly complicated for a DE. Sadly, there is no real focus on WM now, although last year, Window Maker Live, a Debian-based live ISO was released. It hasn't gained a real foothold among aficionados.

There was an attempt to get Window Maker back in the limelight last year. Not sure where this has gone...

Yeah, I ran a poor-man's NeXT for a long time (WindowMaker on NetBSD in my case). The Etoile project seemed like they were going to try to make a full GNUStep-based desktop environment, but I fear they are suffering from too few coder hours: http://etoileos.com
Fat binaries are not by any means unique to NeXT or an innovation of NeXT and its descendants. Classic Mac OS had fat binaries in the early 90s for the 68K -> PPC transition. Other platforms have had fat binaries too.
NeXT had them before Apple Mac OS classic. NeXT/OSX is the only mainstream system in use that still employs them today.
Actually they pretty much came out at the sametime. You're right, NeXT slightly preceded in !993 (NeXTStep 3.1) the classic Mac OS in 1994 (PowerMac 6100 launched). OS X is the descendent of both of these FAT traditions.
My bet: a lack of a killer app, plus no compatibility with killer apps on other platforms.

OS/2 was slightly more compatible with existing apps and therefore had slightly more success for a while.

That was a thorn in the side of many a BeOS user; while GoBe Productive was an amazing office suite, Microsoft Office had a stranglehold and if you didn't have Word and Excel, you didn't have a computer in many people's minds.

The world has changed in the past 13 years; we've had OpenOffice and LibreOffice for many years, and Google Docs/Drive has forced Microsoft to focus on cloud-based productivity apps. Back when BeOS was alive, it was just as common to have a dial up modem as it was DSL or cable, and sometimes broadband simply wasn't available in certain areas. Cloud computing as we know it now was still over the horizon.

In today's cloud-centric Internet, Haiku could easily thrive if it got enough momentum. Unfortunately the only people who seem to even know about it are old BeOS hats like myself.

I was a heavy BeOS user during its last days, and from what I remember, Microsoft put some serious pressure on certain OEMs to not sell BeOS on their computers. Compaq was one of those; they were told in no uncertain terms that if Compaq sold even one computer with BeOS on it, they'd never sell another computer with Windows, period.

That's certainly not the only reason the company went under, but it was a major factor.

Partly they just didn't have enough money to build an OS, so every time they pivoted it put them further behind. And they pivoted a lot of times.

I think they made a lot of design decisions that were overfitted for 1995, so if they had survived they would have quite a bit of legacy cruft by now. And the brittleness of C++ may have made the cruft worse.

In some cases their idealism seems to have held back practical adoption. Their "pervasive multithreading" made it very difficult to port Java and Mozilla. (The idea of "only native apps, no ports" made perfect sense in the siloed PC market of 1993. By 1997, not so much.) Treating all developers equally meant that professional developers may have gotten shortchanged.

I figured-out God was the feature -- God's official endorsement. I can do miracles and prove He endorses it.
I think the problem was the same as that faced by languages like D competing with C++11:

It wasn't "better enough" than the alternatives.

It was better than NeXT (what would become OSX), but not enough to be revolutionary. It was better than Windows, Mac Classic, and Linux, but also not enough to be revolutionary.

The existing closed incumbents won out by market share and inertia, and Linux won out by being free, open, and by basically going viral.

If BeOS had been open and free I think it would have given Linux a run for its money, but it wasn't.

Like most companies of that era, they built their own hardware (BeBox) which was very expensive (compared to the PCs of the time). Later they moved to Apple hardware and Apple did try to buy them but they held out for more money.

Linux took hold because you could pull any old PC out of the junk pile and load it up and go. BSD, at the time, was fracturing into multiple versions and having legal troubles.

Haiku alpha 4 is awesome. But there are too many other projects out there so there aren't enough resources to make faster progress.

The wikipedia page http://en.wikipedia.org/wiki/BeOS has a lot of more good information.