My second day with Haiku: impressed, but not ready to switch yet.

My second day with Haiku: impressed, but not ready to switch yet.
TL;DR: I am impressed with Haiku, but there's still work to be done.

Yesterday I explored Haiku. — the operating system that pleasantly surprised me. Day two. Make no mistake: I am still amazed at how easily it accomplishes tasks that are challenging in Linux environments. I am eager to learn how it works and enthusiastic about using it daily. However, the day for a complete transition has not yet come: I don't want to struggle.

My second day with Haiku: impressed, but not ready to switch yet.
Raster graphics editor WonderBrush — if you know where to find it.

In general, this is expected for a version below 1.0. However, one should not underestimate the amazing achievements, keeping in mind Mac OS X during its pre-release days and considering the size of the Haiku team.

I usually express my thoughts on #LinuxUsability (Part 1, Part 2, Part 3, part 4, part 5, part 6), so don’t be surprised by my criticisms of Haiku regarding usability. Fortunately, most of them relate to various improvements.

That was the preface, and now let’s focus on some issues.

Issue #1: Browser malfunctions.

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

My second day with Haiku: impressed, but not ready to switch yet.
Here’s how Twitter looks in WebPositive, Haiku's main browser.

QupZilla and OtterBrowser lag severely on unreliable internet connections (for example, on a train). Switching between tabs becomes impossible if data is not flowing smoothly. It is unrealistic to open a new tab until the current one is loading data from the network. Everything lags, despite low load. The browsers are probably not fully optimized for Haiku's multithreading, or have other issues with Haiku [I experience this on Linux occasionally too — translator's note].

With QupZilla, I couldn't write anything on Medium…

Apple has done a lot to ensure stable browser performance with excellent efficiency.I believe these features will pay off even on Haiku, especially considering the increasing importance of web applications, and notably because native applications are still not available for all use cases.

Play video

The story of Kenneth Kocienda and Richard Williamson: how Safari and WebKit came into being

Issue #2: Launcher and Dock

Located in the upper right corner of the screen Deskbar, a quirky mix made from the Windows Start Menu with elements of the Dock and some other features.

My second day with Haiku: impressed, but not ready to switch yet.
Deskbar

Since this was possibly a key element of the user experience for BeOS, it lacks the capabilities of modern desktop environments: I need a program launcher like Spotlight, invoked through Alt+Space. Application launching on click is slow. There’s a 'Find' tool that looks like Stirlitz , under cover, but it's not designed for convenient application launching, even if you give it some speed.

My second day with Haiku: impressed, but not ready to switch yet.
Spotlight in Mac OS X Leopard, launched via Command + Space

There is LnLauncher, installed from HaikuDepot.Upon first launch, it is completely empty, and it’s not entirely clear how to add anything to it. Also, it appears in a rather inconvenient spot on the screen without an obvious way to change its position. How do I move it to the left or bottom of the screen, like the Dock in Mac OS X? I find the UX in this case inscrutable.

DockBert, also installed from HaikuDepot.. Already better. It shows up at the bottom of the screen. I didn’t expect the icon order to be reversed: trash can at the beginning, but overall it looks promising.

How do I set it as the default instead of Deskbar? If I click the Deskbar icon in DockBert and select 'close' — it will close, of course… and reappear half a second later. (Developers said this is basically a bug in DockBert). It would be nice if DockBert were smart enough to understand what the user needs and do it. By default, DockBert has no application icons, but it shows 'drag here', so it’s clear how to add everything. However, I couldn’t remove applications — neither by right-clicking nor by dragging the icon out of DockBert.

I’m trying HiQDock. I stumbled upon it by accident in a third-party repository. It looks like I want it to. Emphasis on 'looks'. Because it’s not functioning yet: still in Beta. It is written in Qt4, so I doubt it will be included in the installation image.

My second day with Haiku: impressed, but not ready to switch yet.
HiQDock.

In principle, I am not the only one who finds the situation with Dock and Launcher complicated. I even found a whole article.

My second day with Haiku: impressed, but not ready to switch yet.
QuickLaunch

Then I learned about QuickLaunch, which is recommended to launch by adding a key combination in the Shortcuts settings.

