top | item 18583722

What makes BeOS and Haiku unique

303 points| valeg | 7 years ago |osvoyager.wordpress.com | reply

219 comments

order
[+] spystath|7 years ago|reply
I don't know if this is nostalgia talking but there is something particularly attractive about the BeOS and Haiku desktop both in terms of design and aesthetics. The interface actually has a certain depth and this is consistent across icons, windows, dialogs, menus, buttons, etc. It's a shame that interfaces nowadays are completely flat. They are almost... expressionless and with the exception of the odd drop shadow they completely lack a third dimension. When I first learned of Haiku (and BeOS), back when Gnome was in the 2.x days, I was so impressed by the interface that I installed a look-alike desktop and icon theme. I used it for quite a long time until GTK+ 3.x eventually became prevalent.
[+] agumonkey|7 years ago|reply
All 90s GUIs have something that I miss[1]. I think the flat movement was a desire for hyper genericity .. but turns out that a bit (just a bit) of visual signal and faux skeumorphism (some widgets emulated actual LED keys found on hardware) is good.

ps: also, flat came after both the aqua trend where effects were everywhere and skeumorphism was pushed higher. Not that surprising in a way.

[1] beos, win311, macos classic, win95 (office97 era) and nt5

[+] erikpukinskis|7 years ago|reply
You’ve got it exactly backwards: todays “flat” UIs are actually many layers deep. If you look at the styleguide for Android or iOS they have like 6 different UI depths and thicknesses that can be at play at any time.

What’s refreshing about Be is that it only goes like three deep. Button and not button, and... desktop?

It’s because the Be UI is so shallow that it is charming. If you allow 6 different types of every UI thing like Google and Apple do, your UI designer has no chance of getting everything correct. There’s just too many combinations of widget states.

Only by limiting UI depth can you get that Nintendo-Esque complete feeling, like everything is there for a reason. And Be does.

[+] ChuckMcM|7 years ago|reply
I don't think it can all be attributed to nostalgia. I have read papers on HCI that show this effect exactly, too much ornamentation to to little. The big thing is consistency though. You can adapt to pretty much anything apparently if it the same everywhere, tougher to do if it is only "similar" everywhere. Or worse, the same but different.

I've got an old Celeron system I was going to throw away but because of this I just installed the 32bit version of Haiku on it and have been enjoying its simple style.

[+] snazz|7 years ago|reply
Am I the only one who wants a modern OS designed for single-user use as opposed to one that descends from a long line of time-sharing systems? That isn’t a mobile operating system?
[+] AnIdiotOnTheNet|7 years ago|reply
No, you are not. I've been yearning for such an OS for some time now, and have been putting a lot of thought into precisely what it is that is missing from modern computing that makes me feel like a "personal computer" doesn't exist anymore. I think John Ohno's article "Big and small computing" [0] managed to articulate it better than I could. So what I've been doing some research and planning and trying to find the shortest path from the garbage pile we have today to something reasonably like what I actually want, and doing the research needed to make that happen. Unfortunately there's quite a lot to be done and I lack the experience and skill set to do it all, currently, but it's something I really want to do. I wish I could find a community already engaged in the same goal.

[0] https://hackernoon.com/big-and-small-computing-73dc49901b9a

[+] qwerty456127|7 years ago|reply
You are not alone. I miss this all the time. Nevrtheless I can see at least 3 important ways in which multi-user design is useful:

1. Constraining a guest user so they won't access anything they shouldn't - when a guest comes to you and asks to use you PC and you want to be nice and let them.

2. Constraining resident server programs so you won't get pwned.

3. Constraining nonfree apps (their installers especially) so they won't put/remove/modify anything outside user directory (Windows apps love to do this).

[+] andai|7 years ago|reply
I've been thinking about this a lot lately. I'm becoming a big fan of minimalism and simplicity.

I find it particularly funny that Android is based on an OS designed for thousands of simultaneous users (although they did get some nice security / isolation out of it).

