Hacker News new | past | comments | ask | show | jobs | submit login

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)?




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.


As someone who likes responsiveness, I've always wanted BeOS to take off. However, at this time, does OS responsiveness matter?

I'm running three apps right now: VSCode, Slack, and a web browser. Given that VSCode and Slack are basically other browsers, how much does OS responsiveness matter? Has the responsiveness battle just moved to the browser?

How much are people really running other than a web browser on a desktop/laptop now-a-days? When I evaluate an OS today, I'm going to care about how good its trackpad drivers are, whether I'm likely to have wifi issues, whether it can run the *nix tools I need to do my work, maybe whether I like the way it switches between windows/apps, and whether there are modern browsers to run on it. Responsiveness was a big deal back when I was running a Pentium II and BeOS had amazing demos (and I presume real-world usage) with uninterrupted video while multi-tasking and just buttery-smooth context switching in an era where you'd have your system lock-up. Heck, it was many years before OS X got past the beach ball of death happening constantly.

However, today, it's my browser that locks up; it's my browser that I want to be able to smoothly scroll through a web page.

I really want Haiku to succeed, but it feels like we might have moved beyond the OS for so much that the OS can't have the same impact it once had. On the one hand, the web has made it so that alternative OSs don't need a boat load of software to be usable. On the other hand, because the browser is now the OS, the usefulness of an alternative OS is lower.


How much are people really running other than a web browser on a desktop/laptop now-a-days?

Currently open on my machine:

- Safari

- Firefox (streaming audio)

- A program converting a 500 page PDF to 500 300dpi PNGs

- A bash script extracting PDFs from a municipal web site.

- A program downloading my video viewing for the week and converting it to a format better suited for my iPad

- iTunes serving audio and video to TVs in two different rooms

- An FTP program doing weekly backups

- A mail client

- A VPN client

- A spreadsheet

- An IDE (Coda2)

And if I were to look at my wife's laptop, I can guarantee that she's running more than just a web browser, and she's not technically inclined.

People have been pushing browser-only machines since the days of Novell's "thin client" strategy in the 90's. Netbooks were a fad. Consumption-only gained a small amount of traction recently with Chromebooks, but even the non-technical people in my office are dumping their Chromebooks for real laptops these days because they realize they have needs beyond Google's ecosystem.

Maybe we'll get there some day. But for now, if you want a laptop computer, you have to have an actual laptop computer.


> Netbooks were a fad.

This is one of my pet peeves. Netbooks were great as a small disposable internet console. They weren't just for consumption - the keyboard meant you could use them to compose text. The problem was that people bought them when they wanted a super cheap laptop, and so netbook manufacturers kept making the screens bigger and the processors faster until they stopped being netbooks and turned into crappy cheap laptops.

The new wave of tablets with keyboard covers are basically what netbooks were, but for a good decade there we lost the idea of a small cheap internet console which could be used to compose text.


The OEM specific Linux distributions did not help as well.

Which like Android afterwards, kind of proved the point of what happens when OEMs get to ship their own distributions.


> Netbooks were a fad

I've got a Samsung NC10[1] running Haiku beautifully. It's a 32-bit machine with just 2Gb of RAM and it's never run so smartly. I'm very impressed by Haiku's stability and consistency. The extended attributes on files are an eye-opener. Your mail client is a settings window, a compose window and a file manager. Just add the attributes you need for email to the list view.

[1] https://en.m.wikipedia.org/wiki/Samsung_NC10


The fact that Google has added support for Android and officially exposed the underlying Linux subsystem, proves that outside the US school system, they are hardly getting any major sales.

Otherwise they wouldn't need to pivot it into a general laptop OS.


This is so incredibly niche, though. The average person wouldn't run half this stuff.


The idea of the "average person" is always something of a red herring, though. The stuff the OP listed was:

- Safari

A lot of people run web browsers.

- Firefox (streaming audio)

A lot of people stream audio.

- A program converting a 500 page PDF to 500 300dpi PNGs