My second day with Haiku: impressed, but not ready to switch yet.
Shortcuts settings in Haiku

It would be nice if such things were set up to 'just work' by default. Did I say Alt+space? Well, in principle, QuickLaunch could ask at first launch whether to set up the key combination. Doing this in the Shortcuts settings is cumbersome.

My second day with Haiku: impressed, but not ready to switch yet.
The window where you are prompted to enter 'application' in the Shortcuts settings. No joke

I bet most users don't know what to enter as 'application', which is: /boot/system/apps/QuickLaunch (just QuickLaunch does not work).

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

Fortunately, I have information from the developers that at some point they might include it as an improvement or replacement for the old good Deskbar. Maybe... someday... Fingers crossed! (Submit a request, or it won't happen. Here). Another developer said, quote: 'in my opinion, following the path of Windows, that is, including a search field in the start menu, is quite simple for the Beta version, I would say it would make a huge difference for many'. I agree! (again: request it or it won't happen).

And why does QuickLaunch find the screenshot creation program twice, in /boot/system/apps and in /boot/system/bin? Разработчики в курсе, поскольку в файле /boot/system/apps/QuickLaunch/ReadMe.html.

/system/bin ранее не обрабатывался, портированные программы часто попадают в каталог /bin, а это — плохая затея. Можно убрать нежелательные CLI приложения, к примеру с помощью кнопки «Добавить в список игнорирования» в контекстном меню

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

Issue #3: No hardware acceleration

BeOS was packed with demonstration programs. No BeOS video was complete without multiple windows playing different videos. Amazing achievement at the time. Haiku comes with 3D demo programs showcasing 3D fonts moving in space. (Hey, after all, Haiku isn't prepping for an IPO, right?)

Play video

BeOS in 1995, on which Haiku's ideas are based. At that time, it ran on two PowerPC 603 processors clocked at 66 MHz

We want to be the Linux of the audio and video world.

Jean-Louis Gasset, CEO

What's surprising is that video and 3D are actually not hardware accelerated in Haiku. I assume games aren't either.

With the developers mr. waddlesplash and Alex von Gluck There is 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 foundation for OpenGL), for video support it can rely on FFmpeg or create a custom solution (I know that Haiku already uses FFMpeg internally; without accelerated drivers, it is impossible to use VDPAU or similar APIs).

Fingers crossed!

Issue #4: Programs not found

I know that quite a few CLI programs have been ported to Haiku, but I don't see them in HaikuDepot. There aren't even hints of them. There are no commands like "haiku..." or "port..." in the command line.

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

Googling, I found, from which I downloaded avrdude. When I double-clicked to run, a window appeared with unmet dependencies. It would be nice if such a thing didn't happen. (One of the reasons I like packages .app for Mac and AppImage for Linux).

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

What needs to be done? Here There are instructions for those who wish to port programs for Haiku, but there are no instructions for those who just want to use ported programs. This is where I got stuck.

The developer told me: "We don't mention HaikuPorts because 99.9% of users don't need to know or care about how these packages are created and appear in HaikuDepot." I agree. The conversation is about HaikuDepot, and how to get something from there because the HaikuDepot interface does not show this (for example, avrdude cli). Apparently, there should be a checkbox to display CLI applications in the HaikuDepot interface, but I couldn't find it, or maybe it doesn’t exist. ("Recommended" or "All packages"… do you need that? No, I don't want to see "all" packages; I assume many libraries will be shown. Something like the old good Synaptic).

Instead, I found. I'm also not sure how to install it (they say HaikuArchives is a "repository of supported software" and that "all worthwhile programs are already in HaikuPorts" — integrators are needed).

After a bit more Googling, 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 command more noticeable. One of the developers confirmed that "pkgman is the CLI equivalent for HaikuDepot." So why wasn't it named haikudepot?

First, I installed 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 solution: 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'. But how am I, a 'mere mortal', supposed to know this?!

Packages, package managers, dependencies. The one in Haiku is certainly much smarter than most, but it's still 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 they always do, one way or another, regardless of the operating system. There's a reason I feel drawn — I've mentioned it before, haven't I? — to packages .app and AppImages.

In addition, some quite popular open-source applications are missing here:

