
TL; DR: Haiku could be a great open source desktop operating system. I really want this, but many more corrections are required.
For two days I learn Haiku , an unexpectedly good operating system. Now is the third day, and I like this OS so much that I constantly think: how would I make it an operating system for every day? In terms of general ideas, I like the Mac more, but the trouble is: it comes without open source, and you have to look for open source alternatives.
Over the past 10 years, this has most often meant Linux, but it also has its own set of problems .
Haiku operating system introduced on DistroTube.
I tried Haiku, as soon as I found out about it, I was immediately impressed - especially with a working environment that "just works", and also clearly far surpasses any working Linux environment that I know conceptually. Want Want want!!!
Let's see the real work on the third day!
Missing Applications
Accessibility of applications is a very "fateful" aspect of any operating system, an old topic. As far as Haiku is concerned, I know that for most cases there are various options available.
However, I still cannot find applications for my daily needs:
- markup editor (e.g. Typora ). Of course, there is CuteMarkEd , but it does not seem to have any buttons or keyboard shortcuts for marking up the text. There is also a Ghostwriter , but it does not have a keyboard shortcut for marking text as embedded code, or a block of code.
- screen capture in animated GIF (for example Peek ). There is BeScreenCapture, but it does not know how.
- 3D printer software (e.g. Ultimaker Cura , PrusaSlicer ).
- 3D CAD (for example, FreeCAD , OpenSCAD , or built-in onshape ). There is LibreCAD, but it is only 2D.
Development model
What does Haiku need to succeed in terms of available applications? Of course, attract developers.
At the moment, the Haiku development team, of course, has done a lot of work to implement various popular applications, but for complete success, as a platform, you need the ability to easily create application versions for Haiku. Building an application for Haiku should, ideally, be another option in the existing Travis CI or GitLab CI build matrix. Well, how does a company like Ultimaker, the creator of the popular Cura open source 3D printer software, go to build its Haiku apps?
I am convinced that the classic “maintainer” approach, which collects and maintains packages for a particular Linux distribution, does not scale with a large list of applications. You can argue whether there is software for 3D printers in this list, but, for example, software for organizing the schedule of a particular school is located. What does Haiku offer for such applications? (Usually they are written using Electron , are available for all operating systems, under Linux they are most often wrapped in AppImage , which means delivery to all users without any problems).
Libreoffice
It is clear that the availability of LibreOffice for Haiku is a considerable feat that BeOS users could only dream of, but not everything is perfect.
In my case (Kingston Technology DataTraveler 100 USB stick), it took about 30 seconds to start, and the developers suggested that the usual launch of applications should not exceed 4-5 seconds (in case of using a regular hard drive [ everything started in less than a second on my SSD, - translator's note ]).
I would like to somehow see the progress of launching a large application, for example, a "jumping icon", a cursor change, or something else like that. The LibreOffice screensaver appears only after a few seconds, and before that you do not know what is happening.

Jumping application icons as a sign that applications are running.
- The keyboard shortcuts shown in the menu are erroneous (Ctrl + O is signed, but in fact Alt + O, I checked: Alt + O works, but Ctrl + O does not).
- Alt + Z does not work (for example, in Writer).
- The problem “Application LibreOffice has aborted the shutdown process” [ this is so conceived, - approx. translator ].
Application Launch Time
NOTE: please take this section with some criticism. Performance is actually great when you rely on other people's opinions. My results are very different ... I suppose that the features of my setup and the measurements made so far are unscientific. I will update this section as new ideas / results appear.
The launch performance of (non-native) applications ... is not so great, the difference is about 4-10 times. As you can see, only 1 processor core was used when launching non-native applications, for some reason I did not understand.

As I see the speed of launching applications.
Starting Krita takes about 40 seconds on a Kingston Technology DataTraveler 100 USB stick connected to a USB2.0 port (launching Krita AppImage takes a split second on Xubuntu Linux Live ISO via USB2; more tests are needed). Correction: About 13 seconds on a SATA SSD with ACPI disabled.
Launching LibreOffice takes 30 seconds on a Kingston Technology DataTraveler G4 flash drive connected to a USB2.0 port (split second on Xubuntu Linux Live ISO via USB 2; more tests are needed) Correction: Less than 3 seconds on a SATA SSD with ACPI disabled.
I also heard that the latest developments will improve performance on SSDs by more than 10 times. Waiting with bated breath.
Other reviewers constantly praise Haiku for peppy work. I wonder what is wrong with my system? Correction: yes, ACPI is broken on my system; if you turn it off, the system works faster.
I did some tests.
# # Linux # me@host:~$ sudo dmidecode (...) Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Dell Inc. Product Name: OptiPlex 780 me@host:~$ lsusb Bus 010 Device 006: ID 0951:1666 Kingston Technology DataTraveler 100 # On a USB 2 port me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096 4096+0 records in 4096+0 records out 268435456 bytes (268 MB, 256 MiB) copied, 7.03517 s, 38.2 MB/s # On a USB 3 port me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096 4096+0 records in 4096+0 records out 268435456 bytes (268 MB, 256 MiB) copied, 2.08661 s, 129 MB/s # # Haiku - the exact same USB stick # /> dmidecode # dmidecode 3.2 Scanning /dev/misc/mem for entry point. # No SMBIOS nor DMI entry point found, sorry. # On a USB 2 port /> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096 4096+0 records in 4096+0 records out 268435456 bytes (268 MB, 256 MiB) copied, 7.44154 s, 36.1 MB/s # On a USB 3 port /> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096 4096+0 records in 4096+0 records out 268435456 bytes (268 MB, 256 MiB) copied, 7.47245 s, 35.9 MB/s
For complete transparency, I tested everything on two different machines with Linux and Haiku. If necessary, I will repeat the tests on a similar machine. It is still unclear why applications run slower than via usb2.0 on Linux. Update: there are many USB related errors in the syslog of this machine. So the above results may not be typical for Haiku in general.
As the famous saying goes: you can’t measure - it means you can’t control it. And since there is a desire to improve performance, then I think the test suite is in order :-)
Keyboard shortcuts
For defectors from other OSes, Haiku is just fine when it comes to keyboard shortcuts. Personally, I like Mac-style keyboard shortcuts the most when you hold the key to the left of the space ("Ctrl" on Apple keyboards, "Alt" on others) while typing a letter or number. Since Haiku really works well in this area, I feel that the following options can be considered:
Keyboard shortcuts for and on the desktop
I like that you can click the icon and press Alt-O to open it, or use the more traditional Alt-down combination.
Likewise, it would be nice if you could press Alt-Backspace, in addition to Alt-T, to move the file to the trash.
To display the desktop: it would be nice to use Alt-H to “Hide”, and Shift-Alt-H to “Hide All”. And maybe it would be nice to introduce a combination of Shift-Alt-D - to "Show the desktop."
Dialog Boxes
I open StyledEdit, I enter the text. I press Alt-Q. The program asks whether to save. I press Alt-D to "Do not save", Alt-C for "Cancel". But that does not work. Trying to use the arrow keys to select a button. Also does not work. I repeat the same steps in a Qt-based application. Here, at a minimum, the arrow keys to select a button work. (Control keys for selecting buttons were originally used in Mac OS X, but developers since then seem to have forgotten about this feature.)
Screen capture shortcuts
It would be just fine if you could press Alt-Shift-3 to take a screenshot of the whole screen, Alt-Shift-4 to display a cursor that allows you to select a screen area, and Alt-Shift-5 for the current active window with its appearance.
I wonder if this is manually configured, but most likely this is not possible. At least, such an attempt did not give me any result [ I had to try to wrap it in a script! - approx. translator ].

Nearly. But not really. "-Bw" is ignored, plus additional default settings are needed.
Other things on the keyboard
The developers are concerned, so I will continue to describe my experience with the keyboard in Haiku.
Cannot enter national characters
The symbol `` '' is special, it can be either part of another symbol (for example, “e”), or independent. In different operating systems, its processing also varies. For example, I cannot enter this character on a German keyboard in KWrite; if you try to enter it, nothing happens. Entering the same character in QupZilla results in ">>". In native applications, a character is entered, but you need to double-click it to appear. To enter it three times (this is usually required when marking blocks of code, I’m constantly typing it), you need to press the button 6 times. On a Mac, the situation is handled more intellectually (just three clicks while maintaining the usual input of diacritical characters).
Java applications
Missing JavaFX? Java comes to the rescue, right? Well, not quite:
pkgman install openjdk12_default /> java -jar /Haiku/home/Desktop/MyMarkdown.jar Error: Could not find or load main class Main Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
Let's go the other way:
/> /Haiku/home/Desktop/markdown-writer-fx-0.12/bin/markdown-writer-fx Error: Could not find or load main class org.markdownwriterfx.MarkdownWriterFXApp Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
It turns out that in real life, java applications are not as portable as they are promised in advertising. Is there JavaFX for Haiku? If so, why is it not installed with openjdk12_default?
Double click on jar file does not work
Surprised that Haiku has no idea how to handle double-clicking on a .jar file.
Bash is acting weird
Since there is bash
, it was expected that pipes would work:
/> listusb -vv > listusb.txt bash: listusb.txt: Invalid Argument
Conclusion
Why am I writing these articles? In my opinion, the world really needs an open source operating system like Haiku, which is clearly PC-oriented, and also because I am more and more annoyed by the fact that working Linux environments do not work together . I do not argue that to create the desired user environment for the PC, you need a completely different kernel or you can get a similar environment on top of the Linux kernel, but I wonder what the kernel experts will say about this. In the meantime, I just dabble in Haiku and take notes in the hope that they will be useful to Haiku developers and / or the interested public.
Try it yourself! After all, the Haiku project provides daily download images from DVD or USB. To install, just download the image and write it to a USB flash drive using Etcher .
Have a question? We invite you to the Russian-language telegram channel .
Bug Overview: How to shoot yourself in the foot in C and C ++. Haiku OS Recipe Collection
From the author of the translation: this is the third article from the Haiku series.
List of articles: First Second Third Fourth Fifth Sixth