That's a weird one, sure.

- A bash script extracting PDFs from a municipal web site.

Also weird, but "average people" need to do some kind of automation once in a blue moon, so let's not discount that.

- A program downloading my video viewing for the week and converting it to a format better suited for my iPad

The conversion is unusual, but people download videos to their iPad.

- iTunes serving audio and video to TVs in two different rooms

A little niche, but "media server" is still a thing.

- An FTP program doing weekly backups

Backups are a thing. A thing more people should be doing, but definitely a thing.

- A mail client

Not niche at all.

- A VPN client

Not niche if your office requires a VPN. A lot do.

- A spreadsheet

Definitely not niche.

- An IDE (Coda2)

Sorta niche-y, but think of it as "text editor" and it's less so: it could be a word processor, or Scrivener.


Must we always trot out the "average user" as an excuse for why things suck?


> However, at this time, does OS responsiveness matter?

Somehow, responsiveness with Windows 10 on my i7-8650U laptop is total garbage, so yes, I think it still does.


It's been 3 years since W10 came out. I recently tested W10 in a VM to see how it's matured. It was unusably slow. Things would take seconds to appear, sometimes dozens of seconds.

Then I tried Windows 7, and I could not believe the difference. We're talking 5-10x faster. Everything just responds instantly. Too bad they're ending support in a year.


Are you using an SSD? Been using W10 for years across multiple hardware. All with SSD drives though. Never had issues with responsiveness.


People keep bringing this up, but I really don't think I, or anybody, should need an SSD in order to have a fast-acting computer. Spinning rust, RAM, and CPU clocks are faster now than twenty years ago, CPUs have vastly more cache, we have more CPUs, and our compilers and prefetch algorithms are smarter than ever. Why, then, are the same basic tasks not any faster, and sometimes slower? Why is the answer to use even faster technology?


I hear you, but why can't humans go farther from the Earth than they did in the 1970s?

Because for better or worse that's not what technology has been designing for.

Many programs nowadays are designed for the tradeoffs of SSDs rather than spinning media.


I agree but what I have noticed from doing some troubleshooting is that applications now-a-days (or rather always) use up more hardware as time goes by. For example, I verified with perfmon that my IDE accessed over 50,000 files when i clicked on 'Open' and the directory tree popped up. It accessed every file in my Documents and other standard folders. Browsers also use up a lot of disk IO. Just by getting an SSD you speed up your web browsing.


Try to use Android Studio, you will surely miss not having a SSD around. :(


If your OS is running totally in virtual memory instead of mostly RAM I see a problem.


"However, at this time, does OS responsiveness matter?"

It always matters; I don't want to waste my life away in front of someone's irresponsive, laggy, slow software.


Also, lagginess quickly turns into chaotic behavior. I’ll never forgive outlook for deleting dozens of folders during one of its spasms.


You’re missing the point. With concurrency handled in user code and (I’d add) reduced latency from SSD storage, do you even want the OS to be excessively preemptive? Doing so has large drawbacks in terms of cache performance, and the difference is no longer noticeable.


I'm not missing the point. I want lightning fast response from software to my actions. If there is one thing I cannot stand, it's when the input loop loses events, which happens very often on Windows and my Linux powered TV. I want to throw them both out of the window, it drives me insane.


I miss the instant-on, straight-to-REPL, ~1 second reset features of my old Commodore 128.

And I am not kidding in the least when I say that. Regarding more modern operating systems, BeOS was so nice to use. Here was an OS that had UI/single-user needs baked in to it from the beginning, and it was a breath of fresh air. I'd liken it to the experience I had switching from a 60Hz monitor to a 164Hz one- I didn't really think about it much at the time, other than I wanted a gsync-capable display, and one was one sale. But the smoothness of the scrolling, mouse use, etc was so much more pleasant. And yet I never would have complained about the 60Hz screen until shown the alternative.

Venturing in to personal opinion, I'd also say BeOS was developed at the inflection point between engineering running the show, UI be damned, and where we are now, with designers running the show, actual capability be damned. It was a good mix.


"I miss the instant-on, straight-to-REPL, ~1 second reset features of my old Commodore 128."

As a C=128D owner, I hear you loud and clear. It's a slap to the contemporary programmers' faces that a 1 MHz MOS 6510 based system was more responsive than multicore GHz, hardware accelerated systems we have now.


The one thing that has not changed over the 20 years since BeOS was around is waiting for the computer to respond. We still wait, except now we're often waiting on network rather than OS latency for that button to indent, or do something.

I find it very noticeable, not least as in terms of those basics we seem to be stepping backwards for responsiveness.

Loading software should be quicker, but no one cares about space and size any more, especially as more and more becomes a front for a browser. Even native software is faintly disappointing. You load a game in seconds from the lightning fast SSD then it takes 2 min to load the save as that's bigger than some OS's. :)


