Hacker News new | ask | show | jobs
by kitsunesoba 2900 days ago
Right now they’re focused mostly on parity with BeOS R5 in terms of features/capabilities. Once that goal has been reached, the focus will shift to making Haiku a proper modern OS and addition of new features in the spirit of BeOS. I suspect that it’ll become much more interesting to a wider variety of people after a release or two with the latter focus.

The one thing that makes Haiku intriguing and promising in my eyes is the fact that its developers want it to be a first class desktop/laptop OS above all else with no server/mobile/other kitchen-sink-isms muddying the water. There’s nothing like that out there today, save for maybe macOS (which is more desktop focused but still suffers from the various multipurpose compromises brought from its *NIX heritage).

2 comments

"no server/mobile/other kitchen-sink-isms muddying the water"

I'm not convinced that at present this is a meaningful benefit especially compared to the increased resources available for say linux. The one good example that I can think of cpu schedulers seems to be solved by running a kernel with alternative patches.

The benefit would be the ability to cherry pick only the most desktop-beneficial features rooted in non-desktop domains while also leaving behind the rest. One example would be the window server and compositor — on Linux/BSD, these services, being desktop oriented on a multipurpose system, must be wholly decoupled from the rest of the system introducing a ton of opportunities for latency, stutter, and other issues to find their way into the user experience. It’s not impossible to minimize these issues, but it’s much more difficult.

Haiku doesn’t have to worry about this problem at all. It can simply implement the most effective and good-experience-conducive end to end design possible for its window management and compositing since it’ll never ever be a headless server.

But doesn't that mandatory separation of concerns lead to good system architecture?

Microsoft lived without it for years and then finally did the job when they needed a Core OS to be shared between laptops, servers, phones, and Xbox— in the process they discovered and cleaned up all kinds of super weird interdependencies between components which should definitely not needed to be talking to each other.

Haiku developer here.

I used to run Linux on the desktop pretty extensively, but eventually got fed up with how often something broke and I had to fix it (ALSA doesn't play audio anymore, or suddenly MP4 files stutter -- or most recently, on the last remaining Kubuntu install, I can't even log in to my user account after the upgrade, it just hangs.) So, perhaps the system is "better architected" by some standard, but having those weird inter-dependencies tends to mean everything runs smoother. Depends on what your definition of "good" is, I guess.

Well, last time i tried Haiku i tried to write a simple program and at some point when i pressed save in the editor the entire OS crashed, so there is that :-P.

ALSA not playing either means that there are driver issues - and i highly doubt Haiku solves the problem of drivers having bugs - or there is some configuration issue.

But this (configuration) issue and the desktop focus do not seem to require getting rid of the entire kernel and - most importantly - the systems it supports. If X11 doesn't do (which i doubt, X11 ran on way more restricted hardware than what is available even on $5 "computers" today, but lets roll with it) you could simply write a new window system from scratch and provide a layer for everything you may think a desktop system needs so that any application written on that layer will keep working if the backend library/tech changes.

And from my understanding of Haiku, this is basically what happens already (<Stuff>Kit depends on some popular open source library for <Stuff> that is already available on Linux but exposed to applications through the <Stuff>Kit API), except with a kernel that doesn't support most things that people need today.

Personally i like the idea of Haiku as a desktop focused system, i just do not see what exactly having a custom kernel with its own need for drivers and hardware compatibility provide that a layer on top of kernel that exposes a similar API doesn't (beyond of course the hack value and the fun of making a kernel - something i am 100% totally behind as i personally write a lot of stuff just for the fun of it).

> when i pressed save in the editor the entire OS crashed, so there is that

Well, when was this? Probably a few years ago? We've really improved since then.

> or there is some configuration issue

In the case I alluded to here it was a configuration issue. I eventually solved it, but it took me about 4-5 hours of Googling and reading settings files. Really not something an end-user should have to think about.

> on way more restricted hardware than what is available even on $5 "computers" today, but lets roll with it

Great. Show me a Linux distribution right now that can do that, while also having the default installed web browser play YouTube. Is it "possible"? I don't know, but nobody seems to be doing it.

> except with a kernel that doesn't support most things that people need today.

[[Citation needed]]

Kubuntu is perhaps not the finest example as it has not been what I would call stable or optimal. I honestly think your analysis is in error. It has forever been the wort kde distro you could pick. You could get a more stable experience by picking a distro by throwing darts at printout of distrowatch.

A number of things have been historically sub optimal on the linux desktop but while the way linux is designed as a bunch of loosely coupled projects DOES seem to be the cause of it being able to be a lot of different things to a lot of different people example different window managers, compositors, file systems its not equally clear that the defects present exist for the same reason.

It seems likely that haiku expanded to thousands of different types of computers could easily be worse or better than linux in practice insofar as buggy behavior while still definitely being objectively worse insofar as not being modular.

Another part of the problem with the Linux desktop is that if you have problems with it someone blames your choice of distro and sends you to one of the other 250 so you can encounter whole new problems and have a whole new community dismiss you until someone else blames your choice of distro.
> You could get a more stable experience by picking a distro by throwing darts at printout of distrowatch.

Great. How was I supposed to know that just under a decade ago when I first installed that? And I'm a programmer; how is any end-user supposed to know that? Ubuntu is one of the Linux distributions that has a lot of name recognition outside the Linux desktop community; you would assume anything based on it would also be fine.

So while I know that now, it doesn't change the fact that the Linux desktop has a messaging problem. Is it fixable? I have no idea. But it's not now; so come back when it is.

> bunch of loosely coupled projects DOES seem to be the cause of it being able to be a lot of different things to a lot of different people example different window managers, compositors

And that's my problem with it. It's too configurable. If that's what you want, then use Linux. But if you want to do real work? Then people use Windows, or macOS, and maybe in the future, hopefully Haiku.

> than linux in practice insofar as buggy behavior

We already support "thousands of different types of computers". Not sure what you're going after here.

> while still definitely being objectively worse insofar as not being modular.

Our kernel is actually more modular than the Linux kernel is; and in theory you could swap out other components too. But that's beside the point. Why is modularity some great ideal that everything should strive towards? It may be great in theory, but is it so in practice?

>> its developers want it to be a first class desktop/laptop OS above all else with no server/mobile/other kitchen-sink-isms muddying the water

In today's terms, that sounds a lot like an iPad (with an attached keyboard) or a Chromebook.

Kinda I suppose, except without many of the limits inherent to those platforms. Both probably still aren’t as good as they could be for their purposes due to baggage inherited from their *NIX predecessors.