My third day with Haiku: the whole picture begins to take shape



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:









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.









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.









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








All Articles