> Given that VSCode and Slack are basically other browsers, how much does OS responsiveness matter? Has the responsiveness battle just moved to the browser?

You can't build a responsive browser on top of an unresponsive OS.


> How much are people really running other than a web browser on a desktop/laptop now-a-days?

I’m definitely not a normal user, but I’m running emacs, st, tmux, stumpwm, dunst, gocode, cupsd, sbcl, redshift — oh yes, and Firefox too. Honestly, I’d love to be able to get rid of my browser, because then I could run emacs in a terminal and get rid of X entirely.


The browser could render itself to fb0 or something... no window manager/compositor, just fullscreen on its own VT.


> I'm running three apps right now: VSCode, Slack, and a web browser. Given that VSCode and Slack are basically other browsers, how much does OS responsiveness matter? Has the responsiveness battle just moved to the browser?

How many threads are they running?


The thing that always blew me away with BeOS was the time it took to cold boot. From powering on a machine to being ready to work. It was seconds. Still faster than a chromebook.

That sure is something that most OS'es today can't do.


You can configure most Debian variants to boot in seconds from a decent SSD. Ubuntu Server edition was really pushing this for a while, the desktop editions don't seem to prioritise boot times quite so highly.

Hell, even Windows 10 boots from an SSD these days in less time than my BIOS takes to start the Windows boot process...


By introducing SSD into the equation, you're creating a false equivalency.


Sure, but it's a lot less disruptive solution to boot times than switching OS.


The thing is though, BeOS in 1999-2000 was booting in 5-10 seconds on (in my case) a 300MHz Pentium II with 64MB of RAM and a PATA/IDE spinning disk. Even a stripped down installation of Windows 98 took several times longer on the same machine. I lived in BeOS for over a year and a half on that machine, only booting Windows for a few games. It was pure heaven.


Desktop boot time mostly doesn't matter, it is an infrequent event -- once a day at most, if the system is shut down at night. Server boot time, on the other hand, does matter. You really don't want a server to be down for longer than it has to. Being able to reboot in 10 seconds is huge compared to rebooting in a couple minutes.

Now, given that servers are fundamentally running the same OS, improvements geared towards that market tend to bleed over to desktop as well. Desktop just has a bit more to bring up, with a graphical environment and everything.


If you've got "big" servers you can expect to spend minutes just checking RAM, and having the RAID controller identify disks & volumes.


Completely unrelated, but: thanks Steve, for debian-administration.org all those years ago!


Thank-you, reading that reply was a pleasant surprise!


AmigaOS can, and yes it's still being developed.


I agree on the responsiveness part and would like to add that the fact that BeOS dropped you to a debugger shell when it crashed is something missing from modern desktop OSs. Just like the Lisp Machine (Genera, at least), introspection is something that’s present in Haiku and BeOS that was cut out of many modern desktop operating systems for “security” and “ease of use”.


In the JavaScript world, debugging is almost a bad word. It’s almost impossible to maintain a sane debuggable trace though a “modern” JavaScript application. I find I have to ignore basically all of the standard frameworks and transpiration pipelines and just write old school PHP-like code in Node.

