📜 ⬆️ ⬇️

My second day with Haiku: delighted, but not ready to go yet


TL; DR: I admire Haiku, but there is something to refine


Yesterday I studied Haiku , an operating system that pleasantly surprised me. Second day. Understand correctly: I am still delighted with how easy it is to do what is hard on Linux desktop environments. I am eager to learn how it works, and I am also enthusiastic to use it daily. True, the day for a complete transition has not yet arrived: I do not want to suffer.



WonderBrush raster graphics editor - if you know where to find it


Basically, expected for versions below 1.0. However, do not underestimate the amazing achievements, remembering Mac OS X in its pre-release days, and taking into account the size of the Haiku team.


I usually express my thoughts about #LinuxUsability ( part 1 , part 2 , part 3 , part 4 , part 5 , part 6 ), so don't be surprised at Haiku's nit-picking in terms of usability. Most of them, fortunately, are related to various improvements.


This was the preface, and now let us turn our attention to some troubles.


Trouble # 1: browser issues


There are 3 WebKit- based browsers : the main one ( WebPositive ) and two additional ones on Qt (QupZilla, obsolete name Falkon , and OtterBrowser ), which can be installed from the repository. None of them work correctly. The main browser has problems with functionality and rendering (for example, it is impossible to solve captcha when entering the Haiku bugtracker ), and the additional ones have big performance problems on Haiku.



This is what Twitter looks like in WebPositive, the main Haiku browser


QupZilla and OtterBrowser lag strongly on unreliable connections to the Internet (for example, in a train). Switching between tabs becomes impossible if the data does not fly in smoothly. It is unrealistic to open a new tab as long as the current one is loading data over the network. Everything is stupid, despite the low load. Probably browsers are not fully optimized for Haiku multithreading, or have other problems with Haiku [on Linux, this also happens sometimes for me - approx. translator ].


With QupZilla, I was not able to write anything on Medium ...


Apple has done a lot to ensure stable browser performance with excellent performance . It seems to me that these investments will pay off on Haiku. Especially given the increased importance of web applications, and even more so given that native applications are not yet available for all use cases.



The story of Kenneth Kocienda and Richard Williamson: how Safari and Webkit came about


Trouble # 2: Launcher and Dock


In the upper right corner of the screen is Deskbar , a fancy mix made from the Windows Start menu with a splash of Dock features and some other features.



Deskbar


Since it was perhaps a key element of the user experience for BeOS, it lacks the capabilities of a modern work environment: I need a program launcher, like Spotlight , launched via Alt + space. Running applications on a click is slow. There is a Find tool that looks like Stirlitz undercover, but it is not designed to conveniently launch applications, even if you give it acceleration.



Spotlight on Mac OS X Leopard launched by Command + Space


There is LnLauncher installed in HaikuDepot . At the first start, it is completely empty, and it is not clear how to add anything to it. Moreover, it does not appear in a very convenient place on the screen without an obvious way to change the position. Well, how do I put it on the left or bottom of the screen, like the Dock in Mac OS X? I think that UX in this case is unrecognizable.


DockBert , also installed from HaikuDepot . Already better. It is shown at the bottom of the screen. I did not expect that the order of the icons would be reversed: the basket is at the beginning, but in general it looks promising.


How to set it by default instead of Deskbar? If you click on the Deskbar icon in DockBert and select "close" - it will of course close ... and appear back in half a second. (The developers said that this is, in principle, a bug in DockBert). It would be nice if DockBert were smart enough, realizing what the user needed and doing it. By default, there are no application icons in DockBert, but it shows "drag it here," so you know how to add everything. However, I couldn’t remove the applications - either by right-clicking or by dragging the icon from DockBert.


I 'm trying HiQDock . I accidentally found it in a third-party repository . It looks the way I want. Focusing on "looks." Because it doesn't work yet: the Beta version is still. It is written in Qt4, so I doubt that it will be taken to the installation image.



HiQDock.


In principle, not only I believe that the situation with the Dock and Launcher is complicated. I even found an entire article on this topic.



Quicklaunch


Then I learned about QuickLaunch , which is recommended to be launched by adding a combination of buttons in the Shortcuts settings.



Shortcuts settings in Haiku


It would be nice if such things were configured to "just work" by default. Did I say Alt + Space? Well, in principle, QuickLaunch may ask at the first start if you need to configure a keyboard shortcut. Doing this in the Shortcuts settings is cumbersome.



A window in which it is proposed to enter the "application" in the Shortcuts settings. No kidding


I bet that most users do not know what to enter as an “application”, namely: /boot/system/apps/QuickLaunch (just QuickLaunch does not work).


Quick solution: set QuickLaunch by default and assign it a shortcut alt + space by default.

Fortunately, I have information from the developers that at some point they may include it as an improvement or replacement for the good old Deskbar. Maybe ... someday ... Cross our fingers! (Leave a request, or it will never be. Here ). Another developer said the quote: “in my opinion, follow the path of Windows, that is, include the search field in the start menu, it’s easy enough for the Beta version, I would say it will be of great importance to many.” I agree! (again: application or not).