/> 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 developers' response: 'Since there is no Gtk — there will be no Inkscape.' Got it. Another developer added, 'But we have the amazing WonderBrush.' I didn't know about that, but it's not visible in HaikuDepot, is it? (Correction: I should have switched to the 'All Packages' tab! Totally missed that moment!)

/> 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 it all go?

Moreover, I was surprised by the amount of 'tech talk': so many lines are output just to eventually say: 'this software is not available.'

Issue #5: various rough edges that need fixing

Switching between applications

It's boring without alt+tab for application switching. Ctrl+tab works, but in a slightly awkward way.

A tip from the developers: if I enable the Windows layout, Cmd and Ctrl will swap places, and alt+Tab will feel familiar. But I want to feel Mac while working on a PC keyboard!

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

My second day with Haiku: impressed, but not ready to switch yet.
Switching applications via ctrl+tab using Twitcher. Sometimes it appears, sometimes not on the first try.

What's worse, ctrl+tab sometimes shows a window with application icons, and sometimes it doesn't. Moreover, the order of switching applications seems random: StyledEdit-WebPositive-back StyledEdit-WebPositive-StyledEdit-application icon window... Is this a bug? (Maybe someone knows if there is a tool for recording Gif images for Haiku?) Correction: this is a feature, not a bug.

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

Shortcuts

Speaking of keyboard shortcuts, as soon as you realize everything is similar to Mac, you'll automatically try to use familiar combinations... For example, in the 'Open...' and 'Save as...' dialog boxes, I want to press alt+d for the 'Desktop' directory, and so on.

The developers "have the ability to add this," "in a request for enhancement regarding file dialogs." I would create such a request if there were a local issue tracker on GitHub or GitLab, where I have accounts.

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

Inconsistencies

Applications on Qt 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 these inconsistencies to be removed.

Correction: I haven't finished writing this article yet (I initially shared it on the Haiku developers' channel for feedback), and it turned out that this inconsistency has been fixed! Incredible! How I love open-source projects! Thank you, Kacper Kasper!

Notes

I'm still in the process of exploring Haiku, and it continues to impress me. Even though today I focused on describing the troubles, I can't help but remind why this operating system is so intriguing. Below are a few examples. Just a reminder to see how conceptually correct things are done in Haiku.

If you double-click an executable file missing the necessary libraries in Linux, nothing happens. In Haiku, a nice graphical dialog will appear with information about the problem. I've long dreamed of such things in Linux, and I'm still thrilled that this has been implemented 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 like error handling.

An engaging look under the hood.

The QuickLaunch documentation states:

There might be two reasons why QuickLaunch cannot find an application:

  • The application is not on the BeFS partition, or the BeFS partition is not formatted to support requests.
  • The application does not have the appropriate BEOS:APP_SIG attribute. In this case, please ask the application developer to add it, or try to follow
    this advice: if you are using an application or script that does not show up in QuickLaunch (and is in a writable location) — 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 the magic similar to Launch Services actually works, which I continue to admire (and which is completely absent in Linux work environments.).

Equally fascinating is 'Open with...'

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

My second day with Haiku: impressed, but not ready to switch yet.
In Haiku, I can override the application for opening a specific file. Cool, right?

All of this works even without a file name extension, and I can finally specify that different files of the same type should open in different applications, which is very difficult, if not nearly impossible, in Linux work environments.

Conclusion

As I mentioned yesterday, Haiku opened my eyes and showed me how a work environment can 'just work'. On the second day, I also found several points clearly needing improvement.

None of them will stop working. I am truly excited about the future of this personal operating system for desktops. This is a long-awaited development beyond "Linux desktop environments" that continue to exhibit significant, unsolvable issues for the foreseeable future. architectural problems.

I am hopeful for Haiku.

Try it yourself! After all, the Haiku project provides images for download from DVD or USB, created daily.. To install, simply download the image and write it to a flash drive using Etcher.

Have questions? We invite you to our Russian-speaking Telegram channel..

Error Overview: How to Shoot Yourself in the Foot with C and C++. A Collection of Haiku OS Recipes

From the translator: this is the second article in the series about Haiku.

List of Articles: The first

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster