One week with Haiku

Hi, long time Haiku developer and user here.

Thanks for the feedback. There are some things I agree with, and some others I don’t think we should change.

On including the documentation: the nightly images are not meant for users. Our release images (alpha 4.1 and the upcoming beta1) will include a link to the documentation on the Desktop. You mentioned Linux and other systems usually give a “tour” of the main features. You are right, but they do this while the system is installing, which means the user cannot do anything else meanwhile anyway. This is a good way to grab the user attention. But our install process is way too fast for that :smiley: . No matter how hard we try with a wizard that auto popups or whatever, the user will go “I know this, it’s an UNIX system!” and dismiss it and start clicking around. We can, however, improve the discoverability of some features. But…

On resizing windows: the expected way to do this in Haiku is using the shortcut (ctrl+alt). It is unfortunately a 2 key shortcut. Should we assign it to the Windows key alone instead? We already use it for “window management” (this make sense for a “window” key, right?). When you use the shortcut, the mouse cursor does change to reflect what will happen. And since this is the main way we expect users to interact with the window size and position, we did not hint at the alternate, legacy ways to do it (using the window corner or the borders).

On keyboard shortcuts: wether you use ctrl or alt for the main shortcut key is a user preference. The default happens to match MacOS because that’s our main legacy (BeOS was created mostly by former Apple employees). Terminal just uses the “other” key. This allows to solve the conflict between alt+C (copy) and ctrl+C (break). Terminal control characters are not menu shortcuts. Other systems workaround this issue by using ctrl+shift+C for copying text from Terminal, which is unexpected and annoying.

On Deskbar: personally I always use it in “expand applications” mode so I can easily reach all windows. I think this was a late addition to the DeskBar, either in the last releases of BeOS, or some time after Haiku took over DeskBar development. I think this mode is a lot better, and I’m ok with wasting some screen space for it. However, as you noticed it only works in vertical mode. I don’t care much about what happens to the non-expanding mode and to horizontal deskbar (a nonsense in this 16:10 display world anyways). Do whatever you want to them, maybe even remove them completely :wink: .

  1. Alt and Ctrl are treated the opposite way compared to Windows/ReactOS/GNU-Linux/BSD/QNX/etc. That bothered me a lot, and I have no idea if it’s configurable but I assume it isn’t. I just moved along.

This is just something that you need to get used to, once you do, you will find that it is preferable to the Winders way. This complaint is equivalent to using a Mac for a week and complaining about the Command key… yeah that’s the way it has worked for decades get with the program buddy!

  1. As a result of #1, task switching is done with Ctrl-Tab instead of Alt-Tab, which is yet another thing I had to constantly keep in mind, but if it worked as I thought it would I wouldn’t have been bothered by its functionality. I expected the OS not to switch programs until I release Ctrl, but as soon as you release the Tab key, you move to the next program. And the switching window displaying the program icons in order for you to see to which task you switch to… it’s different as well, compared to many other environments - starting with Windows 3, a loooong time ago. You have to long-press Ctrl-Tab to make that little window show up, or you won’t see it. And if you only press Ctrl-Tab shortly, even if you don’t release Ctrl, you just switched to another program. In other operating systems, as long as you haven’t released the main switching key (Alt), you see that task switcher window and you can press Esc to cancel the switching - which is a very nice feature. This makes you feel like Haiku assumes the users always knows what they want to do next and they never change their minds. :stuck_out_tongue:

Be made the shortcut Ctrl-Tab so that it would match the behavior of Winders folks when swap ctrl and alt.

  1. But then there’s the manual program switching by using your mouse on the deskbar. Click one program’s button on the deskbar and instead of switching to it instantly, you get an option menu so you can choose what you want to do with the window. That’s only done with right-click in the operating systems I mentioned, and I haven’t found a way to immediately switch to the program I want - I looked through all the preferences.

I agree the default behavior requires 2 clicks to bring an app forward and is cumbersome could use improvement.

  1. Apparently there are two categories of “things” you can start from the deskbar: (1) the programs, demos, applets and preferences inside folders/directories, and (2) everything else. The first category will get buttons on the deskbar, while the second category will only show up in the Tracker - which cannot be closed and takes up space on the deskbar.

yep

  1. Talking about closing up stuff, clicking the icons in the system/replicant tray shows an option menu immediately under the mouse cursor, as opposed to the one you get by clicking the Tracker and application buttons on the deskbar. This is a bad idea for people with laptops working with touchpads, because you can easily tap the option under the mouse cursor if your touchpad acts a little bit strange or you accidentally tap more than once.

This is similar to how replicants work on Winders where sometimes they pop a context menu on primary click, sometimes on secondary click. See USB->Eject USB Mass Storage Device.

  1. Talking about clicking/tapping, my first (recent) experience with Haiku was inside VirtualBox, and the mouse acts quite differently than on a physical machine. The cursor movement is plain weird, out of place, the clicks are not always listened to… so you just have to be patient with it. This deserves a warning on the downloads page, so people know that VirtualBox offers a different experience in as many ways as you already know it does. Just warn the people, because with the keyboard differences mentioned earlier, people will surely use the mouse more often than usual.

This sounds like a bug, I have not had the same experience using Haiku inside VirtualBox as you.

  1. Closing a window doesn’t always switch the focus on another window. You can end up with no focused window at all, which forces you to either use the mouse to close all the windows or use Ctrl-Tab to manually switch to them to be able to close them. It feels weird, and along with the way task switching works, it’s a bit cumbersome - to say the least.

NO you are focused on the Desktop window. MacOS also works like this, it will return focus to the Desktop window which is part of Finder.

  1. Resizing windows feels just as cumbersome, a thing you have to do a lot when working on a low-resolution display, such as my 1024x576 netbook. But even the default 1024x768 resolution in VirtualBox forces you to resize windows sometimes. As far as I know, it is currently possible strictly from the windows’s bottom-right corner. Now if all you want is to fill the screen with that window, maximizing it is the quickest way to handle it, which is only a click away. But other than that you’ll have to move the window to a position that puts the bottom-right corner in a visible spot. That, or maximize the window and then resize it and move it where you actually want it. There are two things worth mentioning here: (1) in other operating systems and with most window managers you can resize windows from all four corners, which is great even with all of them in sight, because you can resize a window directly towards the position you actually want it, so you don’t have to also move it afterwards, and (2) the mouse pointer changes shape to a cursor symbolizing the resize operation. If you think that switching the mouse cursor is not worth doing considering you already have a marker on the bottom-right corner, which marks the area you can click to resize the window, consider the way other window managers handle this aspect, and you’ll easily understand why everyone expects the resize cursor to show up. And when it doesn’t, people are more tempted to assume that the cursor is not supposed to change than they’d be assuming that the window cannot be resized other than by its bottom-right corner. So on a small resolution, with a window bigger than the whole screen, clicking on any other corner than the bottom-right one you’ll think you resize your window, but instead you simply move it and you don’t even know. And until you figure this out, you won’t move the window to a position that allows you to manipulate the bottom-right corner because you’ll instinctively try to resize the window from the closest corner relative to your mouse pointer.

I have advocated for resizing by all sides in the past like Windows and (now) MacOS does. I submitted patches to do that, and my patch was rejected because the BeOS way is to resize from the bottom right corner only. BTW my patch also included changing the mouse cursor. How good are you at writing state machines? :slight_smile: I will recruit you to fix our code. Maybe some day we’ll be able to get resizing by all sides. BTW there is a secret escape hatch way to do move and resize windows which is to hold ctrl+alt and left click to pan and right click drag to resize the window. This is not great UI but is meant to get you out of a jam in the case that the window titlebar is inaccessible.

  1. About Desktop (right-click) Clean up: until you know what it does, you can only speculate what it might do. Does it move shortcuts that haven’t been used for a long time, as Windows does? Does it delete anything? Does it align the existing icons? Does it do something else? I think a more descriptive name would be appropriate, to eliminate guessing.

Tracker is incomplete, needs many features added including a proper grid system to function properly. It is an old crufty piece of code which comes directly from Be. Unfortunately we never received the source revisions before 2001 but the app has been in continuous development since 1995. I and others have improved it significantly, but, it still needs a lot more work including the half-assed “Clean up” feature. Need grid! grid grid grid.

  1. About Desktop (right-click) Mount/Add-ons. If you click those options, the contextual menu closes and nothing else happens. Considering you can click other directory/folder menu entries (Applications/Demos/Deskbar applets/Preferences) and they open up a window with their containing items, this feels out of place because you’re left wondering if a window with those options is supposed to show up or not. It’s an inconsistent behavior, which can easily confuse people.

Menus work differently on Haiku than they do on all other operating systems in that you can click on a menu with a submenu to activate it, on all other OSs I know that is not possible, however, it is very useful in some cases. Most of the time activating a menu with submenu closes the menu doing nothing, but sometimes activating the meu is used. I agree that it is a bit confusing at first… we should probably change the behavior so that if you haven’t overriden the submenu to take an action than clicking on it does nothing but that’s not how Be did it and so we do it the Be way. Like almost everything else, it is not better or worse just different and you get used to it.

I’d rather like to know if it would be possible for these things to be configurable in the future from a UX setting application that allows the user to switch the environment’s behavior to the one they’re used to. While for some people it can be hard to adjust to so many different ways of doing things after 20 years of doing them mostly the same way throughout a number of different operating systems, some people also use multiple operating systems regularly, which makes it extremely easy to mistakenly use Haiku’s workflow on another operating system and vice-versa.

First of all for Shortcuts it is a long standing wish to make them configurable, hope to some day be realized, just hasn’t happened yet. The rest is all possible too but you have to understand why things are the way they are before “improving” them.

And two more questions:

Does this all come from the way BeOS did things?

A lot does yes, * tra-dish-ioooooooooon *

Do you think it’s worth reconsidering some of this behavior and permanently align it with the way all the other operating systems do it?

We have done some reconsidering of behavior making intentional breaks from BeOS and I hope that we can do more and take your feedback seriously beceause there is a lot of truth to your complaints. Some examples: We use “Sentence case” for menus and control labels while BeOS (and Mac OS) used “Capital Case”. Unsaved Changes dialogs go “Cancel” “Don’t Save” “Save” while on BeOS and Mac OS they go “Don’t Save” “Cancel” “Save”. Haiku way is better.

We’ve been able to resize from all borders for a long time. It’s just done with the right mouse button. Which ties in nicely with the CTRL+ALT key-mouse-combo: left button → move, right button → resize.

Personally, I love the key-mouse-combo. I use it almost exclusively and miss it sorely when in Windows at work. Same for right-click to send windows to back, Stack&Tile, Workspaces, Tracker’s type-ahead-filtering, Tracker “Select…” options and much more. Haiku has a leg up on many OS. Doing what and how all OS do it, would often be a mistake.

Oh yeah I forgot about right click dragging to resize. Right click drags are an abomination. Anyway we have already built out WindowBehaviour (UK spelling for some reason) class in app server so an enterprising developer could implement a WindowsWindowBehaviour subclass and allow for the option to switch out the window behavior for an alternative that works in a way more familiar to those not versed in BeOS window resizing behavior.

Thank you too for joining the UX party. :smiley:

I meant this:





But of course a simple shortcut on the desktop would still be better than nothing, even in the nightly images. They’re not meant for daily use, but in reality people still try them and run into issues. So the cost of adding a shortcut is almost zero.

Leaving the details aside, the bottom line is resizing windows is different and more complicated in Haiku than for over 95% of people are used to. So is it really necessary to set it in stone like this?

Being able to switch to Windows/Linux mode is great, but it would be perfect if the terminal would also act accordingly. In this case, Haiku does the weird thing to allow the user, in Haiku mode, to close the session with Ctrl+D instead of Alt+D, to copy with Ctrl+C instead of Ctrl+Shift+C like most GNU/Linux terminals out there, and who knows what else. But the terminal is more for people who can handle it, so I guess they can adapt if the Haiku terminal remains the same.

I want to easily reach all the windows too, but I also prefer an horizontal deskbar. And so do others, of course, but my point is we need a bit more flexibility on that deskbar. Being able to click once to switch to a window should be possible anywhere you place the deskbar. Who wants to group them will already have their mind set on clicking once on the app’s button, then once again on a specific window. And whoever wants one button per window should have an option to not group the windows of the same app.

The same advice can go to a Mac user trying Windows for a week, right? The thing is the vast majority of people on this planet use Ctrl and Alt as they are in Windows/ReactOS/GNU-Linux/BSD/QNX/etc - over 95% of the desktop market share. So being able to switch from the Keymap was great. The only problem remains with the terminal, but that’s minor compared to everything else.

There are no replicants in Windows - at least not they way I understand they are designed in Haiku. The system tray, or the notification area, has icons as a means to access programs that are resident in memory. I think the under-the-hood design is quite different. But my issue with Haiku’s replicants is the fact that they place the contextual menu over the icons, directly under the mouse pointer. This is bad because it allows accidental clicks/taps.

After closing a window, sometimes the focus moved to another opened window, other times I saw no focused window. But as my intention wasn’t to do a UX review, I didn’t investigate this any further. I just added some feedback from a new user’s point of view. :slight_smile:

printf(“Hello, World!”); :smile:

Yeah, I noticed that last night, but I saved it for the second week post. :stuck_out_tongue:

Differently and inconsistently. Just in case there’s a chance I was misunderstood, I’m not saying the menus should only open when you click them - that’s a different feature. The only thing I meant to convey was the fact that clicking them closes the menu, while clicking others will open a window with the containing items.

Click Add-ons and the Desktop context menu will close. In Windows, you can click it to death and nothing happens, subtly informing you to move along and click where it actually counts. With GNU/Linux desktop environments, I just tested Cinnamon, MATE and Xfce and if you click such an option toggles their sub-menu.

Whew, that’s a bit refreshing to read. I really hope I didn’t step on anyone’s toes. :smiley:

The first step to actually fixing this problem is to create an App Server WindowBehaviour subclass that behaves the way to want it to… the second step is political. So far nobody has stepped up to fix up our state machine and expand the window resizing functionality except me and my patches were rejected… for some good reasons and some bad. OK maybe the first step is to come to the forums and complain… good job.

No, the solution is to get used to Haiku mode because Alt is great. That way Terminal works find and Ctrl+C works and all is well.

The solution to this problem in my estimation at least is to change Deskbar behavior to bring app windows forward with a single click and to pop up the current menu via right click/long press (woo long press) instead. This idea might not fly with the BeOS Deskbar loving masses though. I have heard some talk of using double-click to bring app windows forward, single click to pop the context menu.

If you are on Windows use Ctrl, on Mac use Cmd and if on Haiku use Alt. Each of OS is opinionated about its modifier keys. Haiku has done a lot to give Linux/Windows/Mac users some relief via Keymap. Mac OS X past 10.5 has as well. Windows has 3rd party fixes. Easier to get with the program though on all 3 OSs.

Taskbar Tray icons are Windows equivalent to Deskbar replicants and have pop-up menus that pop up open right over the taskbar tray item:
https://www.dummies.com/wp-content/uploads/147380.image0.jpg https://safelyremove.com/assets/images/sr/native_stopping_menu.png

On Mac OS X the Menu Bar status icons works a little bit nicer because they always drop below the MenuBar… but that’s a whole other ball of wax.

Focus moves to the previously focused app (as listed in Twitcher) until finally focusing on Tracker’s main Desktop window.

Haikus need YOU to learn state machine and fix this code.

Haiku needs YOU to learn Tracker and fix this code.

Menus work completely consistently as I described but in a way that is different from Linux/Windows/Mac OS/pretty much everything other OS except BeOS.

Yup that is essentially the difference, on BeOS/Haiku menus with submenus are activated on click, while on Linux/Windows/Mac OS only leaf menus are activated, menus with submenus are not allowed to have an action and so clicking on them keeps the menu open. This allows you do things on Haiku with menus that you can’t do on any other OS, but also means that menus behave differently than on all other OSs.

I’m sure all of you know how it is to spread too thin on many projects and find a balance with your personal lives. I’d love to be of more help here, because I lost track of the years I’ve been following Haiku progress and I have only once helped with some PHP code on the nightlies download page.

And web development is where I could help the most, probably - although during the last two weeks I got a tingling sensation about doing some Yabasic programs, and maybe make a demo of my welcome app ideas. But the least I could do so far was to document and voice my experience with Haiku, in the hope that something might be considered useful and taken into consideration.

1 Like

I am a user of many OSes installed side-by-side on my desktop computer. Currently they are:

  1. Debian Linux (with Cinnamon)
  2. Windows 10
  3. FreeBSD (with Xfce)
  4. OpenIndoana (with Mate)
  5. Haiku
  6. Android-x86
  7. OSX 86

Additionally, I use normal Android on my phone and tablet, MacOS on iMac and MacBook and Haiku on a laptop. The user interaction on all them is different from each other and I quickly used to understand the way each is implemented and use them in an efficient manner. No one is incomplete or inconsistent.

Additionally (just because Russian keyboard is usually not available outside the Russian-speaking market), I use Russian phonetic keyboard layout. This is different among Linux, Windows (it’s only available starting with Win10) and MacOS. On different Androids the layout is also slightly different and there is no phonetic layout, but the Russian key names are displayed, so I can use it. On Haiku there is no Russian phonetic layout, but I easily created one for me (maybe it would be a good idea to share it with others). So the writing in Russian is a different experience among all the OSes I use. Still I am used to do it.

Just because the power-users can handle whatever one throws at them, doesn’t mean those “whatevers” are complete and consistent - which for the majority of users are not.

But “complete” and “consistent” are both subjective and objectively false because nothing is ever set in stone. Otherwise there would be no need for new versions of operating systems or different ones.

Call me a purist, but I believe Haiku should do things the way BeOS (its “pattern”) did them, and not try to match other OS’s at all. If you can’t remember that you’re NOT using Windows or MacOS or Linux or whatever, then too bad for you. I deal with that every time I use MacOS too long and then go to Windows (or vice versa). But I accept the frustration as a part of life. I also don’t use keyboard shortcuts (never liked or used them even on the Atari ST, back in '86). I’m a 100% “mouse user”, unless I have no choice.

There’s a good number of people who use keyboard shortcuts to do things easier, faster and reliable. So there’s a lot of muscle memory involved. As a mouse user, it’s clearly not obvious to you how easy it is to be fluent with the keyboard and do things almost subconsciously. That’s why being able to switch to Windows/Linux mode is important at least until the user has the chance to do a little training with the Haiku mode. It doesn’t seem like much of a change, but it’s like someone reverses your mouse buttons based on the operating system you’re in. How would that be for you? :smiley:

I’m pretty much with Luposian on this. If it really bothers someone, they can change it in Keymap. Otherwise, it’s the way BeOS was and the way Haiku is.

People can either adapt or not use it. Or tell Microsoft and Apple to change how they do it.

And I do use keyboard shortcuts and find using the ALT key easier than using CTRL or the Command key, really. So much so, that I sometimes finding myself trying to use ALT even when I haven’t used BeOS or Haiku in years.

1 Like

You just proved my point. We do things that come naturally to us, no matter if we prefer working with Ctrl or Alt for keyboard shortcuts. And telling Microsoft and Apple to change… that’s gonna be tough. :rofl: I can’t even imagine how many people would rage over such a change.

There are people who don’t know much about computers but they work on one at work, and they learned a few shortcuts that help them be more productive. Can you imagine how would they feel if the shortcut changed after an update? Can you imagine the productivity issues in so many companies until people adjust? I’ve done on-site tech support for many years, and I know how fragile is the knowledge of the regular users. They easily defend their ways of doing things, and they easily complain about even the tiniest changes that affect their workflow. Here are some quotes you get when you update something that adds a little change:

  • “Was that really necessary?”
  • “I want it back the way it was!”
  • “How am I supposed to finish my work on time?!”
  • “I don’t have time to mess with this this now!”
    etc.

So don’t just think about yourselves, but also about the people who took years to become reasonably fluent in their computing, and then comes an operating system throwing out the window some of their hard earned knowledge. That’s why the Windows/Linux mode is important, and why it should be advertised in a first-start app.

Every OS has the right to be unique. Has the right to do things differently. I don’t hate an OS because it does things differently. I adapt or use a different OS. Of course why DO we use different OS’s? They all do the same thing… allow us to interact with data. But we mutter and complain when THIS OS doesn’t do things the way we like to do them on THAT OS…

THEN USE THAT OS!!!

It really IS that simple. :smiley:

But this is not about hating anything. :smiley: It’s about helping new users come aboard, and there’s nothing wrong with that.

No, I haven’t. I have the keys that I prefer to use, but when I use Windows, macOS, or Linux I adapt and use the keys that work with those operating systems. It is, in essence, why I use those operating systems. I like to do things the way they were intended to be done in those environments. If it was really a problem and I could not adapt or change the modifier keys, I simply would not use them.

And, yes, if you tried to get MS or Apple to change their ways there would be an angry uproar. Essentially because someone new just walked into the home they’ve been living in for 20+ years and demanding all the doorknobs be changed to latches because they didn’t like them.

We’re not talking about an update, or a sudden change. We’re talking about a simple modifier key that’s been in use since the 1990s.

I find this entire paragraph to be ironic. You are making the point that people who have been doing things a certain way for years to throw their knowledge out the window because someone new might not like it.

It totally is important. Documentation in general is pretty important. And a starter app or HTML document is a great idea.

This screen inspired me to do some stuff this night:

http://software.besly.de

This is not offical, so i use not the real Haiku logo. I hope you enjoy.

3 Likes

It would certainly be a good step forward. If you’re willing to write the code for this app, I think I’ll do a web mockup for what I had in mind - after some sleep. :slight_smile: Thanks for doing this so far. :+1:

That’s the whole point I’m trying to make here. I didn’t say Haiku should throw away anything, but it should offer options and advertise them to the new comers.

? Writing the code?

This work is already done. Download and install it.