- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
Deskbar rewrite
In recent times I have become much less of a BeOS/Haiku full time user and regularily use other systems such as Ubuntu, Windows 7, and sometimes even Mac OS X Leopard. After my very recent blog post on my impressions of the GNOME 3 Shell, I've narrowed down some ideas floating in my head about how Deskbar could be changed to improve it's usability. Let me list some things I like or hate in other desktops.
- I like how in GNOME 2, the top bar provides direct access to the application menu and system settings menu. The places menu is also pretty useful in this form. In the Haiku Deskbar, these entries are one or more levels deeper under the single leaf/feather-menu.
- I hate how I have to decide which window I want when switching to a running application in Windows 7, in case that application has multiple windows open. I frequently close the Firefox download window because it prevents me from just clicking the Firefox icon in the taskbar to bring Firefox to the front. I cannot bear to use IE 9 since even when there is just a single window open, I am forced to decide which tab I want. I just want the last active one, damn it! I may have lots of other tabs open, some maybe opened several days ago and completely irrelevant to what I am doing at the moment! The Haiku Deskbar is even worse, clicking an application entry always opens a sub-menu with the open windows, even if there is only a single one. It's more consistent, but just too slow and optimizes for the less common operation. Switching back and forth between two or more apps is just something I do very often. The state of each application should be persistent, i.e. remember what the last active window was, and I should be able to go back to another app with a single mouse operation.
- I like how in Windows 7, the taskbar holds just big icons. That leaves a lot of room.
- I like the "Pin this task to the taskbar" feature that is also present in the Mac OS X Dock. I've already commented in a ticket how I would love to integrate LaunchBox into Deskbar via such a feature, resolving how to easily make applications launch at boot time along the way.
- I hate how poorly workspaces are integrated in GNOME 2. The task entries just show you the ones on the current workspace. The Haiku and Mac OS X workspaces integrations are pretty good.
- The Deskbar's default location does not encourage full screen application windows. For some types of applications, full screen is a rather useful way of operating. However, full screen apps should not have a one pixel border around the edge of the screen which essentially makes it impossible to quickly hit targets at the screen edge, which would otherwise be predetermined to be easily hit, like a scrollbar along a document... like is the case in GNOME.
This is how I digest all this into bullet points for a rewrite of Deskbar:
- Quickly switching between tasks should not be left to Cmd-Tabbing alone. The GUI to manage running tasks and windows can be made pretty quick to use as well.
- As is already the case in the current Deskbar, it would display all applications regardless of the current workspace.
- My first change would be to make Deskbar run along the top or bottom of the screen, top probably being my preferred default location, as I find it easier to flick the mouse upwards.
- I would extend the BScreen and BWindow class such that it is easy to go into full screen mode programmatically, while not covering up the deskbar. Obviously full screen video playback could still take over the whole screen, but I want something intermediate that embraces full screen windows more while still allowing the application and window management features of the Deskbar to be readily accessible.
- The horizontal Deskbar position also gives room for bringing the Application and System preferences menu's up one level and make them directly accessible.
- Then I would change the display of running apps to just their icons. Clicking an application icon would always do the same thing, which is to bring that application to front and switch to the workspace of its last active window.
- Attached to each application's icon would be another icon to bring up the list of windows of that application. It could look like this when the mouse is not hovering: Icon v, and like this when hovering: [Icon|v]. I.e. just like a tool bar icon behaves that has an additional drop down menu attached to it.
- Both these click targets would get a context menu. The application icon could offer options to permanently install the icon into the Deskbar, regardless of wether the application is running, or to launch the application at boot time. There could be an interface for applications via the BDeskBar class to install custom services into that menu (perhaps simply named BMessage commands to be send to some BMessenger). The window list icon would get a context menu with common window operations like "Hide all", "Close all", "Bring all to this workspace" and so on.
- I would also like to integrate the Workspaces applet into the Deskbar, optionally enlarging when the mouse is over it. That would further emphasise the full integration of workspaces on Haiku.
For me, it would be a combination of the best application and window management features of all deskops that I frequently use, combined.
- stippi's blog
- Login or register to post comments