[+] tacostakohashi|7 years ago|reply
Not at all.

I have been installing Windows 10 inside some VMs for running windows applications lately, and that's a pretty ridiculous experience when the host OS is the one really doing all the heavy lifting for multi-user and authentication, and one really just needs a thin windows runtime for applications inside the VM, not a full-blown "operating system" (a awkward description for Windows 10, considering how much shovelware it comes with).

[+] scroot|7 years ago|reply
I'd like a Smalltalk machine with a Platinum-like UI
[+] Koshkin|7 years ago|reply
I am not sure if you would want to run all your software as ‘root’.
[+] Fronzie|7 years ago|reply
Back in the day, BeOS used to be quite more capable with regards to multi-threading. The used to demo this with multiple videos playing.

Does BeOS/Haiku still have a technological edge somewhere (compared to say, linux or windows)?

[+] kitsunesoba|7 years ago|reply
Haiku doesn’t have much of a technological edge at the moment, given that the current goal is to reproduce BeOS 5 PE to its fullest extent before modernizing.

Where it does have an edge, though, is how’s its being designed first and foremost as a desktop OS with responsiveness as the top priority above all else. The latter especially is depressingly uncommon in modern operating systems.

[+] ianai|7 years ago|reply
A GUI feature I read about in 5: menus were going to have a colorized band that followed through all the menus and submenus. It seemed like a feature that would really help with complex software, but of course never saw the light of day. To this day, drilling down to deep submenus quickly becomes user abuse. It wastes a lot of time to have to drill down to something only to have all the menus disappear because the mouse tracked off the submenu accidentally.

It was also just cool to have a GUI mounted on a Unix like os - which wasn’t Linux.

Nowadays though I’d like to see some Plan9-isms adopted instead of cloud stuff. I think people would benefit from being able to make their own user experience that was kept more or less unchanged and the same files and preferences available on all of their devices. I’d also like to be able to “mount” processor/memory hardware from networked machines and delegate processing to them and output results to the local GUI. Like tunneling X but without actually needing to pipe the whole user stack - just the compute input/output.

[+] monocasa|7 years ago|reply
AFAIK, the kernel is actually real time in a way that Linux and NT aren't. Even RT-Linux is very soft real time.
[+] tialaramex|7 years ago|reply
Other contemporary multi-processor operating systems were also easily capable of displaying a handful of postage stamp (QVGA or smaller IIRC) videos. This was a demo other people weren't doing mostly not because it was hard to achieve but because it was pointless, what use did you have for showing several videos simultaneously?

They chose to show several postage stamp videos because they only had software decoding. At the time the way most competitors handled video on consumer hardware was to decode to YUV and then overlay and scale that with dedicated hardware, and on most systems you could only play one video this way. BeOS would be much worse at that with a software decoder, by showing many videos they could "make a virtue of a necessity" as they say.

The best thing in Haiku is probably their vector icon format, which offers a good mix of basic vector features for small pictures in a compact binary format. It's mentioned briefly in that article.

