Haiku R1/beta2 has been released
haiku-os.org
haiku-os.org
I really enjoy the visual style of Haiku. The look-n-feel of it seems better to me than any other UI I've seen, and I say that as someone who never used BeOS, so it's not the nostalgia talking.
It would be really cool if Haiku was able to get to a state were it's usable as a daily driver. I think having an OS and interface more focused on a single user at a graphical terminal rather than a multi-user system with graphics tacked on would be positive.
BeFS also has some really great ideas that aren't replicated in other more modern FSes, namely it includes database-like functionality that enables some really neat features via a standardized interface, rather than hiding them away in vendor-specific file formats. If you're interested, Practical File System Design[0] uses beFS as it's example filesystem (and it's also a really good book in general).
0 - https://www.amazon.com/Practical-System-Design-Dominic-Giamp...
(If you're a Peruvian long-haul mountain bus driver and failed to reveal that in your pre-qualification, then that's on you...)
The software side I didn't dig into much yet. I use my system for ham radio, so I would be compiling a lot of software in the future, some of it dependent on hardware things. Not sure how well that'll work, but I'm honestly willing to give it a try.
The biggest annoyance for me is the lack of a plug-in capable web browser; specifically having Bitwarden in the browser. I'll have to investigate if there's a solution.
Both unsupported.
I'm curious what you like about it. I personally miss a lot of design things that have fallen out of style.
On Windows, it feels like everything is blindingly white/soft grey with no texture or borders to help my eyes focus. Transparency is used without regard for its utility. Instead of using borders, they use space which ends up wasting a lot of screen real-estate. The differentiation between active and background window is very subtle.
macOS has many of the same issues. Scroll bars aren't shown unless you're scrolling. You can change this behavior, but still. Background windows are hard to differentiate from foreground windows. Transparency is used for seemingly no reason.
That said, macOS does offer better design queues than Windows 10. The macOS finder will use a slightly different color for the left panel than the main work area. Windows 10 uses the same white for both areas drawing focus as if they're equal. Buttons in macOS have a very subtle bump out to show that they're buttons vs just being completely flat. There are usually small borders between things.
Take this screenshot: https://thehacktoday.com/wp-content/uploads/2015/10/screensh.... There's no border between the back/forward/up buttons and the content below. Everything is the same white. Clickable items have no real indication that they're buttons. macOS: https://icdn2.digitaltrends.com/image/digitaltrends/import-m.... You can see more clear demarcations. Buttons clearly stick out a little, the left panel is a different color with a tiny border, the title bar is a different color with a gradient, etc.
Haiku's design harkens back to a day when we demarcated things. Haiku's active windows are yellow while background windows are grey (https://upload.wikimedia.org/wikipedia/commons/1/1d/Haiku_OS...). This makes it instantly clear what is the top window. There are borders on everything and a subtle beveled effect.
Is that the kind of stuff that you like about Haiku's UI? Is it something els?
That's not even style over function. It's just pure blandness. Greys and flat whites everywhere.
* Why does the title bar have a folder icon, some unknown icon and the same folder icon again? What does the dropdown arrow icon represent?
* What's all that whitespace in the folder tree?
* What's that down arrow next to the "forward" button? Oh and there's one next to the help icon, what does that do?
* Why is "Picture Tools" in highlighted yellow in the ribbon? Is that the most important thing a user needs to be aware of?
The whole Windows 10 UI is full of non-sensical UI decisions that result in a confusing, grey experience. And it's not like Microsoft isn't capable of good UIs, they've done a great job from at least Windows 95 to Windows 7. Then they've just dropped the ball hard.
You're specifically in the "Pictures" library / folder and the only files in the folder are image files.
I'd agree, and I'd have to extend that sentiment to almost everyone working on Windows Desktop. Forced updates,updates that frequently break things, a start menu that breaks because it is tied into the Windows Store database, a Windows Store database that breaks, ads in the f'ing start menu, needlessly replacing perfectly working system configuration tools with flat-ui bullshit alternatives that don't have the same functionality...
And attention to physical placement. Windows 95 made a strange choice when it placed the 'close' button next to minimize/maximize, making it entirely possible to close-by-accident. OS X then strangely threw away the classic Mac positioning and adopted something like Windows, and made this worse by choosing in its first versions to make the function of the buttons unclear until the mouse moved over them.
I really enjoyed Sun's "OpenLook" design back in the day: http://toastytech.com/guis/ow2default.png
Minimalist while not being spartan or unclear.Skeuomorphism but not overdone.
I think your argument against positioning them together is valid, but the reason in favor is also relatively obvious: similar actions should be grouped together. Close, minimize, and maximize all control the position of the window.
On OS X, putting them together also allowed Apple to introduce a quite clever and effective traffic light metaphor. Red closes the window, yellow moves it out of the way temporarily, and green gives it full focus.
Its functionality gradually shifted towards a more Windows-like “maximize” over the years as more cross-platform apps moved onto the platform and apps that don’t have an explicit content size (like web browsers) proliferated, but the original implementation didn’t really have the strong connection to the traffic light metaphor you describe. It was more of a “red closes the window, yellow moves it out of the way, and green resizes it randomly in a way that may or may not actually be what you want”.
(I don’t recall whether or not this made it out of beta or not, but early OSX builds at least also had a persistent “ focus mode” button in window title bars— a button off by itself at the far right would shift into a single-window mode and hide everything else.)
> (I don’t recall whether or not this made it out of beta or not, but early OSX builds at least also had a persistent “ focus mode” button in window title bars— a button off by itself at the far right would shift into a single-window mode and hide everything else.)
You're not thinking of the fullscreen button in 10.7–10.9, are you? It used to be in the top right corner as you described: https://i.ibb.co/KGVnyrh/Screen-Shot-2020-06-10-at-12-17-12-...
I downgraded my main machine to Mavericks a few months ago (because I wanted to), and while I generally love it, I was annoyed enough with the zoom button that I actually wrote a SIMBL plugin to make it behave like modern releases: https://github.com/Wowfunhappy/GreenFullscreen
But recently switching to linux and XFCE (after having a personal macs for over 20 years), I'm reminded that being able to hit F11 and have a full screen window was useful all along.
Having a window use the full screen, but not becoming screen modal seems far less heavy handed.
Still believe this is true when I have to sit behind someone swiping back and forth through a linear line of fullscreen windows, watching them go all the way one way and ooops its not there now we have to go all the way back.
I get that the slick UI makes you feel like you're in Minority Report but really it just makes a single click operation into a 3-8 swipe operation.
I'm talking about being able to have a fullscreen app that I can switch back and forth with cmd-tab or cmd-tilde. I dont there's dispute that its desirable to be able to use all the screen space sometimes. The issue is that last time I checked Mac OS prevents you from quickly cmd-tabbing to and from full screen windows, and had compulsory full screen transition animations that can't be disabled.
On small laptops like my 11" Macbook Air, fullscreen is essential to having a comfortable amount of screen real-estate. Seeing two applications at a time isn't usually practical, unless I'm just copying items between Finder windows or some such.
If I'm moving between two or three applications, I know how many swipes I need to get from one to the other, and the movement is quite efficient. If I'm working with more than three, I can swipe up and pick the app I want directly in Exposé.
On desktops I use fullscreen much less often, but it's useful for psychological reasons when I need to focus on a single task.
Well, I guess it's a custom shell for Motif.
Before flat design the pseudo-3d visual we had was giving us helpful visual clues with the desktop metaphor (https://en.wikipedia.org/wiki/Desktop_metaphor). We knew we had different containers, those containers had a header and content, the header contained buttons, etc... All of this was clearly visible.
Flat design supposes we are already used to this and simplifies the UI to make it look cleaner. In the process we lose all the cues we had before and have to guess where things start and where they end. We've always mocked our elders for not understanding computers, not knowing where the firefox window ends and where the taskbar starts, but now with flat design we're in the same situation. There's no depth, no indication that anything is actionable, no clear demarcation. It would have been ok if it didn't still follow the desktop metaphor: I find this much more acceptable on mobile for example, but it's not working well on desktops.
It's also not like totally flat is terrible, one could imagine an effective LCARS-like UI (and I'm sure, many of us dream of it still).
I mean: https://upload.wikimedia.org/wikipedia/en/7/7d/IOS_6_Home_Sc...
Everyone is going to have different tastes, but IMO there's just nothing attractive about that!
OS X, by contrast, looked consistently gorgeous before it went flat: https://i.ibb.co/qkC8kcw/Screen-Shot-2020-06-09-at-7-40-02-P... It's also really not particularly skeuomorphic, beyond vaguely suggesting a metal surface in some places.
Also i was really referring to desktop. I think a bit of skeuomorphism can be fine for a mobile device that you interact with via a touch screen. For the desktop though, i do not think it fits, but even then... it was rare, not something that was so rampant as to warrant an entire industry to change its style everywhere.
The applications i had in mind were something like these:
https://cdn.arstechnica.net/wp-content/uploads/2012/07/notes...
https://cdn.arstechnica.net/wp-content/uploads/2012/07/remin...
The advantage software has over real physical objects is that it need not duplicate the limitations of a real world object. A software book can jump to the next page instantaneously, and index your notations, and provide instant dictionary lookups. More importantly, it can’t duplicate precisely any of the real advantages of holding and interacting with a book because you’re not interacting with a book, you’re interacting with a program through a proxy device (a mouse, a trackpad, a keyboard, a screen, a d-pad, whatever).
The skeuomorphic aesthetic was ugly in the eyes of many including my own, but there was an argument to be made that instead of taking advantage of the fact that this is software, Apple was leaning too hard on the skeuomorphic design trend in terms of how their applications behaved. The two most egregious examples were Notes and Newsstand, the Notes app tried to duplicate a memo pad and the only typeface was Marker Felt in a single style (to imitate handwriting) and Newsstand behaved almost exactly like a Newsstand you might find in a bookstore, holding magazines and offering them for sale. The magazine apps usually tried to duplicate the look and feel of an actual magazine, but with the addition of audio and video.
Now the Newsstand is gone, you can still get magazines, but through News or the App Store a lot of publishers caught on that duplicating the look and feel of actual magazines probably doesn’t make their product more appealing. Notes is a much more powerful tool than it used to be and if it were your only Notes app, it isn’t a bad one to have and supports actual handwriting input if you so desire.
That said I will say throwing out skeuomorphism didn’t have to mean throwing out depth and detail, but when Ive’s team took over software design, they imposed their own vision and that vision went too far into minimalism, foregoing detail for slight and subtle contextual clues that could be missed, and then further refined from there into something a bit more usable. Thinking about it, I don’t really have a problem with how it stands in iOS 13, although iPad OS 13 needs to fix its interaction paradigm.
Newsstand was a folder with special powers that made it behave in some ways like an app but with some of the limitations of folders. You could download special apps to it that pretended to be paper magazines that mostly behaved like paper magazines, and Newsstand would faithfully try to recreate the effect of a magazine rack inside a bookstore. That said, it was another "app" which people wanted to hide, or uninstall, or just somehow get out of the way of what they actually used their phone for and because it was also a folder, you couldn't do what was the custom at the time and put it in a folder which would at least tuck it out of the way. True it's a minor annoyance, but it was a minor annoyance on an expensive phone that people paid a lot of money for through what was at the time, usually a contract and wanted to exercise some modicum of control over. iPhones have a lot of minor annoyances, but if you remember some of the other controversies at the time like the Twitter Dickbar, people get upset over the things they can see that they can't exercise control over. It's one of the reasons Newsstand is gone, and also one of the reasons why people can now uninstall most of the default apps on an iPhone, even if it breaks expected functionality.
It wasn't just that the Newsstand was skeuomorphic design, it's that it was skeuomorphic design that tried to be special and important in a way that users didn't want it to be special and important, but it was still skeuomorphic in the way it looked, behaved, and encouraged other apps ("magazines") to behave. Yes, it was just a grid of icons with a grid of icons, but it was a special grid of icons with a wooden background that placed Apple's and publishers' interests ahead of yours and mine. Apple still hasn't really figured this out either, they ditched the skeuomorphic design, but they replaced it with the News app which is still terrible but that's a whole other topic.
Now to be clear, I don't hate all skeuomorphic design, some of it can be quite good. I still use the Finder, or attempt to anyway with primarily icons and lists, with my Desktop as a Desktop, and I keep the Clock and Calendar icons on the first screen of my iPhone and iPad because I like how they update in real time and resemble a clock and tear off calendar as far as the icons go.
I use bookmarks in my browser, and my ereader software, and my PDF reader and I still use a terminal emulator which emulates the look and feel of a terminal, although with fewer limitations as the physical ones. I even have some Stickies on my screen right now which I use as more or less digital sticky notes.
I also appreciate how the Trash can on Mac OS X looks and behaves like a literal wastebasket. It's just software, but if I dump something in there by mistake, which doesn't happen often but it's happened, I can just "reach" in there and put it back where it belongs.
I keep PCalc installed despite using Soulver for most calculations simply because for something that imitates a physical calculator, it is a very nice looking calculator. I keep the widgets accessible as both decoration and for quick one-off calculations.
I have GoodNotes 5 on my iPad, which has slowly replaced the stack of paper notebooks I used to keep with a stack of digital notebooks that I can create and sort on whim without taking up the shelf space my physical notebooks did. These do behave largely like notebooks.
iOS 6 was the terminal destination of a trend, that appeared to be more of a trend than it ended up being, possibly because of a political shakeup within Apple, possibly for other reasons, but it was the most recent culmination of a trend that Apple did reverse course on in which their software was resembling not just the look, but limiting itself to the behavior of physical objects. Some of that took root in Mac OS X 10.7 Lion and was gone by 10.9 Mavericks, so I can't say it was incredibly long lasting, but without the ability to see into the future and know that Apple was going to end its drunken skeuomorphic bender with iOS 7 (which went too far in the other direction but in later versions found its own mostly happy medium), it was still roundly criticized both to discourage Apple from continuing its drunken frenzy and extend it to even more apps on the operating system (a worse case scenario, maybe an unlikely one even then, moot now), and the 3rd party developers which were imitating it, less judiciously, and badly.
Apparently, Microsoft and Facebook are (were, in 2017, at least) in a race to bring it back:
https://www.businessinsider.com/microsoft-facebook-next-big-...
He doesn't want to read stuff on the screen, and a lot of concepts just didn't click with him. Would I be able to get him to learn a smartphone with a fully skeumorphic design? Probably not, but he might have understood more concepts than I could teach him with a flat design.
If I had to narrow it down to something more specific:
* The UI seems very compact, the buttons/widgets are no larger than they need to be, as compared to Windows 10 and GNOME 3. I would say modern macOS also does a decent job here. The compactness is valuable for small screens for obvious reasons, and is also valuable for large screens since you can fit a lot more stuff on them. And it sounds like with this release, you can set different scaling factors, so everyone can be happy.
* The intractable widgets are clearly demarcated from the rest. As you point out in many modern UIs, it's very difficult to tell what is a button and what isn't. I actually think GNOME 3's Adwaita (as much as I like to rip on GNOME for what I consider to be good reasons) does a good job in that department. In the final screenshot in your comment, it is very clear even without being familiar with the specific programs what can be clicked on, and you have a good expectation of what's going to happen. With Windows 10 and modern macOS, it's only clear if you are familiar with the specific programs being shown.
I also like macOS 8 and 9 a lot from a UI design perspective, though I have read enough about their underlying architecture to know that maybe I wouldn't want to actually use them.
Context: I'm just starting out as a graduate student. My first PC ran Vista, then I went to Windows 7, 8, then to Linux, a brief stint on macOS, and I've been bouncing between Linux and BSD since then. I've tried about every "modern" UI under the sun and most of them suck.
Of interest I suppose are the pinephone,
https://www.pine64.org/pinephone/
coming pinetab
https://www.pine64.org/pinetab/
and of course the Librem 5
Here is a video of gnome + pinetab
https://www.youtube.com/watch?v=l53h_uQ41Ao
Window management seems usable. You can see the utility of a whole screen launcher and targets are big enough to hit and indeed it does look usable but it still looks like its mostly using your finger as a not that great mouse as opposed to being touch first. It also looks like it wouldn't work if it were shrunk down much smaller than the 10" here. Another issue I see where for example windows handles the case a LOT better is automatically popping up a virtual keyboard when input is expected. I believe this is supposed to work with gnome apps when run under gnome but a pervasive standard solution would be welcome as well as a better on screen keyboard on par with something like swiftkey.
Aside from that, I think it’s a pipe dream for anything but the simplest applications to have one single UI implementation that works well for both touch and non touch. It didn’t work well for Windows. It’s not working well for GNOME. I think the needs of touch vs non touch users are just too different, and considerable developer time is being wasted trying to magically support both with a unified front end.
Of course other people are free to spend their time on whatever they want, whether it’s useful or not. But I haven’t seen a single application come out of GNOME’s efforts to unify desktop and mobile that I would actively prefer to the alternative.
So yes, I guess they “make a ton of sense” if you want to support a use case nobody has, on hardware that doesn't exist, and end up with an inferior experience for either or both sets of users for your trouble.
For the kids especially it's interesting to watch them, because when they're actually trying to interact with what's on the screen precisely, they reach straight for the mouse and touch unless it would involve completely breaking what they're doing to go find the mouse.
Before I had them on Surface Go's, I had them on cheaper, very underpowered Evoo 2-in-1's, which were horribly slow under Windows, but ran beautifully under Fedora...including all the touch screen, rotation stuff.
> So yes, I guess they “make a ton of sense” if you want to support a use case nobody has, on hardware that doesn't exist
For programmers, no, we want the older UIs because the keyboard and mouse are the best input devices for what we do.
But there is a lot of hardware out there used by a lot of people that does switch back and forth. It's not only the Surfaces. It's iPads with the more and more ubiquitous keyboards. It's all the other 2-in-1's that are being sold. And they're actually really handy machines and fit into far more niches and enable far more interesting behaviors than straight laptop.
Four the first six hours or so, that is. It's one thing to use touch devices for one or two hours at a time, and for a mix of work and media consumption. It's a totally different thing to use them for eight hours straight, poking at the screen virtually all the time. If you really want to prove a point, I guess you can get through it, but saying "it works" is a stretch. It works the way dragging a cart with square wheels works -- you can eventually get it where you want to be but that's the extent of the good things one can say about it.
I really wanted to prove a point so I kept trying it for about three weeks, and I gave up. Those three weeks probably got me about three years closer to RSI, too.
It's not just a programmers' thing, it's pretty much any kind of professional work. Graphics, CAD, word processing, spreadsheets.
Yes, for anything where precise control on the screen itself is the necessary thing, keyboard and mouse reigns supreme.
There are also people who use their devices moving around in the world. I remember watching a realtor using their giant smart phone at once point. Camera, voice to text, scanning documents...it was more like a mobile version of office facilities than manipulating things on the screen. It's different work and the peripherals and mode of interaction are different.
I really think contemporary design is driven by a fear of being uglier than the next guy, to an extent where a lot of proven ideas have been thrown out with the bath water instead of being iteratively improved upon.
That's an incredibly cool feature, much better than the window "collisions" that some other UIs have.
The most similar idea I can think of would be i3 with it's container windows and such. You could group things together and tile within the groups, and IIRC you could have the whole group float if you wanted to. I don't use i3 anymore since I switched to CWM, but maybe an i3 user can comment.
Floating windows in i3 are for dialog windows not applications. If you try to use it as a floating wm you would be disappointed.
Shortcuts to switch tabs of different applications. And then a per-workspace arrangement for different projects/personal stuff.
BeOS was awesome.
Some of the software ported to this OS [0] (some not on this list but looking at their repo [1] ):
LibreOffice
Krita
Telegram
Jetbrains (PyCharm, ItelliJ)
Rust, Node.JS, Python, Java 12
Qt Creator
Arduino
Obviously there's more in their repo, looking promising though. (Try find your favourite software in there!)
[0] https://www.haiku-os.org/get-haiku/r1beta2/release-notes#mor...
The Linux desktop is a horribly fragmented and fragile ecosystem. Haiku lacks a lot of features the Linux kernel has, but the overall system architecture and design is significantly cleaner and less fundamentally fragile.
Do you have any tips or pointers? Thanks in advance
Qt Creator is indeed in the depots and works pretty well, so you can use that.
If you have more questions, feel free to find us on IRC (Freenode#haiku), the forums, the mailing lists, the bug tracker, or (for ported software) on GitHub (@haikuports/haikuports). Or continue asking here if you prefer :)
Here is the code for the Magnify App in Haiku: https://github.com/haiku/haiku/blob/master/src/apps/magnify/...
In Haiku, on the other hand, the bootloader, the kernel, window manager / display server, init system, base applications, etc. are all developed by one team in one source code repository.
Recommended exercise for people who might be inclined to believe this hogwash: Go find where in that "one source code repository" for Haiku they implement RSA to make their web browser work.
You won't find it. After a while you'll dig down to a layer that just calls OpenSSL, the same OpenSSL you'd be calling on a Linux distribution. Was this developed by Haiku's "one team" in their "one source code repository"? No of course not and yet here it is, foundational to their operating system.
I'm not sure what arguments I made "don't quite stand" simply because you need to use Qt apps. In fact I was arguing that using Qt apps is perfectly alright! LibreOffice is not "native" on Windows or macOS, but people still use it there, yes?
Of course there is going to be third party code, its immensely complicated to "make a web browser work".
Show me a GNU TCP/IP stack or socket implementations. Oh, wait.
Also, OpenSSH. GNU LSH exists, but it's... ahem. A bit misrepresented; if not, not at all.
We have no interest in trying to port Chromium. Even OpenBSD, which uses X11 that Chromium already has a native backend for, has thousands of lines of patches they have to maintain (and spend hours and hours rebasing every upgrade). Haiku would have to maintain far more than a few thousand lines, as we would have to add a new graphics backend at the very least.
Firefox is better in this department, but has a codebase larger than Haiku itself, and none of us have any expertise there. If someone knowledgeable about Firefox's codebase wanted to port it, we'd be happy to help where we can, but there's only so many of us.
Wow, you're not kidding. https://github.com/openbsd/ports/tree/master/www/chromium/pa... is positively scary.
Or you want to use Xrdp to connect to your desktop via Windows RDP, but the default shipped configuration enables the wrong plugin, so you can connect but get cryptic errors when signing in, so you have to edit the Xrdp configuration file and change the plugin load order and then restart X11 while signed in via SSH (happened to me a few months ago, on 18.04 LTS.)
Those are just two examples off the top of my head; back when I did use Linux as a daily driver, I would spend multiple hours a month fixing something that got broken or did not work as it was supposed to, and this was just on Ubuntu, not even on Arch or some more up-to-date distro like that.
I’ve been a desktop Linux user for at least 27 years (pre 1.0 days), and I can’t get Ubuntu to work at all anymore. (Ubuntu was my daily driver for over ten years.)
I agree with the sentiment that Linux stability isn’t where it should be. I swear it used to be better. I’m definitely looking for a new OS. OpenBSD is on my list. I think I’ll give Haiku a spin. I liked BeOS back in the day, but couldn’t afford hardware it ran well on.
Have matured non-native 'apps' is a big YESYES, it flattens the adaption curve.
Hope more peoples test Haiku, they will love it, its so fast and un-bloated and still has everything a Desktop OS need's...oh man and the startup...i mean even OpenBSD feels bloated, the booting time is phenomenal.
Yes, absolutely, spot on.
But an OS does not exist on it's own. I'm afraid it will all be for naught unless you (or someone) has a viable business model to push the surrounding ecosystem forward.
And yes, macOS users probably also tell you that they prefer macOS, though note that they also are often very loud about preferring software that takes advantage of their OS' features because this is why they use that OS.
The thing is, macOS has a much richer selection of software than Haiku has (and most likely, ever have) so macOS users at least can fall back to those. But if all you are going to use on Haiku is ported software that ignores native APIs then what is the point of using an OS with less hardware support and features?
The Linux desktop being fragmented doesn't mean much - your Qt application ported to Haiku will also work on KDE perfectly fine and chances are even if you limit your software selection to Qt-only applications, you'll still have more applications to work with. Though that fragmentation is really a poor description since there are standards you can rely on, like X11 - sure someone might be using Gnome or XFCE or Window Maker or i3 or whatever as their desktop, but applications do not target those environments, they target a lower level of the stack that is shared among these and making an application on XFCE doesn't mean it'll only run under XFCE.
So yeah, it might look fragmented, but unless you are some custom support worker that tries to navigate someone through the UI via phone, that isn't much of an issue in practice (and "in practice" is the important bit here because the reasons i've seen people put forth for having Qt/Java applications ported to Haiku and ignore Haiku's own APIs are all about practicality - which ignores the elephant in the room which is that if you care about practicality using Haiku in the first place wouldn't be a good choice anyway).
When i hear about fragmentation i think about incompatibilities, like -e.g.- the home computer fragmentation of the 80s or the Java ME fragmentation of the 2000s. However there are very few incompatibilities between modern Linux distributions and you can avoid them when you are releasing software.
Haiku already has its own third-party 'native apps' that directly use its APIs and also promotes them in HaikuDepot [0]. Users from other OSes will always ask for other apps and if the OS has a 'modern browser' even when WebPositive is based on the same technology as Safari. i.e, WebKit. But they'll still ask for Firefox and Chrome.
The fragmentation argument can be made from a maintenance point of view. For typical platform support, it's easier to maintain and target one OS that has a single unified stack and SDKs (GUI toolkit, sound, input APIs, etc) than to do this on multiple distros and to only officially support 5 Linux distros, which is why Windows and Mac are always targeted easily. There is no 'standard' SDK on Linux distros, which is why one user could be using ALSA or OSS, X11, XWayland or pure Wayland with Sway, etc. Haiku has first-party default system components which it maintains.
It also sits in middle of macOS and Linux, being that its open-source like Linux and has a standard defaults and a SDK like macOS. So maintenance-wise, maintaining one of each OS like macOS or Windows sounds less expensive than targeting 3 separate distros here.
Second, what you point out about having its own third party apps is correct and i know about what Haiku is - i even did some quick port of my older 3D game engine some years ago [0] for fun.
But none of that answer the question you quoted. What you are writing is from the perspective of a programmer who may want to target Haiku or works on Haiku. My question is from the perspective of a user.
As a programmer i'd target Haiku out of fun since there is no practical reason to target it. As a user i'd also use Haiku for fun since it has too many limitations to have any practical use (except perhaps if all your work can be done via the console and you connect with ssh to some remote Linux server to do your work).
But if you are not using it for any practical use (since for that you'd use Windows or Linux), why bother with anything else than the native APIs for your desktop applications on a desktop focused operating system where applications are meant to integrate with the system itself?
I have to agree with this. Although, if Haiku met a few more of my personal criteria for what I'd like in a Desktop OS I would be willing to sacrifice a good deal of practicality to use it. For some, that threshold may already be met.
To an extent, most of my software is cross platform and most runs better on Windows but the only real app keeping me on MacOS is TextMate. If I couldn't use that anymore I'd probably just switch fully to windows.
Ported apps are great for extremely complicated things but then there are other parts where there is a lot of UX benefit if the soul of the OS shines through them.
However, I have no idea what you mean when you say that Haiku's kernel and filesystem has "several design problems."
Can I write a native GUI program that is guaranteed to work on all Linux distros, just as I can develop native software on Windows and target all Windows users?
This is the open source continuation of BeOS, which was first released in 1995. It's barely younger than Linux, and about the same age as the older distributions like SuSE, RedHat, and Debian.
2018 https://news.ycombinator.com/item?id=18099127
2017 https://news.ycombinator.com/item?id=15973918
2016 https://news.ycombinator.com/item?id=12566056
2013 https://news.ycombinator.com/item?id=5564766
2012 https://news.ycombinator.com/item?id=4123941
2010 https://news.ycombinator.com/item?id=1334827
2009 https://news.ycombinator.com/item?id=820844
Sundry: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
From Wikipedia:
It wasn't until September, 2009 that Haiku reached its first milestone with the release of Haiku R1/Alpha 1. Then in November, 2012 the R1/Alpha 4.1 was released, while work continued on nightly builds.[8] On September 28, 2018, the Haiku R1/Beta 1 was released.[9] On June 9, 2020, Haiku R1/Beta 2 was released.
Almost 11 years and it's still not out of beta?!
I remember being optimistic/hopeful about the project in its earliest days (following its progress on OSNews).
I wanted to see something like BeOS on x86 hardware after seeing how fast it ran on my first PC (after a long stint with Apple IIs and Macs).
A lot has changed in those 19 years, but still, kudos to the team for sticking at it.
It's not a commercial product. Even if it was, what ever happened to releasing quality software? Sure, Google and Facebook release new builds constantly but everybody hates them. There used to be a time when a new version of software meant new features, not new bugs, and it seems like Haiku hearkens back to that time.
The "beta" label signified that we had implemented all the features we thought mandatory for R1. Of course there are new ones in this release (like HiDPI support or the NVMe driver) because we still want to use Haiku on contemporary hardware, so changes still get made. But largely we are more oriented towards stabilization and "usability", i.e. fixing bugs or minor enhancements that get in the way of actually using Haiku.
But it's also the case that we do not get a massive amount of work done every month; probably around or less than a "man-month" between the dozen or two developers.
Thanks for your work on Haiku.
I remember LOVING BeOS when it came out. I was a kid, had dabbled in breaking my parents computers with Linux distributions in the 90s, and was enamored with BeOS and was blown away by how great it worked. The fact that the user space has continued over the years is really nice to know (and have tried over various times through emulation).
Has there ever been interest or attempts at funding it so that more than a man-month could get accomplished?
We had two major contracts (for a few months) in 2012-2013 to finish and then integrate the package management system, another in 2013 for the new kernel scheduler, and then one that lasted almost a year around the same time working on the WebKit port used in the built-in web browser (which ended because the money ran out.)
Haiku, Inc. currently has over $100k in the bank as per it's last financial report, but at only $20k (usually less) in donations a year, it's obviously not enough to be sustainable past a year or two for even a single developer. If there was actual sponsorship by the community or otherwise, then yes, a number of us would be willing to work on Haiku full-time.
I myself am not exactly sure what I'd like to use Haiku for. I'd probably consider it if I had two different systems, one for development (which I need to use Linux for) and one for everything else (I just need LibreOffice and a usable browser).
Overall, we are in a kind of "valley" of sorts: Haiku, Inc. gets more than enough money to pay for infrastructure and occasional miscellaneous things like that, but a long way away from enough to hire someone full-time for an indefinite period, and it's difficult to get people to contribute larger sums for a full-time developer that may become possible in half a year, two years, or ten years.
Imagine if Haiku had fully funded developers working on the OS. It would be out a lot sooner with more features, but obviously that isn't the case.
[0] https://www.haiku-os.org/get-haiku/r1beta2/release-notes/
RPi's could be the killer "app" for Haiku.
Otherwise, Haiku runs on modern hardware just fine. I have a custom build from this year under my desk with an AMD Ryzen 7 3700X (8c16t), an NVMe drive, and Haiku boots off the NVMe and runs great with all 16 threads. It even can connect to the internet via the WiFi card on the motherboard.
Have things been playing out that way?
But, I mean, NVMe follows on SATA much like SATA followed on IDE, so on that front things are not so different. And for WiFi, there is not a common device interface for that, so each new generation of hardware from each manufacturer requires a large chunk of new driver code. Haiku reuses FreeBSD's WiFi drivers and 802.11 layer, but as you can see, they are having a hard time keeping up (only recently was one developer hired part-time to work on it, I believe.)
So, it's kind of a wash, really -- on x86 commodity PC hardware, that is. Part of the reason Haiku on ARM still has not taken off is how wildly diverse that ecosystem is, especially how much of a moving target it is.
Blind user here, I would like to try this out and see what all this fuss is about, but I think I can't. Can someone explain what's so great about Haiku's UI?
Beyond the spirit of and compatibility with BeOS, Haiku's advantages are being full-fledged desktop operating system developed by a single team as a single unit (that is, unlike Linux or the BSDs where the kernel, window manager, GUI toolkit, application suite, etc. are developed by separate teams and combined by yet other groups); and also our occasionally unique approach to systems design and implementation (for instance, the Haiku package manager is based around a union mount of block-compressed filesystem images.)
The UI itself is reminiscent of 1990s UIs (gradients, bevels, more saturated colors), with a modern feel (modern fonts, antialiasing, etc.) The window borders are not rectangular, but are instead yellow "tabs" which are only as wide as their text is, and so windows from separate applications can be "stacked" and used as a unit, like tabs within applications.
I understand the theoretical benefits. I'm curious if anyone is actually using Haiku features in some non-trivial way, e.g.
> Database-like file system (BFS) with support for indexed metadata
A filesystem with indexed metadata sounds great but who is actually using it and how?
I tried to search for comments with the obvious phrases but all I found was this comment from 10 years ago: https://news.ycombinator.com/item?id=1335692.
One of my first sour experiences with NTFS was the horror involved in learning how to find which files have changed since some given time in a directory. I expected a SQL-ish interface but...omg. omg.
The reason for tracking changes in files was for hot loading art assets into a running program.
That's basically what FILESTREAM is in SQL Server if you squint.
I do, but maybe i am not the best everyday example with my ~20 years user experiences with BeOS and Haiku and do development/porting for Haiku. I use on a dedicated Haiku laptop and planing to switch to Haiku on my main system too, the only roadblock is the external-display support. After it gets enabled (i have intel based system) i will switch completely.
>I'm curious if anyone is actually using Haiku features in some non-trivial way, e.g.
All the files coming from packages have an own attribute which identifies the parent package, so it is extremely easy to find from which package the questioned file comes from. For example.
I have to frequently search for existing recipes, i use bash to craft me a search query. I definetely could use `find` instead.
I like that i have no email client, so if i need to search for a mail on a busy covered desktop i don't have to hunt for the mail-client icon on the taskbar i just click on the desktop where it visible between all the windows, Alt-F > type what i want > ENTER.
I really like the virtual-desktop handling, S&T, etc., so long story short: i like so how it is.
It does sound like fun to write a new os... but this project is at least 10 years old. How and why did it survive and reached beta? Why does it still exist?
What practical applications does this OS has (or will have) over the commonly knowns?
(1) While Be, Inc., failed, it's debatable whether it failed because the OS wasn't good enough. It was certainly being used in commercial production in certain places already -- not just by hobbyists. Steinberg was selling a BeOS version of their (very high-grade and expensive!) audio production system, Nuendo, and I actually saw Level Control Systems' CueStation, an "audio automation system" for Broadway-grade live performance systems, running on BeOS in the wild -- it was running the control booth of Cirque de Soleil's permanent installation at Disney World. BeOS was doing shockingly well in attracting commercial applications in 1997-1999 given its tiny user base -- what they were failing at was attracting hardware companies to ship pre-installed systems. Be's management was dead set on the idea that "steady and slow growth as a niche OS" just wouldn't do, and they needed to either be the next Apple or die trying. And, when they punted on desktop BeOS in favor of a custom version for what turned out to be the absolutely imaginary market for internet appliances, they pretty much chose "die trying."
(2) I think it depends on what you mean by "production". I mean, it's probably never going to be competing with Linux servers. But is it possible it could be competitive with Linux as a desktop OS? Maybe. A few years ago I wouldn't have been that optimistic, but they've done a tremendous job with ports.
Microsoft told hardware manufacturers that if they ship machines with BeOS they would charge them more for Windows licenses.
https://web.archive.org/web/20131109045719/http://www.intern...
For example, I remember being able to simultaneously play 5-6 mp3 files, load a web page, play an mpeg video, and browse the local file system while having complete UI responsiveness and no audible/visual glitches. This was pretty much unheard of at the time, especially on modest consumer hardware (pentium 2 ~350mhz IIRC)
I remember the OS installing in a crazy short amount of time.
In contrast, other platforms at the time used 1 process per app, and would block all the apps other windows from updating while the active window was processing, unless the developer made a point of multithreading their apps UI. Some platforms blocked the entire system UI if a window froze.
Today lots of platforms use BeOS' paradigm, and it seems obvious in retrospect, but at the time, it was very novel.
I don't really know what the differences between porting Haiku's userland to that or to Linux would be. Everyone loves to make arguments about how microkernels are so great and all, but there still isn't a major operating system or distribution with a significant number of everyday users on one. Plus, all of our same philosophical objections to using the Linux (or any other kernel) as the basis for Haiku would still apply.
Maybe even having more drivers for contemporary hardware? Also security, network stack?
The extreme modularity of Linux is absolutely one of its strengths but honestly at this point it just seems like such a modular system can never really feel as coherent and solid as a system built as a single unit from a user experience point of view.
It's so nice to see this project making great progress.
"While the first release(s) of Haiku will be very much like the BeOS R5, the operating system it is reimplementing ..."
They really couldn't make it any easier to figure out what Haiku is.
The URL with an OS in the name tells me what category it is in but not the USP (I don't really get that from the two sentences either but at least it's something)
So I went looking (not via Home or About because usually they are useless, YMMV) but via Documents.
So here I am, saying that it took me a while to figure out what it was.
BeOS was/is pervasively threaded and took full advantage of multiple cores (a very novel thing when it came out - BeBox had two PPC processors).
Similar projects include: ReactOS (Windows 2000), AROS (AmigaOS), FreeDOS (MS-DOS), FreeMiNT (Atari ST). I think there might even be one for OS/2
It is so crazy to think that we could be living in a completely different world today had Apple opted to acquire BeOS instead of NeXT.
Would FreeCiv stop slowing down to a crawl on larger maps in late game? Could i abuse AQEMU as performant dockerthingy for the applications i need?
perfect for an old 32 bit computer lying around. a computer for the grandparents. or the kids. or dual-boot into it for a focus for writing, with minimal distractions.
Linux is an example of what to expect without this critical piece. Decades of manhours from some of the best and brightest, millions of lines of code ... and a miniscule marketshare on the desktop.
But this is not what Haiku is about.
Linux shows up everywhere. With a GUI.
Again, not what Haiku is about.
android is linux
Please stop moving goalposts. Either Linux is successful, or it isn't. Android proves that it is successful on cellphones (which likely means it's the most used Operating System in the whole planet).
It's is successful in server applications. It is successful in cars. Consumer devices. And so on.
Just because you don't see many people doing their Excel spreadsheets on their Linux PCs doesn't mean it is not successful.
Also, Linux started with NO business model. It started out as a "fun" project – and because the Unix operating systems at the time _had_ a business model, which made them cost prohibitive for many people.
I think we need to re-examine the playing field here.
Correct me if I'm wrong but Haiku appears aimed strictly at the desktop as a general purpose OS.
Cellphones, servers and embedded systems are all out of it's league --- and thus the success of Linux in these areas is not really relevant to the topic at hand.
And it certainly wasn't targeted originally for cell phones, etc. And it arguably isn't best suited for it. The unix perimission and user model and file system structure etc make little sense there. But somehow it ended up there.
Arguably a finely tuned single user system makes more sense for those types of system. so who knows... maybe Haiku or something like it has a future there. I doubt it, as I think of Haiku more of a lovely retro computing project... but it's somewhat conceivable.
I mean... former Be engineer Travis Geiselbrecht was behind the early days of Haiku and he's now key behind Fuchsia. So there's some cross polination into that kind of ecosystem anyways.
It's the most popular phone operating system.
It is shipped on millions and millions of devices. It has about 80% of the smartphone market share.
Desktop computers are a declining segment. Slightly over half of all browsing is done from a smartphone.
Linux's lack of success in the desktop segment is probably not of much relevance anymore.
On top of that, the server market is mostly Linux.
So, no, contrary to what you're saying... Linux is a runaway commercial and business success. It took a while to get here, but here we are.
Desktop workstations are indeed a niche now, but laptops and convertibles aren't going anywhere soon.
Touchscreen only devices are seriously limited to this day for a lot of creative/productive work work.
But I'm not most consumers, apparently. Because mobile is where people are spending most of their time.
And they're spending it on linux.
Those were spans of time that desktop computing never usurped - despite trying - and at some point all the growth was mobile, and yes, to your point, that's absolutely mostly Linux via Android.
At least on my case a lot of my time on mobile is communication apps and reading things like HN. Desktop time is of course work, but also personal planning and more complex personal tasks.
I'm sure the developers would love for it to be more than that, but there's a limit to what can be done and it's ASTONISHING what they have done.