Usability, integration, niggles

[Using Haiku pre-alpha r29843 in VMWare on Debian GNU/Linux]

Some points which stand out to me:

  • I miss the ability that's in most any linux window manager of moving a window by holding alt and left-clicking and dragging anywhere on the window, or resizing by holding alt, right-clicking and dragging. I would appreciate something like this being implemented. Something that comes to mind is that the middle mouse button is used for moving pictures around in WonderBrush or ShowImage, so maybe it would be natural for the user to move windows in that way, too.
  • Alternatively, the middle button could be used for copy-pasting highlighted text, as it is in linux.
  • I would like windows to "snap" to the sides of the screen or else feel some amount of resistance to being moved off the screen.
  • Workspaces is very nicely done, but it would be nice to be able to drag the actual windows off the side of the screen into the next workspace.
  • I would like a "hide all" for all windows of any program ("Show the desktop") in the deskbar
  • If the deskbar is set to be always on top, it shouldn't be on top of the calendar
  • If the mouse is over a horizontal scrollbar, rolling the mouse wheel should move the scrollbar
  • Image thumbnails in tracker would be nice.
  • Very minor visual bug: In BeZillaBrowser, the g's in the address bar have their bottoms slightly cut off in DeJavu Sans or Serif (or possibly other fonts too).
I believe that in an OS which aims to be as straightforward and easy to use as possible, flawless integration should be a top priority. I noticed that I could view an image in ShowImage and just select a box of the picture, drag it into WonderBrush and edit it. Brilliant - perfect. However...
  • I tried to drag an application from the menu onto the desktop to make a shortcut, but nothing happened. In fact, I couldn't figure out how to do it at all.
  • ShowImage should offer the option of editing the image in full
The point there, I think, is that the OS should have so many small usability features (that don't get in the way, and are consistent with each other) as to eliminate any situation of someone dragging something somewhere and giving out that it won't work. The goal should be to make the interpretation between applications transparent and natural-feeling. I'm sure I don't need to tell you this, as you're doing a bang-up job as it is.

I am, however, extremely impressed with haiku overall. My list of praises would far exceed this. If anything I said is incorrect, invalid, or enraging, I am very sorry - please tell me.

If you feel strongly about these suggestions, then file individual enhancement tickets at our bugtracker :

Hey Mark,

Thanks for your praise of Haiku and your very constructive criticism. I think you will find most Haiku developers welcoming of suggestions for improvement. This is after all an OS we all intend to use as our primary OS some day (many are already doing so), and there may be improvements that others can suggest that we would not think of.

Matt makes a good point that you could log a bug or enhancement for some of these suggestions. I provide some more details below.

As for your points, I’ll discuss them one by one:

  • I think others may have suggested the Alt modified mouse buttons for moving and resizing windows before. This probably would not be hard to implement. It is probably worth discussing, and I think I would be in support of it (though honestly I don't use that feature much on Linux because it is not in my muscle memory.) But something like this requires a developer consensus I think.
  • I don't know if we would want to copy the middle mouse button pasting from X windows. I definitely would not want to copy the behavior of copying on select which this seems to use.
  • I think window snapping is a good idea, but again it is worth discussing with all the Haiku developers. This is where emailing the haiku mailing list is a good idea. A lot of the developers do not read these forums.
  • Dragging windows between workspaces by dragging them to the edge of the screen could be tricky, especially concerning usability for novices. Combined with snapping it might work though. Of course snapping might also make it more difficult :)
  • I use the "Show Desktop" shortcut on Windows and Linux a lot, so I definitely support this. It should not be hard to implement. I suppose it could reside within the Deskbar replicant tray, since Deskbar does not have a Quicklaunch type area. It could probably be implemented as an application, and then you could easily have a shortcut to it anywhere, and could also invoke it from a key combination with something like SpicyKeys.
  • I would have to test it, but if the Deskbar covers the calendar then this is probably a bug. Please log it on our Trac bug-tracking system.
  • I agree that the scrollwheel should scroll horizontal scrollbars when the mouse pointer is over it. Please log an enhancement at Trac linked above.
  • There have been efforts before to add thumbnails to Tracker, and I think most Haiku developers agree it would be nice. There may already be a Trac ticket for it in fact. I think it will definitely be done eventually.
  • You might want to log that BezillaBrowser bug with them. How to do that is described here.

Dragging an application link from Deskbar sounds like a reasonable request, so again log an enhancement in Trac if there isn’t already one (please try to search.)

I am not sure what you mean about ShowImage offering an option to edit the image in full.

Also your comment about having small usability features, consistency and natural feeling application interaction is definitely a big goal of Haiku, and I think one it can achieve much better than other systems.

“But something like this requires a developer consensus I think.”

This always felt awkward to me. Of course, any avid, day-to-day Linux user will say just the opposite. This reminds me of that expression “A face only a mother could love.” I think this is a feature that only a true-blue Linux user could love.

“I don’t know if we would want to copy the middle mouse button pasting from X windows. I definitely would not want to copy the behavior of copying on select which this seems to use.”

Same goes for this one. Any Mac OS or BeOS user will cringe every time his/her pasteboard is wiped out by an errant middle-button-click.

A one-click way to show the Desktop is a great idea.

Hi everyone,

Great to get positive responses and very thoughtful answers. I will submit some as bugs, as you all suggested, and I will also send a modified version on the mailing lists when I have time - I am quite busy right now, and will be until Monday/Tuesday.

I am aware that a lot of the things that I mentioned are real signature Unix/Linux stuff, and I accept that Haiku should have its own personality, rather than just carbon copying another OS. (It does annoy me when, for example, Windows users complain that Linux doesn’t have many installing executables for programs on the web, when I see the package manager system as being so completely superior.) My intention was to suggest the features that I miss, and leave it to the audience to decide what we want to include. I think you served as an excellent first-round filter.

What I meant about the ShowImage comment was that one should be able to just go to Edit -> Edit Image on the menu and have an instance of Wonderbrush open with that image. Maybe this is feature bloat, though. It’s not good to have too many options (KDE3 being the prime example of that).

Thanks again.


“I don’t know if we would want to copy the middle mouse button pasting from X windows. I definitely would not want to copy the behavior of copying on select which this seems to use.”

Same goes for this one. Any Mac OS or BeOS user will cringe every time his/her pasteboard is wiped out by an errant middle-button-click.[/quote]

X avoids such conflicts through the provision of mechanism, in this case, the mechanism is multiple selections. As a matter of policy the CLIPBOARD selection is to be used only for explicit Cut or Copy operations, while the PRIMARY selection is used for e.g. text highlighted with the mouse. It is the latter (PRIMARY) which is pasted when the middle mouse button is clicked.

So e.g. open a Firefox and a text editor such as gEdit. In Firefox, select a paragraph of text. This is now PRIMARY, you can verify that by middle-click pasting the paragraph into gEdit. Go back to Firefox, press Ctrl-C or select Edit->Copy from the menu. Now the text is selected as CLIPBOARD. You can paste it in gEdit with Ctrl-V or Edit->Paste. You can also select something else as PRIMARY, and paste that using middle mouse without interfering with the selection in CLIPBOARD.

Experienced users keep the contents of CLIPBOARD for relatively long periods (perhaps several minutes while preparing to paste a section from one document into another) while PRIMARY is ephemeral. Having both delivers most of the effectiveness of a more complicated “stacked” clipboard with less cognitive loading.

Sadly but inevitably there are applications which violate the policy, most notably the X-Chat IRC program, which always overwrites the clipboard with selections. So far as I can tell this is intentional, it does the same thing in Windows. There is a UI fork of X-Chat which fixes this and other policy violations or perceived inconsistencies, but it’s less popular, evidently IRC users don’t value consistency very highly.

Thanks for the useful information. I had a suspicion that X was like this, but didn’t know for sure.

While this is a useful feature for advanced users, I am not sure it is worth putting into Haiku. For one thing the concept of a single system clipboard is pretty prevalent in BeOS and therefore Haiku. The BClipBoard API is also designed with this in mind (though applications can create their own local clipboards.)

Advanced users can always install something like ClipUp, which is also open source.