I say all of this because I feel that my community has lost control of the debugging pipeline and I applaud Be and Haiku for making that a priority.

I find the benefits of committing to an always-running, always-traceable-in-production execution thread is an EXTRAORDINARY productivity gain (vs console.logs and connecting to IDEs manually via various witchcraft)


> In the JavaScript world, debugging is almost a bad word. It’s almost impossible to maintain a sane debuggable trace though a “modern” JavaScript application.

I felt this last week as I tried Webpack 4 on a new project. The source maps weren't correct, and instead of debugging my app I had to debug multiple Webpack plugins and work out which one was breaking the source maps.

Never did find out, but I fixed my app by debugging it mentally. It sure made me wish for a developer-first language.


Check out GuixSD if you like Guile Scheme REPLs when something breaks! I also recall OpenBSD and FreeBSD dropping to debuggers on kernel panics.


> The fact that BeOS dropped you to a debugger shell when it crashed is something missing from modern desktop OSs.

Windows has that - if you have e.g. Visual Studio installed (or any other app that registers itself as a system-wide debugger), then application crash dialog will immediately offer to attach the debugger at the point of the crash.


Since Windows 3.1 actually, famous Dr. Watson.


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.


AFAIK, the kernel is actually real time in a way that Linux and NT aren't. Even RT-Linux is very soft real time.


"in a way that Linux and NT aren't"

BeOS offered the same FIFO scheduling mechanic that allows Linux to support soft real-time.

RTLinux was a hard real-time OS which runs Linux as a lower priority service you can pre-empt with your actual hard real-time stuff. Similar systems still exist today. They work fine, if, in fact, what you needed actually was "hard real-time".

If your idea of the potential consequences when your system misses a deadline is more like "Some users are annoyed and demand refunds" rather than "I might go to jail for manslaughter" or "The $40M space probe turns into space garbage" then "hard real-time" probably wasn't what you needed after all.


My point was that (in my experience as a embedded engineer for high availability systems) NewOS has much smaller windows between kernel preemption points, particularly in comparison to Linux (even RT) and NT.

Is Haiku only soft real time? Yes, and I never said anything different.

Does it do a markedly better job at making real time commitments than NT or even RT-Linux? Absolutely mainly due to how much simpler of a kernel it is.

Also, I'm going to throw out there that if you're going to get uppity about hard real time guarantees out of nowhere and throwing out concepts lime manslaughtee charges out of nowhere, I hope that you're only choosing sel4 as last time I checked it was the only kernel that backed up it's guarantees in a way that it can be checked.


BeOS wasn’t hard real time afaik.


The NewOS kernel is from what I can tell.


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.


I don't think that's entirely fair. Back then I used to be quite an whore when it came to operating systems. I had Windows 2000, Windows 95 (for the rare game that wouldn't run on 2k), BeOS, Linux and Mac OS 9. BeOS was by far the snappiest (actually it was 95, but that was 5 years old by that point, only running DOS games and didn't take advantage of the SMP I was running).

BeOS ran circles around everything else - particularly when multitasking - and I was did use each platform heavily.


I had a similar experience. Windows 2000, ME, 98 and 95, Suse Linux, BeOS. BeOS was way better at multitasking, video playback, etc. I really lamented it's fall.


In my experience BeOS had much better single, full-resolution video playback or editing experience as well. Editing DV footage on BeOS had a no-stutter experience which took MacOS and Windows another decade to deliver, especially since it was rock-solid under multitasking – not just not needing to close your email client or browser but even things like compiling Mozilla from source didn’t cause a dropped frame.


Pretty sure that other OSes could do that too. But most people can't watch 5 videos simultaneously so why try?


> But most people can't watch 5 videos simultaneously so why try?

Off the top of my head: security guards do.

And if you limit a general purpose (operating) system by what most users need you'll soon end up with a system where most users miss something.


The "why try" was not meant that other OS can't do it. Just that users don't have the need for that. Showing that BeOS can do it, does not mean other OS can't do it too.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: