Haiku R1/beta4 RC0: Personal experience, reflections and grab bag

Hello all,

having tried the newly released Haiku R1/beta4 RC0 on both bare metal as well as numerous recent nightlies in a Windows Hyper-V VM prior to this, here are my personal high-to-low reflections on the overall state of things in lengthy grab bag format (read: TL;DR if you so wish, it’s also pretty late here so please forgive any messy sorting, grammar issues or typos :)). I have tried to put them all into High/Medium/Low(er) importance categories as per my own assessment, but sometimes of course items can be overlapping these boundaries or are be more subjective/YMMV. So, without further ado…

High

  • Functions accessing volumes can hang the parent application for several seconds (3-10s on high performance bare metal in my case!) while doing their thing. This includes the Deskbar mount submenu, Tracker settings/preferences (“Show disks icon” and related settings), DriveSetup, Installer, etc.

  • On my system, a single USB mouse and keyboard are presented as 5 USB keyboards and 2 mice in Input preferences, indicating some kind of issue handling USB composite devices or similar (?). The USB mouse is also very high DPI capable (up to 18000!), but there is no setting in Input preferences to adjust for such high resolutions. Thankfully, I can program my mouse to increase/decrease DPI upon specific button clicks to partly work around this issue, but even then the mouse pointer movement is still quite flaky/erratic. As this is not at all uncommon a scenario these days, I put this as a “High” item here, especially as the “feel” of the mouse pointer is so important to the UX overall.

  • While a lot of good preparatory work has recently been done to tweak parts of the OS for HiDPI capability, I think the current mainly (?) font size centric approach is or will be too limited or convoluted UX-wise in many cases. As part of my own Windows alternative shell project (xoblite), I’ve witnessed the need first to support 2x, and nowadays 4x is required for e.g. HiDPI 4K laptop screens. The way I have implemented this is by having the equivalent of a Haiku Appearance preferences drop-down menu with options to select 1x, 2x, 3x, 4x, which are then the internal UI scaling multipliers used on all related integer settings (e.g. font sizes, misc widths/heights, etc). This could of course be expanded with more granular .5x options too if so desired/required, but having 1x-4x steps is a good start in my experience.

  • For any HiDPI implementation, it is then also crucially important that at least the main UI elements - the Deskbar, Desktop (currently part of Tracker) and Tracker as file manager - fully (i.e. beyond the currently adapted things also menus, scrollbars, icons, content as applicable, Web+ is a front-runner here it seems) support dynamic re-scaling in runtime (eventually we’d probably need some kind of “universal” window message here if not yet implemented; I haven’t looked). For example, for the common user it seemingly takes a reboot (!) for the Deskbar, desktop icons etc to pick up the new settings, and given how centerpiece the Deskbar and its menus are to the current Haiku UX, this becomes a very visible and therefore major issue for any user on a HiDPI system (read: an ever increasing crowd of users).

  • Speaking of the Deskbar… the task management UX could really use some rethinking for modern times. Example: Left click on a task button currently brings up a window handling menu. Say what? :slight_smile: (read: maybe bring all related task windows to the front or something - please make your voice heard in the comments below ;))

  • Some/many windows do not have the resize corner thingy, and even without HiDPI resolutions to consider the window borders are too thin to make decent drag points. And no, I do not think the Ctrl+Alt+Right click “purple window edges” combo is intuitive at all to be brutally honest… (even after I’d RTFM). So, can we enforce the resize corner universally somehow, at least for standard windows? (nb. this should then also work with HiDPI scaling etc as per above)

Medium+

  • Speaking of Alt and Ctrl, as one of the many many guys who have got Ctrl+C/X/V & Co burned into muscle memory, I would prefer Ctrl (rather than “Haiku mode”) to be the default (and savvy Haiku users will know where to find the toggle button), but I know others think otherwise… :slight_smile: The bigger issue, then, is therefore the somewhat hit-and-miss nature of providing this flexibility, as many apps don’t recognize this setting, with weird UX as a result. Terminal binaries e.g. nano? Alt. Most GTK apps? Similar story, though some seem to mix and match too (?). You get the point. It’s weird. End of story.

Medium

  • Dark mode - because there is a solid reason why all other operating systems have it these days!!! A relatively easy way to do this would perhaps be to replace the Appearance preferences colour tab’s current “Default” button with two “Light” and “Dark” buttons respectively, using some of the excellent prior work of this community to define the optimum colour scheme of the latter. Another possibility would be to somehow merge Appearance with the third party Theme Manager, say as a “Themes” tab in the former, but that would of course also be a much bigger undertaking (and perhaps overkill?) and potentially also overlap/clash with other Preferences apps (e.g. Screen for wallpapers etc). Oh, and if my heart gets to decide, Dark Mode in fact has the highest priority! :slight_smile:

  • On a similar note, why are the “Haiku extras” a separate download really? I prefer the flat layout too… :slight_smile:

  • An option to hide the desktop icons, like every other operating system out there, because I like many other people prefer my desktop clean and calm (full disclosure: I’m already looking into this and will commit when ready).

  • Some kind of evolved structure for the Deskbar (and beyond?) Applications menu is very much needed; it quickly gets out of hand once you start adding things from HaikuDepot. Maybe it could also have “GTK” (or GNOME?), “QT” (or KDE?) etc sub-folders added automatically/smartly too, to nicely separate native and ported applications? (it wouldn’t hurt to also show just how flexible Haiku is in this regard, and would perhaps also put a damper on the native-vs-ported debate on these forums? ;))

  • The OS internal device management and presentation thereof still seems to have a bit of a split vision currently, as e.g. the Devices app and lsdev/lsusb bins present things differently while seemingly also relying on different input data. For example, lsusb seems to fetch its data (device name, ID, etc) directly from the USB devices, while Devices ultimately relies on the upstream usb.ids header file imported during compilation. Maybe a good idea here would be to have Device Manager instantiation logic fetch such data from the USB device if not already specified in the header file? (i.e. if !strlen…). Likewise, PS2 devices are not presented every(any?)where. Next, I have about a zillion individual ACPI entries listed on my system; perhaps these could be sub-grouped somehow? By the way, my USB devices do not currently seem to be (fully?) grouped as such in Devices, some of them ending up under “Unclassified devices”. To summarize, I’m putting all this under “Medium” simply because HW support - or at least proper identification thereof as some kind of user centric starting point - is such a core thing when trying out a new operating system. This said I do of course understand that the above examples only address the presentation layer and not the actual support and drivers for a piece of HW, but you get the point. Maybe Devices should even more clearly flag supported (green indicator?) vs unsupported (red indicator?) devices so it’s more obvious what is up and running and what is not?

  • Deskbar: Even on my otherwise capable system, I’m missing standby/sleep and hibernate/suspend options in the submenu, but maybe these are not yet supported on all system configurations? (…or at all enabled yet?)

  • Networking: SSH is enabled by default in Networking preferences, but no more information thereof (username, password, etc) is displayed/configurable anywhere as far as I can see (?). If hardcoded somehow, I would highly suggest having SSH disabled by default for security reasons.

  • Screen: My primary monitor is 2560x1080, 32bpp, 60 Hz, and this is the only selectable resolution on my bare metal system. Since it’s the max resolution I’m not really complaining much, but it does stand out a bit.

  • Documentation/Website/Help: Is there or should we have a shortlist of “recommended” / “works well with Haiku” hardware somewhere? For example, my Netgear WLAN USB adapter is currently not supported by Haiku (and likely won’t be for some time), so which other one should I buy that is tried and tested under Haiku? (hmm, maybe this could even be an information popup window or added pane in Devices if we keep it simple and the list reasonably short and continuously updated?)

  • BuildTools: In my view, all the basic dev tools should be installed by default; it wouldn’t take up that much extra space on the ISO but would lower the barrier somewhat for new developers (case in point: I was actually positively surprised by how smooth sailing it was once up and running). Perhaps consider including some simple-but-illustrating example projects as well to get them going? (I’m sure we have some, somewhere?)

  • Added bundled applications: Web browsing and email are still centerpiece stuff for many of us. With this in mind, I think we should hide away (…if not bury? ;)) the forum hatchet and include both WebPositive and Epiphany/Web (perhaps under a “GTK” apps submenu, see elsewhere) by default, as you shouldn’t have to make the extra jump to HaikuDepot for core things. IMHO… :slight_smile:

  • …and similarly with regards to email: The default Mail app+preferences combo is likely a somewhat strange a beast for most newcomers, and while many people perhaps use web mail today (but if so, see the previous bullet!), perhaps a minor (?) modernization and thereafter bundling of e.g. BeAM would make sense? (read: I do know of course that it lacks modern HTML format viewing and many other modern things, but beggars can’t be choosers, as the saying goes).

  • While not of “Medium” importance in itself, Icon-O-Matic seems severely broken as is? (also, iirc it’s bitmap based (?), but nowadays the Haiku icons are SVG, so… does this make it obsolete even?)

Low(er) (the grab bag part)

  • Deskbar: Is the menu positioning off by a few pixels x and y? It’s all in the details, after all :slight_smile:
  • Desktop: The underline … under icon text looks a bit old-ish I think; maybe tweak somehow? (e.g. maybe a straight line with midpoint of text colour and desktop colour would look a bit slicker?)
  • Desktop: Mid click support (nb. I’m already working on the basic underpinnings of this, see Gerrit 5909, but it’s not yet accepted and merged, and the action thereof have to be jointly decided upon in the next step - I vote some kind of apps menu, for improved easy accessibility and UX)
  • Terminal: Similar to how you can open a Terminal window from Tracker (add-on), I’d like to be able to open a Tracker window at the current path from the Terminal menu (you often go back and forth when e.g. developing in my experience). I may take a look at this myself at some point; it should be a relatively simple thing to add I guess.
  • Demos: We could use some new ones I think; the current ones are all like 20 years old and arguably do not reflect the cool(est) aspects of current day Haiku (if nothing else, perhaps the GLFW package from HaikuDepot could be included as standard, assuming perhaps also an updated MESA etc).
  • …speaking of which, GLTeapot is an interesting beast for a demo: It actually goes slower with 16 CPU threads than with 1 CPU thread assigned (approximately 530 vs 600 or so FPS when I tested). Oh, and it could use some averaging of the FPS display these days perhaps; it goes so much faster nowadays than back in the days when it was created… :slight_smile:
  • Pulse: Should be promoted to Applications I think. Could also use some “shortcut” buttons to disable/enable sets of cores these days; clicking 15 times to go from 16 to 1 core/HT is a bit tedious :slight_smile:
  • Devices: Even though it doesn’t have any configurable settings, I think it should be moved back under Preferences instead of under Apps; that’s where I would expect to find it at least.
  • Input: My mouse has >= 6 buttons, but only 1-5 seem to be working here. Speaking of which, if someone hasn’t already we should probably look into global OS support for multi-button mice (it seems to be limited to 3 button i.e. left/right/mid in at least parts of the code)
  • Virtualization (guest): Running under Hyper-V is quite workable, except for one thing: The mouse emulated is a PS2 IBM Trackpoint without scrollwheel. Oh, the horror!!! :frowning: (other things like only a few fixed screen resolutions options are of course also less then great, but at least workable)
  • Virtualization (host): Ready to go Haiku-on-Haiku maybe? (RISC-V on x86 as proof of concept?)
  • WebPositive: Cookie manager and Script console child windows default in the upper left corner, Downloads in the lower right corner, Settings screen center, About off-center… Maybe some tweaking of the default positions here should be considered (e.g. maybe all screen center by default, then it’s up to the user to move them around as he/she wishes. Yes, I like the small details too ;))
  • Activity Monitor: Defaults to a very small window size where no graphs are shown. Could easily be made at least twice the default size; it’s a good looking activity monitor and shows off multi-core workloads nicely.
  • Process Controller: Its KILL powers seem more limited than e.g. Terminal kill options?
  • Printers: The first launch window position has the window title tab off screen…
  • Bluetooth: The start/stop Bluetooth services menu items do not indicate the current running state (?).
  • DiskUsage: Scan the default disk automatically on launch; the window looks so empty otherwise…
  • Sound Recorder: Strange UI controls, looks non-native, especially the position scrubber but also the buttons below. Maybe someone with 1337 window layout skillz could quickly fix this to look more aligned with standard Haiku UI paradigms?
  • BePDF: The default document view is not fully visible; change default to “fit to page”. And also maybe rename the application? It stands out a bit being the only one with a “Be” prefix… (plus being related to an old company trademark etc).
  • DeskCalc: If someone is up for it, I think we should ultimately have a better calculator than the current very simplistic one. I for one would like to have at least a bare-bones programmer’s view (cf. e.g. hex/decimal conversion etc), and as stretch(ier) request also RPN (…because once you go down that path there is no turning back).
  • The Shutdown dialog window should perhaps be center screen always on top at all times?
  • Terminal: listusb, listdev etc should perhaps also have aliases from lsusb, lsdev etc that are arguably more familiar to many users… (read: it took me a while to find them at least ;))
  • Terminal: htop and ps axf (yes I know we have other apps for this but the Terminal is the Terminal) - you know you want them too! :slight_smile: (and, to cater to the more hardcore crowd, maybe also bundle WireShark?! ;))

Questionmarks

  • Are the window tab buttons placed/sized pixel perfectly? (…I need to fetch my magnifying glass… :))

Last but not least - it has all come a long long way since the last release already of course (big round applause for the core developers!) so see the above not as criticism but some simple findings by an on-and-off-and-on-and-off-and-on user, now aspiring Haiku semi-developer.

Phew, I think that was it - let the flaming wars begin! :smiley:

BR//Karl aka qwilk/@xoblite

11 Likes

HI Xoblite, for many of these things it would have been nice to have a ticket or comment on the existing ticket :D, but i’ll try to break down some stuff for you.

Functions accessing volumes can hang the parent application for several seconds

I thought there was a tracker ticket, but i didn’t find one.

Multiple usb devices show up for less devices

There is a ticket! one by me : D #15857 ([Preferences/Input] Keyboard gaining severall entries) – Haiku

font scaling

There have been lots and lost and debates around this, but what it boils down to is that some controls scale with the font anyway (buttons for example) and some spacings don’t but instead scale with whatever the controllook wants. The font size is basically the “scaling factor” as such, we can add default scaling guesses, and the app_server actually does this now on first run iirc.

dynamic re-scaling

This is a bit tricky, but totally doable. We already do this with appearence colors, the FirstRun can do this for locales etc. The tricky part I think is designing a control that allows setting this without the containing window jumping around (since it should too respect this)
I don’t know what you mean with universal window message, my guess is you mean a way to tell running windows stuff with messages, in which case this is already implemented and at the core of haiku and how it works.

Resize corner

Would be nice, some windows are designed without it in mind and would be broken by forcing it. “normal” windows already get this, it depends on which flags you set. It would likely be a good idea to revisit some windows that don’t have this corner and redesign them so that they do.

Alt/ctrl

The default now matches MacOS and iPadOS ; )
The setting is recognized by all aplications, it simply switches control and alt on the keyboard. The thing you are probably are confused by is that alt for copy and paste is specifically ment to not conflict with terminal ctrl c etc. … buuut if you just switch those then ctrl+c and ctrl+v will work in the terminal for copy and paste, and you have to use alt+c for terminate and such. So this setting will likely break your muscle memory one way or another if you are also used to terminals. (For my part I am happy to only have one “copy” shortcut needed and not severall, and accidentally triggering some inspector window in a browser if i use the wrong one)

Dark Mode

Heh, uhm. yes! I wanted to have this in beta4 but i had no time. Kick me ; )
As for wether dark mode gets preference to light mode or not, for me personally it would be nice. But this seems like an issue that should be discussed by the developers as a whole.

Hibernate / Sleep

Not implemented yet at all : /
But if you have a suficiently old system we do display a “It is now safe to turn off your computer”

SSH

Per default SSH forbids root logins and haiku only has the root user, so theoretifcally it should not allow any logins untill you either change the config or add a second user with password for ssh

Screen

You are booting in EFI mode ; )
But your gpu is likely not supported directly for modesetting

Supported HW

Yes! @lelldorin maintains one. I think this is the URI: Haiku - inofficial hardware compatibility list - BeSly Haiku only

Bundled apps

I don’t think adding applications that have huge fottprints or dependency footprints is reasonable, either you pull in the whole of gtk or qt for such apps. We don’t need to have a 100% working image because we still are a beta. and as soon as we are no longer a beta webpositive should work sufficiently well.

Icon-O-Matic

Wrong on both accounts, Icon-O-Matic isn’t bitmap based and neither do we use SVG icons.
We use a custom format called HVIF which is an optimized binary format. we do this so that HVIF icons fit into the disk inode and can be displayed by a disk seek without having to seek a second time. so the icons show up quickly. Icon-O-Matic has it’s own saving format but s ment to produce these HVIF icons in the end. This has worked fine for me in the past. what is broken about it?

As for the grab bag, i have not read all of it. but it would be nice for some of that to land in the tickets : P
(and i did not respond to every point either)
In any case, thanks for taking the time! I hope my replies have confused you more… uhh I mean less : D

Regards

7 Likes

Use this:

open .

4 Likes

This is how the program developer handle this, you can set flags to activate and deactivate window options(resizeable, zoomable…). So this is by the developer and the scruture and thinking behind it. Not every program need to be resizeable.

The “Alt” way is the BeOS way and a nostalgic part of Haiku. If we want a BeOS like system, this is part of it :wink:

2 Likes

Many times discussed but not at the end point. You can use my “quick and dirty” MenuSorter app, but you need to change every new installed application by hand in the menu.

We have a hardware database for Haiku. And we are very active in the Haiku forums to collect user reported hardware expierience to hold on actuallity of the database.

I think different, because a normal user (not an developer) does not need all this stuff on the system.

This is one point i does not like linux, because you get so many apps installed by default, the most one you never need as user. We have system based project who should installed and the user can install an alternative way by hand over HaikuDepot.

You can add enhancements on the Haiku BugTracker too

You can enable the “Application expander” in Deskbar preferences and “Expand new applications”. Then you directly see the list of windows for each app inside DeskBar. Somehow, some people are strongly opposed to making this the default.

It is a developper choice, often, ported applications don’t have it because their UI isn’t designed with it in mind. For native apps, if some are missing it and it can be easily added, we should fix them. But there will be no enforcement because some apps really need a full rectangle area to display things in.

Not supported yet.

The user is called “user” and you have to set a password or load/generate an SSH key if you want to connect through ssh. Since the service is enabled, you don’t need any other steps. By default there is no password or key so there is no way to connect even if the service is running.

We will probably turn it off when we get closer to a final non-beta release.

You are probably running the EFI framebuffer driver, EFI does not allow us to switch resolutions at runtime. If you had a native driver for your video card you would get more choices.

They are included in the beta releases (but not in nightlies). They are disabled in the live image to reduce RAM requirements, but installed by default if you install to another partition. Which is heavily recommended: running from the small live partition on an USB drive is going to be much slower than running from an install on an SSD or even regular hard disk.

No. No non-native apps shiped with the OS. If someone wants to make a Haiku distribution with extra software, that’s possible, but it will not come from the Haiku project.

If our goal was to do things exactly the same as other systems, we would not be writing our own, we would be using something else.

That being said, I tend to agree, the UI is not that great and an integrated mail client like Beam would make more sense to me (with modernization and better IMAP support). I may have some plans for that, but not a lot of time to start on yet another project :frowning:

Icon-O-Matic is working fine and it is vector based and used to design all icons used in Haiku. The UI is a bit quirky but it works. Certainly not obsolete.

The code supports up to 32 buttons but the UI doesn’t allow to see them all. So only the first 5 are easily remappable in the case you need to swap buttons for whatever reason (you’re left-handed, one of the buttons isn’t working, …)

It needs a complete rewrite. Probably borrowing code from MediaPlayer.

There are a few options in HaikuDepot. The built-in one is intentionally very simple.

They have different command line options so I would rather not do that. It will result in confusion similar to how “curl” in PowerShell does not actually start curl, but Microsoft own HTTP thing which isn’t compatible at all.

Someone ported htop but it isn’t upstreamed yet and I think also not packaged yet in HaikuPorts.