Comments
Re: Deskbar rewrite
That's a great idea to make haiku more useable.
And i have some remarks related to the UI:
For example to me the "menu items" seem to be too small, too tight, and sometimes it needs more concentration to choose fastly with the mouse the wanted menu item.
What i like in windows 7, is that everything seems to be "bigger". In Haiku sometimes i have to be very accurate with the mouse trying to catch a border or a corner. To me, some controls like scrollbars or "close window", "min/max window" are too small, sometimes i have to be too accurate with the mouse and that seems anoying, and sometimes it seems more comfortable to use the keyboard instead the mouse, and i think that's not a good sign. On W7 i use the keyboard very rarely. Even more, on W7 I already prefer to drag the window to the top, to maximize it, instead trying to find/hit the "maximize button" of the decorator.
I think the UI should focus more on the usage of the mouse, because it seems that touchscreens will be more and more popular, and Haiku should be on such devices user-friendly too.
Re: Deskbar rewrite
I think the UI should focus more on the usage of the mouse, because it seems that touchscreens will be more and more popular, and Haiku should be on such devices user-friendly too.
An example of something I really despise in KDE and other systems with skinny window borders. When the cursor moves across a window border while not dragging something, perhaps it would be useful to make it 'reluctant' to leave by a couple or three pixels. Think of it as a virtual border. No magnetic affinity; only a slight desire to stay. Make it easier to grab the border when the mouse hand is out of calibration.
Re: Deskbar rewrite
Very awesome. I like all of these suggestions. I do agree the default icon sizes and screen boarder could use to be a bit bigger as well, what would be nice little add on is that if you mouse over a Icon on the taskbar it gives you the application name in a tool tip fashion.
Otherwise these would be very welcomed useability changes !!!
Re: Deskbar rewrite
Don't break Deskbar, please. Deskbar is greatest shell that I ever seen. I don't want another Win98 explorer clone.
I like how in GNOME 2, the top bar provides direct access to the application menu and system settings menu. The places menu is also pretty useful in this form. In the Haiku Deskbar, these entries are one or more levels deeper under the single leaf/feather-menu.
Deskbar is easily configurable, because all hierarchy stored in filesystem. Hardcoded hierarchy is a bad choose.
The Haiku Deskbar is even worse
Workspaces is the best way to run diffrent applications with a lot of windows. What for does it need otherwise?
I like how in Windows 7, the taskbar holds just big icons. That leaves a lot of room.
First, not all applications has unique and easily recornizable icon. Second, this is only problem for horizontal layout. With vertical layout there are no space problem.
The Deskbar's default location does not encourage full screen application windows.
This is wrong. Deskbar gracefully handle maximized windows. Application use as much space as possible, and Deskbar is accessile because window tab don't take all length. Also there are option in Deskbar, that bring Deskbar to front when mouse placed near leaf menu.
To make all happy it's need to give user a right of choice. Somebody likes BeOS Deskbar, somebody likes Windows shell...
Re: Deskbar rewrite
This is wrong. Deskbar gracefully handle maximized windows. Application use as much space as possible, and Deskbar is accessile because window tab don't take all length. Also there are option in Deskbar, that bring Deskbar to front when mouse placed near leaf menu.
Couldn't agree more! Deskbar located in top right-hand corner is one of the features not available in any other opetrating system: even if the window is maximised to full heigth and width the deskbar is visible and accessible. All other systems require certain amount of pixels across the edge of the screen reserved for something that is not in the context of current apllication thus making it harder to throw mouse to the edge of the application window for scrolling perhaps. In Haiku the Fitts' law is (or could be) supported best of all.
Improvements/ideas:
Re: Deskbar rewrite
I like your points except for where you say only horizontal... the vertical Deskbar is kinda unique and fits in well with wide screens... of most modern laptops and increasingly that of desktops.
Which menus appear on top of the Deskbar could me made configurable.
I'd probably move the applications menu on top myself and leave the rest the same. But not everyone thinks the same and desktops are supposed to be personalizable IMO ... I guess it depends on if Haiku is shooting for the custom fitted shoe feel or the one size fits all users feel...
Windows as Icons... Well I like reading the words some people deal better with words or icons just depends on the person. So I think that should be an option too.. I do see the opportunity for having user presets for the options since many of the choices are complimentary to one another like preference of Icons over text etc...
very good ideas IMO though... I think some of it should be Optional
Don't forget to post this to the glass elevator list as the developers aren't always reading on here.
Re: Deskbar rewrite
I like your points except for where you say only horizontal... the vertical Deskbar is kinda unique and fits in well with wide screens... of most modern laptops and increasingly that of desktops.
Which menus appear on top of the Deskbar could me made configurable.
I'd probably move the applications menu on top myself and leave the rest the same. But not everyone thinks the same and desktops are supposed to be personalizable IMO ... I guess it depends on if Haiku is shooting for the custom fitted shoe feel or the one size fits all users feel...
Windows as Icons... Well I like reading the words some people deal better with words or icons just depends on the person. So I think that should be an option too.. I do see the opportunity for having user presets for the options since many of the choices are complimentary to one another like preference of Icons over text etc...
very good ideas IMO though... I think some of it should be Optional
Don't forget to post this to the glass elevator list as the developers aren't always reading on here.
Stippi is a core developer and a damned good one at that.
Re: Deskbar rewrite
AGH... I'm sorry stippi X.x I know that and your work on web+ too X.x It was a brainfart on my part. Its good to see that some thought it going into makeing deskbar better.
Thanks for slapping me in the head so to speak :)
Re: Deskbar rewrite
I like the vertical deskbar in expando mode. Maybe I tend to have toomuch windows open at the same time, but in this mode I can quickly see all of them and switch instantly.
I like it on the side, because it allows me to have a portrait-format space on the screen for windows, which is what I actually need for pretty much any task beside watching movies. And I watch movies fullscreen, and rarely on my computer, anyway. On modern 16:10 or 16:9 screens gnome 2 with 2 bars is looking stupid, if you run LibreOffice with a window titlebar, 3 or 4 levels of toolbars, and a status bar, you have space left for barely 3 or 4 lines of text in the working area, less than half of the screen. It's really time to switch to a more vertical layout...
The use of workspaces may be different for other peoples. I like to have workspaces for doing different things, and I like the ability to not have them mix up completely. Deskbar hinting at whichwindow is on the current workspace is good for that. Hiding the windows from other workspaces like gnome do may be a bit extreme, but the idea is : don't use workspaces to overcome limitations of the window manager. With stack and tile it is possible to have sets of windows you can easily switch between, I believe this fits your current use of workspaces best (I may be wrong...)
Using icons only like windows do may be fine on an horizontal bar, with a vertical one you will notice the text does actually take less space and you get all the info : both the app identification (icon) and the document information (window title). I think it would be better not to think in terms of applications, but in term of documents. I don't care if a file is open in stylededit, BeAE, Wonderbrush or Web+ ; I care about the name of the file. Apps are just a way to make the documents visible and editable. This should lead to quite a different organization : it doesn't make sense to sort documents by application. When working on a software project I want a webpage with some programming info, a text editor for my sourcecode, maybe a graphic editor, and a terminalto debug things around. I want them to be grouped this way ; not per application, maybe in something looking like expando mode. Ideally, I would be able to take such a group from deskbar and drag it to some folder to save it as a 'project'. Opening that project would then bring back all the files and windowsin my deskbar. This is the kind of groups I want to have, I don't care about the most recent window in an app, I want it to open what I am working on, even if I switched from something else seconds ago.
Re: Deskbar rewrite
> I want them to be grouped this way ; not per application,
> maybe in something looking like expando mode.
Sorting deskbar items by Stack & Tile order, sorta ?
Could be a good idea.
> Ideally, I would be able to take such a group from deskbar and drag
> it to some folder to save it as a 'project'.
A "session" container. Would be very nice, indeed. I think since S&T there is some startup support for session management, but Clemens should know better on how much is lacking to implement such feature.
Re: Deskbar rewrite
I fully agree with full screen improvement it's not optimal in BeOS/haiku.
I like the deskbar to be vertical because i like to see names instead of icon (i also keep all my windows in list mode, never in icon mode). One thing i like about this is that it allow it to also act as a message display (not used by enough application). I agree that in horizontal mode the text could be dropped that said.
The interface is definitively to small, it need to be fully adjustable (not just like the pre- programmed icon sizes, i preferred the way it worked in zeta allowing to scale them).
About reaching the windows app faster, what i would really like is expending on the stack and tile. I use my app more in "project" than as individual app. If we could select a bunch of app at the same time by clicking on a project group of app, then all would appear at the same time. A configuration of app and open windows could be made with stack and tile (with an additional widget created to control this as soon as at least 2 elements are linked. That way the problem of choosing about 2 apps (let say 2 calculator) would not exist as much as long as you included each into their own individual project.
Re: Deskbar rewrite
I also think the upper right corner is actually a good choice. This corner is IMHO one of the less used section in the screen an thus less interfere with other stuff.
Also in KDE I have the deskbar at the right side because the the horizontal space is less precious than the vertical space. E.g. monitors are mostly wider than higher but documents are higher, since I like to see the max of a doc the vertical deskbar is the way to go for me.
Actually, I like the feature to only show windows of the current workspace. Having e.g. six workspaces with a lot of windows makes it very difficult to select the right window in the deskbar.
The one click to the last window of an application is a good idea. In vertical mode this can be implemented by just clicking on the super item, the expander gives access to the detail list...
Re: Deskbar rewrite
* FULLY AGREE WITH EVERYTHING **
But Stippi.. firstly;;
When OpenTracker navigation icons will be switched from bitmap to HVIF???
Re: Deskbar rewrite
Quickly switching between tasks should not be left to Cmd-Tabbing alone. The GUI to manage running tasks and windows can be made pretty quick to use as well.
[...]
Attached to each application's icon would be another icon to bring up the list of windows of that application. It could look like this when the mouse is not hovering: Icon v, and like this when hovering: [Icon|v]. I.e. just like a tool bar icon behaves that has an additional drop down menu attached to it.
Actually, that's exactly what the Application Expander in the current Deskbar does, though I believe it's not usable when the Deskbar is in an horizontal position. It should be activated by default IMO.
The horizontal Deskbar position also gives room for bringing the Application and System preferences menu's up one level and make them directly accessible.
While I agree on bringing those menus up I can't see why that couldn't work in a vertical Deskbar.
Then I would change the display of running apps to just their icons. Clicking an application icon would always do the same thing, which is to bring that application to front and switch to the workspace of its last active window.
But that may be confusing when 2+ apps don't have a custom icon. Just a heads up.
I prefer the Deskbar as is (mostly), but I can see why others don't. I think that making a rewritten Deskbar able to choose between a "Classic" and a "New" style, behavior etc. would be the way to satisfy everyone.
Re: Deskbar rewrite
Hi,
The good old Deskbar :-)
I think when we rewrite this stuff, we rewrite a new big good stuff.
Applikation and Workspace Management/Handling (Thumb Windows, Fullscreen Windows, S&T , ...)
Desing (Desktray Icons, Colors and co).
Mouse Gesture
More Hardware Input (Multiple Mouse Device aka MultiTouch) ...
File I/O Handling on the Desktop it self, need we a Tracker?!
A new searche for Apps and Files ...
Zoom in/out for all Desktop Stuff
and Replicant Design have some more potentials too!
stargater
Re: Deskbar rewrite
Hi,
first of all thanks to stippi who gave us again an insight of his point of view, this time in case of the deskbar. It's always refreshing to see that even core developers think about such things.
For me as a long time BeOS user (Haiku now, wherever it's possible) the original BeOS-Deskbar is some kind of a holy thing. In other words, the Deskbar as also the Tracker and also the right-click-folder-navigation(tm) has been and are still the most important methods for daily computing (from a user point of view). So my feelings are 50/50 about a redesign of the Deskbar.
At this point of discussion here i think it would not be bad to get a little bit fresh air on the Haiku-Desktop. If there will be the decision to redesign the deskbar there are in my mind two points which should take care of.
- let the user the possibility to use "old style BeOS deskbar"?
- is it useful to have new deskbar layout vertically? I remember the old BeOS DR8 style (look here: http://img134.imageshack.us/img134/6393/bedesktopdr8.gif ) because the latest buzz of monitors is 16:9 or 16:10. And i've installed Haiku on 3 netbooks, every one uses a widescreen too. On such resolutions (1024x600 (and 1024x576 iirc)) it would make more sense to have deskbar vertically.
On every day computing at work i have to use a gnome desktop and it is always refreshing when i can boot a Haiku installation after that. It feels simply like i'm coming home. Everything at the right place, everything ergonomic with great usability.
But as mentioned before, a redesign can also be a chance for a better usability, so i'm very interested in which direction the discussion here will go.
Just my 2ct.
prOSy
German Be User Group
Haiku Support Association
Re: Deskbar rewrite
I'm perplex to see so many people against the idea of stippi, which seem to me great, and they will bring haiku new users.
It's proven by history, that good ideas are always copied. Windows is copying from Apple, Linux and vice versa. The fact that nearly nobody copied the beos-deskbar is a good sign that it's not that perfect like a lot of people think. Atheos had once a similar deskbar, but after syllable forked syllable it was replaced. The UI of haiku makes an "old fashion" impression. I dont say that old is bad or good, but it's a fact, that most users these days prefer more modern UI (like Aero).
I think Haiku needs a facelift, to show that haiku is not copying/cloning beos. Haiku should be seen by potentinal new users as a modern OS on which additionally beos-apps can be run too.
Haiku doesn't have the capacity to develop something completely new and make a revolution, there the ideea of idee of stippi to try to coppy all good features from the best OS's and put them together.
Re: Deskbar rewrite
To put in my two cents, I'm also very much a fan of the top-right vertical Deskbar. The reasons have been stated already.
While it's undeniable that good ideas are copied, bad ideas are too. So the fact of copying doesn't necessarily result in a better solution. Let alone attracting new users. So, I'd say instead of copying the supposedly best ideas, being inspired by what's out there and adapting it to Haiku might be a better aproach.
Many of stippi's ideas are perfectly fine in a vertical Deskbar. The apps and prefs menu could be dug up and set between tray and running-apps-list, for example. Maybe icon-only with space for other custom folders.
I like the integration of LaunchBox by making stuff sticky. With Haiku apps' fast launch time, the difference of switching to a running program and starting it is blurred.
OTOH, Adrien's suggestion of breaking out of the app centric paradigm to a more document/project based approach could be even nicer. It would also set Haiku appart from other mainstream systems. Which could be considered a pro or a con...
Together with some session management and use of project-related workspaces this may be a really fresh idea (that will take getting used to, no doubt).
Regards,
Humdinger
Re: Deskbar rewrite
Nobody copied the beos-deskbar ?
... not so sure!
http://starsseed.free.fr/files/BeOs-like%20Deskbar.PNG
However, the Deskbar's position at the top-right of the screen becomes interesting only with the BeOS-like window tab caption.
I definitely like the way the Deskbar and the window tab caption work together to save screen space.
Re: Deskbar rewrite
While there are many ideas to like, there are also a lot of things that works against how things work on Haiku, or are at least targeted at a very limited usage:
Re: Deskbar rewrite
Probably the blog post didn't make it clear, but I didn't want to remove the possibility for the vertical placement. Since this is a touchy subject, almost all functionality could be optional as well.
One argument I don't agree with is that the DeskBar's location together with the Window tabs that don't go across the entire screen allow full screen windows to be used without covering up the Deskbar. It's true you can click the Deskbar leaf-menu, but you simply can't quickly switch to another app without first bringing the Deskbar to the front. Since that is, at least for me, the most often use-case, I would like to be able to optimize for it.
I also fully agree that somehow Haiku uses screen space more effectively. I also don't tend to use as many applications full screen. However there are many tasks where a fullscreen window is beneficial. Beam, WonderBrush. An IDE would probably benefit as well.
Re: Deskbar rewrite
For one thing I'd make the Deskbar signature indirect, and allow someone to override the default app by just changing the preferred app for that mime type. This would allow replacing Deskbar while still keeping the BDeskbar API for ex.
Re: Deskbar rewrite
This is a great initiative! I don't currently have access to GNOME or Mac OS X, but there are at least a few things I would like to voice my opinion on. While the DeskBar looks elegant at first glance, like you said, its placement is problematic once you try to make use of it. It could be either at the bottom or the top. Just don't do it the OS X/GNOME 2 way (one panel at the bottom AND another one at the top). I agree that applications should be seen as just icons, and the pinning feature in Windows 7 I think is great. When you include the title instead of just the icon, the entry gets too large. I'm not sure what you really mean when you say fullscreen. To me, fullscreen is when you only see the current application and nothing else (and the titlebar is also hidden). This is good for video and gaming. Then there is maximized, which basically makes the window occupy everything but the panel (Taskbar in Windows, DeskBar in Haiku). This is useful if you have a small screen or if the application needs a lot of space but you still want to switch between apps easily. I think both fullscreen and maximized modes need to be possible in Haiku without hassle. Fullscreen and maximized modes are fine in Windows.
Re: Deskbar rewrite
One simple change you could make now to improve usability would be to move applications and preferences to the top of the leaf menu. It seems bizarre to me that the two items people probably use the most are located at the bottom of the menu.
Another easy change would be, as you suggest, the ability to pin applications. I think most of us always have a web browser open, for example. So if I could pin that to the deskbar that would make a whole lot of sense, as it's an application I either have open or am about to open. Running applications could be differentiated from pinned applications by bolding the application title text.
Re: Deskbar rewrite
For the curious among you (who don't have access to MacOSX) this is a shameless plug for my BeDock application which is a hybrid launcher and deskbar (but only for the apps that are added to the dock) in that it indicates if an app is running meant to emulate the MacOSX dock. Files can be dragged onto a lancher/running app to open with the app. Hide/Close and minimize are there too.
In all, it is still a proof of concept, but if there is more interest I would consider making not only sit on the bottom of the screen but also the option to be on the sides (vertically like the Mac dock) of the screen.
It works with a lot of scripting commands using the hey utility.
It can be found here: http://haikuware.com/remository/view-details/utilities/desktop-accessori...
Another thing you can do is actually hide the real Haiku deskbar completely (but still access its menus using the context menu keyboard press).
I've even used this BarneyBar old BeOS app to get the effect of the MacOSX top panel (after hiding the Haiku deskbar using hey): http://www.bebits.com/app/3924
Re: Deskbar rewrite
I agree with most of your points. However, I dont like the idea of a horizontal deskbar or of just having icons without text. If you implement these features they should be optional I think. You can already have a horizontal deskbar, just drag it there. I also like the single button menu interface we already have (rather than places and settings seperately), but not the fact that you have to do multiple clicks to raise an application from the list.
The way I work is to have my applications full screen and, most of the time, stacked with one another. The deskbar sits at the same level as the window tabs, and is set to auto-raise, so when I drag my mouse to the top right corner to hover over it the rest of the deskbar appears and I can access the workspace switcher widget in the deskbar and the list of open applications. To me this is very easy and natural, and everything is always in the top right so I don't have to search along a long taskbar to find what I'm looking for. The only problem is that when you have enough programs stacked they will obscure the application launcher button of the deskbar, so auto-raising no-longer works. What I would like to see is a stack and tile feature that would prevent window tabs from spreading over the deskbar button when full-screened. Also a deskbar widget that minimises all windows/shows desktop would be nice.
Personally I don't find the launchbox useful. I think the ability to pin applications to always be in the deskbar list would be useful, as long as there is a clear indication of whether they are currently running or not.
Anyway, just my 2 cent.
Re: Deskbar rewrite
I have a forum post from waaay back in 2006
https://www.haiku-os.org/community/forum/new_r2_deskbar_mockup
that shows something like this:
Horizontal version:
Vertical version.
These were pre windows 7, so very forward thinking, and were based on the way MacOS X was doing things at the time, but more haikuified