And why does QuickLaunch find a program to take screenshots twice, in /boot/system/apps and in /boot/system/bin ? Developers are aware, as in the /boot/system/apps/QuickLaunch/ReadMe.html file.


/ system / bin has not been processed before, ported programs often end up in the / bin directory, which is a bad idea. You can remove unwanted CLI applications, for example, using the "Add to ignore list" button in the context menu

quick solution: filter applications with / system / bin, which also exist in / system / apps

Trouble # 3: no hardware acceleration


BeOS was laden with demo programs. Not a single BeOS video was complete without multiple windows with different videos playing. An amazing achievement at the time. Haiku comes with 3D demos showing 3D fonts moving in space. (Hey, Haiku isn't getting ready for an IPO, huh?)



BeOS in 1995, which Haiku is based on. At that time, it worked on two PowerPC 603 processors with a clock frequency of 66 MHz


We want to become Linux in the world of sound and video.

- Jean-Louis Hesse , CEO

Surprisingly, video and 3D are not actually hardware accelerated in Haiku. I suppose games too.


The developers of mr. waddlesplash and Alex von Gluck have documentation for hardware acceleration (“it takes about two man-months”). 3D acceleration will be through Mesa (Haiku, as already mentioned, uses Mesa and LLVMPipe as a base for OpenGL), for video you can rely on FFmpeg or make your own solution (I know that Haiku already uses FFMpeg inside, it's just impossible to use without accelerated drivers VDPAU or other similar API).


Cross your fingers!


Trouble # 4: no programs searched


I know that quite a few CLI programs have already been ported to Haiku, but I don’t see them in HaikuDepot. Not even a hint. There are no "haiku ..." or "port ..." commands on the command line


 ~/testing> haikuports bash: haikuports: command not found 

Googling, I found where I downloaded avrdude. When launched by double-clicking, a window with unsatisfied dependencies appeared. It would be nice if this did not happen. (One of the reasons I like the .app packages for Mac and AppImage for Linux so much).


From the developers, I learned that "theoretically" there is a system that prevents this. Apparently she needs more love.


What should be done? There are instructions for those who wish to port the programs for Haiku, but there are no instructions for those who simply wish to use the ported programs. That's where I got in.


The developer told me: "We do not mention HaikuPorts because 99.9% of users are not required to know or care about how these packages are created and appear in HaikuDepot." I agree. Talk about HaikuDepot, and how to get something from there, because the HaikuDepot interface does not show it (for example, avrdude cli). Apparently, there should be a flag that displays CLI applications in the HaikuDepot interface, but I did not find it, or maybe it does not exist. (“Recommended” or “All packages” ... do you need it? No, I don’t want to watch “all” packages, I suppose a lot of libraries will be shown. Something like the good old Synaptic ).


Instead, I found . Also, I don’t know how to install it (They say that HaikuArchives is a "repository of supported software", and also that "all the worthwhile programs are already in HaikuPorts" - we need integrators).


Just a little google, I found:


 /> pkgman search avrdude​Status Name Description ------------------------------- avrdude A tool to up/download to AVR microcontrollers 

Wow! It would be nice to make this team more visible. One of the developers confirmed that "pkgman is a cli analog for HaikuDepot." Why wasn’t she called haikudepot ?


The first thing I did was set command_not_found-0.0.1 ~ git-3-any.hpkg. Now I can do this:


 /> file /bin/bash DEBUG:main:Entered CNF: file This application is aviaiblible via pkgman install file 

quick fix: add command_not_found-*-any.hpkg to the default installation.

The Haiku developer believes that "in Haiku, unlike Linux, there is no real need for command-not-found," because "you can simply run pkgman install cmd: commandname". Well, how do I, the "mere mortal" know about this ?!


Packages, package managers, dependencies. The one in Haiku is certainly much smarter than most, but still it is a package manager:


 /> pkgman install avrdude100% repochecksum-1 [65 bytes] Validating checksum for Haiku…done. 100% repochecksum-1 [64 bytes] Validating checksum for HaikuPorts... done. 100% repocache-2 [951.69 KiB] Validating checksum for HaikuPorts... done. Encountered problems: problem 1: nothing provides lib:libconfuse>=2.7 needed by libftdi-1.4–7 solution 1: - do not install “providing avrdude” Please select a solution, skip the problem for now or quit. select [1/s/q]: 

Package managers do what package managers always do, one way or another, regardless of the operating system. There is a reason why I am drawn - I have already said, no? - to packages .app and AppImages .


In addition to this, there are some very popular open source applications missing:


 /> pkgman install inkscape 100% repochecksum-1 [65 bytes] Validating checksum for Haiku…done. 100% repochecksum-1 [64 bytes] Validating checksum for HaikuPorts…done. *** Failed to find a match for “inkscape”: Name not found 

The answer of the developers: "Since there is no Gtk - there will be no Inkscape." I get it. Another developer added: "But we have an amazing WonderBrush." I didn’t know about this, but you can’t see it in HaikuDepot, and from where? (correction: it was necessary to switch to the “All packages” tab! Completely missed this point!)


 /> pkgman install gimp 100% repochecksum-1 [65 bytes] Validating checksum for Haiku... done. 100% repochecksum-1 [64 bytes] Validating checksum for HaikuPorts... done. *** Failed to find a match for “gimp”: Name not found​/> pkgman install arduino 100% repochecksum-1 [65 bytes] Validating checksum for Haiku... done. 100% repochecksum-1 [64 bytes]​ Validating checksum for HaikuPorts... done. *** Failed to find a match for “arduino”: Name not found 

I know that "arduino was there before" ... where did everything go?


Among other things, I was surprised by the fact of "techno-talkativeness": so many lines are displayed just so that in the end they give out: "this software is not available."


Trouble number 5: various roughnesses that are worth fixing


Switch between apps


Boring without alt + tab to switch applications. Ctrl + tab works, but somehow crookedly.


Hint from the developers: if I turn on the layout from Windows, Cmd and Ctrl will switch places, and alt + Tab will become familiar. But I want to feel the Mac while working on a PC keyboard!


Note from the developers: "Switching ctrl + tab to alt + tab will surprise some users." Simple solution: enable both! (I, as a Mac, Windows, and Linux user with Gnome, KDE, Xfce, still don't know what to expect).



Switching applications via ctrl + tab using Twitcher. In places it appears, sometimes not the first time


Even worse: ctrl + tab sometimes shows a window with application icons, and sometimes not. Among other things, the application switching order looks random: StyledEdit-WebPositive-back StyledEdit-WebPositive-StyledEdit-window with application icons ... Software error? (Maybe someone knows if there is a Gif image recording tool for Haiku?) Correction : this is such a feature, not an error.


A short press of the combination ctrl + tab switches directly to the previous application without displaying the Twitcher window. If you hold the combinations longer, it turns out what I'm already used to.


Shortcuts


If we talk about keyboard shortcuts, as soon as you realize that everything is similar to a Mac, you will automatically try to use the usual keyboard shortcuts ... For example, in the "Open ..." and "Save As ..." dialogs, I want to press alt + d for the desktop directory, and so on.


The developers "have the opportunity to add this", "in the application for improvement about file dialogs." I would create such a request, be the local issue tracker on GitHub or GitLab, where I have accounts.


But, as I explained earlier, I can not register in their system. (As you may have guessed, I want to emphasize the ease of working with such things when using public services like GitHub or GitLab). Amendment: https://dev.haiku-os.org/ticket/15148


Discrepancies


Qt applications and native applications differ in behavior. For example, you can delete the last word using alt + backspace in Qt applications, but not in native ones. There may be other differences when editing text. I would like to see such inconsistencies removed.


Correction: I have not finished writing this article (I first showed it on the Haiku developers channel to collect comments), as it turned out that this discrepancy was fixed! Unbelievable! How I love open source projects! Thank Kacper Kasper


Notes


I'm still in the process of learning Haiku, and she continues to impress me. Despite the fact that today I focused on describing troubles, I cannot help but recall why this operating system is so intriguing. Below are a few examples. Just a reminder to see how conceptually right things are being done at Haiku.


If you double-click on an executable file that does not have the required libraries, nothing is visible on Linux. Haiku will have a nice graphic dialog with information about the problem. I have long dreamed about such things in Linux, and still am delighted that this was done correctly in Haiku. This example shows that the operating system is consistent at all levels. The result is elegance, beauty and simplicity, even in cases such as error handling.


Fascinating peeking under the hood.


The QuickLaunch documentation says:


There may be 2 reasons why QuickLaunch will not find the application:
  • The application is not on a BeFS partition, or the BeFS partition is not formatted to support requests.
  • The application does not have the proper BEOS attribute: APP_SIG. In this case, ask the application developer to add it, or try to follow
    such advice: if you use an application or script that does not appear in QuickLaunch (and is located in a writable place) - try adding these attributes in the terminal.
    ')
    addattr BEOS: TYPE application / x-vnd.Be-elfexecutable / path / to / your / app-or-script

    addattr BEOS: APP_SIG application / x-vnd.anything-unique / path / to / your / app-or-script

This gives some insight into how magic like Launch Services actually works, which I continue to admire ( and which is completely absent from Linux desktop environments ).


No less exciting is "Open with ..."


Select a file, press alt + I, and then on the information screen you can choose which application can open a specific file.



In Haiku, I can override the application to open one specific file. Cool?


All this works, even with the missing file name extension, and I can finally indicate for different files of the same type that they should open in different applications, which is very difficult, if not almost impossible, in Linux working environments.


Conclusion


As I wrote yesterday, Haiku opened my eyes, showed how the work environment can “just work.” On the second day, I also found several points that clearly needed to be improved.


None of them will stop the work. I am really excited about the future of this personal desktop operating system. This is a long-awaited development outside of the "Linux desktop environments" that continues to show serious, unsolvable architectural problems in the near future.


Hope for Haiku.


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 second article from the Haiku series.


List of articles: First

Source: https://habr.com/ru/post/461451/


All Articles