listusb and listdev use both the usb ids database and strings fetched from the devices.

We are in the process of migrating to a “new” device driver model, it has been work in progress for about a decade already. All drivers are slowly being converted to the new model which allows to show them in the Devices app properly. We should be able to add more data there (for example the equivalent of what listusb shows), it has just not been done yet.

In the current situation:

  • listdev and listusb gather their info pretty much directly from the hardware
  • Devices is a view of the device tree and loaded drivers as built by the OS, so one level higher than the command line tools.
6 Likes

I disliked that in 2001… still do today. :smiley: (still can’t get used to the Cmd vs Alt naming either :stuck_out_tongue_winking_eye:)

Also… I wish the Alt-Gr key was a separate entity (and not “right-side Option”).

Application expander doesn’t helps with xoblite’s issue (left-cliking on an app on deskbar) when using Deskbar as a top or bottom bar (no expando there).

And it even shows the “windows handling” menu (“ / Hide all / Close all”) when the app has only one window open.

One could reasonably expect it to just bring forward (or minimize) said window in that case.

(adding it to my “wish-I-knew-how-ToDo” list :stuck_out_tongue: )

The only computers that I have are Intel based Apple desktop (iMac) computers. I would love to have a way to not only test but Haiku as much as possible (as an application on top of MacOS --OR-- dual booting on my iMac.

I do realize that Intel based Macs are the past and that Apple SoCs are the future. I’m getting ready to retire. I just bought my iMac in May of 2020 and I don’t expect to replace it for 8 to 10 years (my previous computer, a Mac Mini I used for fourteen (14) years before I replaced it with my current higher end iMac.

Will I buy another PC to buy and use Haiku? No. But I’m willing to combine my money with other Intel based Mac users to fund someone to make it easy to install and use Haiku on my Mac with the intent to pay a moderate monthly fee to keep that up to date and working until I die. I’m 62 now and my mom is in her 90s and my mom’s mom lived to be 103. So that might mean a steady income for someone for 30 to 40 years? I hope that might be long enough to make it worthwhile for someone. (wink)

But I am serious about this. If you were to make a poll and post it with your next monthly update (or sooner) with a clear note that there is a poll for Mac users at the top of the update, I will see it because I am subscribed to the monthly update emails and I’ve been following Haiku since the very first guy that started Haiku was working on it all by himself. So quite a while.

I also have boxed copies of BeOS 4.5 and 5.0 and 5.01 that I bought and I tell people about Haiku and send them them this link for the original BeOS Demo video which comes complete with the BeOS theme song which makes me cry when I hear it.

Also, I’ve followed Jean-Louis Gassée - Wikipedia for as much of his career as I’ve been able to since the Be.

I’m serious about this. Will anyone in your group be willing to be paid to make it easy to download and install Haiku in a virtual machine on Intel (and Apple SoC) based Macs? Please? Pretty Please? With Sugar (money) on top?

Note: This has to come from someone that is respected by the Haiku team. I don’t want just anyone doing this. I need, WE need to be able to trust whoever does this.

5 Likes

The USA and EU are going to be awash with orphaned Intel Macs in a couple of years, making it potentially a huge market. I also have a couple. I don’t think that we need to pledge to keep legacy intel macs supported in perpetuity, but an easy install option will be very handy. I am already contributing a small amount each month to the project.

5 Likes

Blockquote “I don’t think that we need to pledge to keep legacy intel macs supported in perpetuity…”

What? When I’m 190 years old and my iMac is … well OLLLLLDDDDDD you won’t support it anymore? lol

If Haiku could support it for five years (with my financial support) and maybe even ten years (the expected amount of time I’ll be using this computer) then I would be thrilled.

By then I hopefully will be able to afford to buy a new Apple computer or at least “newer” Apple computer that I can run Haiku on.

@Sabon @squizzler Please stay on-topic or create a separate thread, thanks :wink:

2 Likes

apple hardware isn’t really superior in anyway,just build a PC for 1/8 the cost and enjoy

1 Like

Refer to the topic! What was your personal experience with R1/beta4 RC1

I’m waiting for A4 to release, been super busy ttyl