[+] gsich|7 years ago|reply
Pretty sure that other OSes could do that too. But most people can't watch 5 videos simultaneously so why try?
[+] YetAnotherNick|7 years ago|reply
Sometimes, I feel bad for OS with lower number of users like these, FreeBSD etc. There are so many important things in OS that even if it really excels in few things, it doesn't really count. The work that goes into creating these is phenomenal, yet I cannot replace my Mac. I have been paying at least $300 extra for a laptop and have been making so many compromises on the recent hardware.
[+] lcampbell|7 years ago|reply
Eh, I've been running FreeBSD on my primary desktop for about a decade now (and have been running it on every server I can get my grubby hands on). It's equally painful for me to use any other OS because of similar workflow issues. We've all got a wide variety of tasks to complete and a good handful of specialized tools to complete them with -- use whatever works best. If you're doing server work, I recommend giving FreeBSD a trial run!
[+] laumars|7 years ago|reply
BeOS was by far my favourite operating system of that era. Fantastic platform that really put the competition to shame. Fast, stable, pretty and powerful.
[+] ChristianGeek|7 years ago|reply
Same here. I still remember when I first booted it up and ran a demo app (video playing on all sides of a rotating cube), how much it put OS 9 to shame in terms of responsiveness and performance. I’m still pissed that Apple went with NeXTSTEP instead of BeOS for OS X, but I’m glad they went with something.
[+] gradys|7 years ago|reply
Does anyone here use Haiku regularly? Would you recommend it?
[+] dleslie|7 years ago|reply
I do. It's fantastic for browser-and-code hacktops with limited ability.
[+] rixrax|7 years ago|reply
I realize this maybe a corner case and slightly off-topic, but it would be really nice to be able to boot Haiku via PXE boot in our network infrastructure. This would make it so much easier for people to play with it casually. It seems[0] that there has been some effort to support this, but last time I tried (about 3 months a go), I couldn't get it boot with couple of hours effort (I know, may very well be user error ;-) ).

If anyone from Haiku is reading, would be really cool if you also offered network bootable image by default that can successfully boot from 'standard' PXE boot server setup.

[0] https://www.haiku-os.org/guides/network_booting/

[+] waddlesplash|7 years ago|reply
The PXE bootloader was broken following the merge of the package manager (which as this article implies, required changes to the boot process.) Nobody has taken the time to fix it again since then... help wanted, I guess.
[+] yawaramin|7 years ago|reply
I only read about BeOS in exuberant PC World articles in the early '00s, but I got the impression it was really, really good–pre-emptive multi-tasking and all. Now this blog post says that Haiku has device servers. That sounds like the 'fast flyweight delegation' technique described here: https://blog.acolyer.org/2017/12/04/ffwd-delegation-is-much-... ... and also used by the Erlang VM.
[+] k__|7 years ago|reply
Wasn't that the base of Zeta? An OS sold by a home shopping channel around 2000.

I never understood the hype and then they went bust.

[+] rayiner|7 years ago|reply
Zeta was based on binaries of BeOS Dano (what was going to be the next version of BeOS before Be went under). It's unclear whether the company ever had the source code.
[+] snvzz|7 years ago|reply
For some reason, there's no mention of datatypes, a very nice concept they took from AmigaOS3.
[+] mimixco|7 years ago|reply
Thank you for posting this! Just got a new USB SSD stick and I'm gonna try it out. :-)
[+] qwerty456127|7 years ago|reply
Haiku is just so cool (although it probably can be made even better, UI included, e.g. I really love the modern Win7/macOS/KDE5/Unity desktops idea od using one icon for both launching and minimizing/restoring/switching an app). I wish it could get more popular and developed more actively. I'd also love to have Haiku-like window management (and widgets toolkit skin if possible, but this is less important of course) on Linux (in KDE preferably).
[+] xte|7 years ago|reply
Sincerely the sole BeOS concept I found really nice that is also by some extent in NEXT is the "fs database" or the ability to "query" storage by file types etc vs only access in a classic files/directories tree.

On package management IMO Nix and derived Guix are real revolution...

[+] Ericson2314|7 years ago|reply
Some of this stuff sounds vaguely reminiscent of Nix. Which is unfortunate. I rather see a port of Nix(pkgs) to Haiku so Haiku is able to continue their wonderful unique innovations rather than reinvent the (albeit rarer and hirer quality) wheel.
[+] PyroLagus|7 years ago|reply
What except for the rollback reminds you of Nix?
[+] hanniabu|7 years ago|reply
Linux could kill windows and Microsoft if it just had an improved UI. Currently it looks like a mashup between windows and mac and it's just not working. I've noticed improvements over the years getting closer to Apple's designs, but not quite there and it's unfortunate how much that last minute matters. Once that list mile is covered I think we'll see linux becoming more and more popular as a standard OS.

If Office Libre were to update their UI I think it would make a killer combination.

[+] vedantroy|7 years ago|reply
I think more then "prettier UI" is necessary. I switched from Windows to Linux a few months ago, and while I appreciate being able to use more developer tools and not have annoying ads in my OS, I feel like Linux is just more unstable. My wifi/bluetooth randomly stop working, forcing me to restart my computer. That's unacceptable.
[+] michaelmrose|7 years ago|reply
Microsoft windows 8 had a worse ui than any current popular ui in linux. People won't install their own os even if you have a better one to sell them.
[+] travisgriggs|7 years ago|reply
I used to think this too. But I’ve come to wonder. My more recent hypothesis is that it’s not actually possible to do so. My reasoning is basically economics. Free software developers improve and maintain the UI experience that best fits their needs. If there’s shared ground between what the casual user wants and what the developer wants, they’ll even often err on the side of the casual user. The developer community will even reach into casual user space somewhat because it indirectly responds to the recognition and feedback loop that a wider user base is good for the effort in general, helping to secure other forms of acceptance and therefore employment opportunities.

But that’s all only up to a point. There are concessions one starts making as you woo the business/casual user more and more. Since there is no direct financial compensation to offset the increased sacrifice, an equilibrium arises. An equilibrium of good enough for general consumption, enough of a concession for the developer. Unless something changes the balancing point of that equilibrium, then it’s likely to stay about there.

It’s like a neighborhood handyman/craftsman who first fixed up his own house and then, because it gives him purpose and makes him feel good and contributes to the general betterment of the neighbor hood begins doing the odd project throughout the community. The work is quality AND it’s free(ish). As the community embraces the handyman’s efforts more and more, he begins having to do things more and more that don’t fit his vision or lifestyle. He has two choices: start charging or stick to the projects he likes to do. If he starts charging though, now he becomes dependent on trading concessions for income. The relationship fundamentally alters.

[+] gallerdude|7 years ago|reply
Microsoft has so much inertia. For something to be a replacement, it must be 10x better, not 10% better.
[+] pjmlp|7 years ago|reply
Being one of the first C++ OSes. I really enjoyed that feature.

And having a certain Amiga feeling to its culture and multimedia capabilities.

[+] Annatar|7 years ago|reply
"3. States"

Solaris 10 (and now by heritage illumos) has had this with beadm(1M) since ten years ago, if not longer.

[+] eecc|7 years ago|reply
If it runs the jvm, a modern browser and it handles laptop standby I’m sold
[+] protomyth|7 years ago|reply
Looking at the screenshots, I really still like the look of the windows and icons, but the system font is really holding it back. I didn't realize how bad it looked compared to modern system fonts. I get the feeling a font switch would really improve the look.
[+] waddlesplash|7 years ago|reply
Uh, the font is modern, it's "Noto Sans" from Google's new "Noto" family of fonts: https://www.google.com/get/noto/

Previously the default font was DejaVu Sans, which really looked a lot worse.

[+] tqh|7 years ago|reply
Half of them are BeOS screenshots, which doesn't seem to have subpixel or anti-alias..
[+] totfz|7 years ago|reply
>One of the coolest areas of package management is that you can go back in time and boot up into a previous state of the system, all thanks to the new packaging system. To do this, simply open the boot menu, choose the boot volume, and select Latest state or a nicely time stamped ‘version’. Very cool.

New versions of programs may modify the user config files in a way that old versions may not be able to read those config files anymore and even corrupt them. How is this handled, if at all?

[+] waddlesplash|7 years ago|reply
What config file format are you using that applications would corrupt newer ones? The only one I can think of would be raw memory structs written to disk, which is nasty and ridiculously unportable even across 32-bit vs. 64-bit, let alone other architectures.

On Haiku, config files are generally either plaintext (kernel/drivers/a few core apps, so they are easily editable) or archived-BMessage format. The former are almost always read and not written, and the latter are key/value based so at worst the application would just not know about the new keys, and possibly remove them, which isn't the end of the world.