Desktop usability

Sunday, 18 February 2007, michuk

Elegant and always green “Start” button in the bottom-left corner opening a huge menu with all the possible applications. Internet Explorer and Outlook Express icons next to it, on the right. Trash can icon on your desktop together with the “My Computer” and “My Documents” icons. Why the hell do I have to call them my documents when they are mainly my company’s papers, anyway?


Default Windows XP desktop with slight modifications

Pic 1. Default Windows XP desktop
with slight modifications


A sample GNU/Linux desktop, KDE in Kubuntu Breezy

Pic 2. A sample GNU/Linux desktop
– KDE in Kubuntu Breezy

Haven’t you noticed that your desktop looks exactly the same as the desktop of your neighbor, your mother and your best mate? Now, do you think that you and your neighbors (or family members, lovers, friends, enemies) use your computers in exactly same way, posses similar IT knowledge and have identical computing needs? It’s likely that all three answers are “No”. If so, why is it that the only difference between your desktops is the wallpaper image and maybe a few icons? Why do you have to click “Start” in order to finish your work and press ALT+TAB to switch between running apps? Are those solutions really so great that there is no room for alternatives?

The Windows desktop is a real masterpiece, no joking here. Lots of people worked hard to make it as universal as possible. So, it may actually work fine for your boss and your uncle who just need one button to enter the Internet and check their mailbox. But, does it work for you and your specific needs, really? Well, if you don’t know anything else, you may think it’s “just fine”, no reason to change. However the first time you taste something different (like KDE or FVWM), you’ll see how restrictive and unconfigurable your previous solution has been.

Window manager, what kind of animal is that?

If you’re a life-time Windows user you probably never heard the term window manager on desktop environment. It’s not a surprise since MS Windows supports only one of them (which is built in) and it’s really troublesome to install and use an alternative one. Basically, window manager is this little and invisible program which takes care of such things as showing, moving and resizing the windows of the running apps. A desktop environment consists of a window manager but it supplies much more functionality, like menus, icons, toolbars, clipboard and more. In GNU/Linux there are at least three full-featured desktop environments to choose from (KDE, Gnome and XFCE) and plenty of window managers. Each one of them is nice in its own way. Some promote minimalism for better robustness (domain of simple managers like WindowMaker, Fluxbox or IceWM), some go for fancy looks and great functionality (KDE), other choose the usability as their main goal (mostly Gnome). XCFE, EDE or FVWM combine those three. The good news is that whatever you choose (yes, you have to make the choice), you can always switch later on without the need to reinstall anything or import your settings from the former one.
It would take another article to list all the nice features provided by the window managers and environments available for GNU/Linux. If you are interested in details, visit a webpage like XWinMan.org where the list of managers with features and screenshots is presented. Some information concerning the major desktops is also available on our vortal in the article Desktop environments in GNU/Linux.

Virtual desktops


Virtual desktops in Gnome

Pic 3. Virtual desktops in Gnome

Virtual desktops in FVWM-Crystal

Pic 4. Virtual desktops in FVWM-Crystal

Usually when working with multiple documents and applications at a time, we lose control over our desktop very quickly. Which of the minimized windows is the website we are interested in and which one is our e-mail client? Why is it necessary to always remember the order the windows (when using ALT+TAB), even if we just have three apps to switch between.

Virtual desktops make it possible to arrange our desktop apps in a way that is easy for us to manage. It also practically eliminates the need to minimize windows. The idea is simple – we have not one but many desktops. We can switch between them using a key shortcut (like ALT+1 for the first desktop, ALT+2 for the second one, etc) as well as a mouse click on a thumbnail of the selected desktop. On each desktop, we may have multiple windows with applications running. When working with virtual desktops, each desktop’s thumbnail is shown in the desktop panel making it easy to remember which apps are running on which desktop (the apps icons help considerably here). This approach has proved to make my own desktop cleaner and easier to manage.

Example

Here is an example of every-day usage of virtual desktops. We may start with using just four desktops (I personally prefer six, but that’s the matter of choice). The first one is mainly for Internet browsing. A few windows are open with a lot of webpages in tabs. The browser is always on top so it’s easy to access. The second is for instant messenging. Skype and Psi are open there (showing their contact lists) together with a couple of currently open chat windows. The third one is for e-mail. We can have our favorite e-mail client (like Thunderbird or Evolution) running constantly and checking for new messages there. The last, forth desktop is for OpenOffice Word Processor. We are just finishing our first article for polishlinux.org there :) . Now, we only need one easy-to-remember key binding to switch from writing the article to the web browser (ALT+1). If we want to consult the article with someone, we can switch to desktop 2 (ALT+2) and start a voice conversation on Skype or a regular one on Jabber. New e-mails are always waiting for us on desktop 3 (ALT+3).

Of course, this kind of work requires getting used to. But, after a week of using virtual desktops you won’t be able to use anything else. The efficiency gains of this approach are considerable (especially if we often run multiple apps at a time). So, one could finally say: this is the end of the great mess on the desktop! Well, actually hardly so. The described method – known in GNU/Linux for a very long time – doesn’t apply for MS Windows. Although there exist multiple third party implementations of the virtual desktop paradigm for Windows, none of them is usable enough to compare with the generic GNU/Linux X window system feature. The most usable of those apps (and I have tested over 20 of them) is the open source Virtual Dimension. It’s buggy (crashes every few days), sometimes unpredictable (some windows like to get attached to multiple desktops at a time making the virtual desktops useless), ugly (doesn’t integrate with the desktop well, no real-time thumbnails of desktops) and slow (switching between desktops is a few times slower than in GNU/Linux), but it’s still a recommended solution to work around the Windows desktop disabilities and avoid the continuous mess most people fight with on their Windows desktops every day.

Update: A few people mentioned the MSVDM app (Microsoft way of handling virtual desktops). Be sure that I have tested it, as well as many other virtual desktop solutions for MS Windows before writing this section. All I can say about MSVDM is that it’s lacking some key features (live desktop thumbnails straight in the applet, configurable number of desktops – it’s set to 4 and it cannot be changed) which make it unusable for me. If you don’t need those features, it can be a good start for you, though.

Window focus

The window focus denotes which of the windows is currently active (the one we can e.g. type in). In most operating systems and their window managers the default is: the active window goes on top of others. This approach seems natural and reasonable. But it’s not a convenient solution in all cases (and for all users). Let’s consider the following example. We are reading some article on the Internet and at the same time, we are talking with a friend on Jabber. Now, when we click on the browser window, it goes on top and the window with our conversation disappears beneath it. This behavior is really distracting and even frustrating when we tend to chat a lot. It’s also a very common situation for many users. The simple solution is setting the focus-on-mouse-over option. This will force the window manager to activate the windows (without putting them it in front of others) when a mouse cursor is moved over them. In such case the conversation window doesn’t disappear, but only loses focus. We can continue reading the article (as well as scroll it, send some online forms, enter form data, etc), while at the same time, see the conversation window on top of it.


Window focus in FVWM-Crystal

Pic 5. Window focus
in FVWM-Crystal

Another nice solution is the one introduced by the FVWM manager. It’s possible to configure this manager in a way that even a mouse click on a window does not automatically pass the focus to it. Instead, a mouse click on the window’s title or mouse click on the window while holding the ALT button does the job. It’s especially useful when we need some window on the top (like the chat window mentioned before) but use another app in a normal way at the same time (which involves using the main menu with a mouse click, opening dialogs, etc). The ALT+TAB combination can be then be set to switch the focus of the window only, without bringing it to front. At first this kind of behavior can be very inconvenient and clumsy, all due to old habits. However, after getting used to, it makes the computing a little bit less annoying. This feature is original to FVWM manager (update: You can also do this with kwin: Control Center -> Desktop -> Window Behavior and select “Click to focus” with the “Click raise active window” box unchecked), but it can be configured in all desktop environments as well (by setting FVWM as their WM). This is the power of Linux which has been built with extensibility in mind – the open source apps can work together and we can switch between different “engines” behind the desktop, without changing the desktop itself.

I’ll be boring: in Windows you cannot use any of these settings and even if the option exists (but is hidden) – like the focus-on-mouse-over thing – it’s still unusable for other reasons (*). Why is that? No idea, really.

(*) The first of the described solutions (focus-on-mouse-over) is actually available in Windows as well. We need to install an additional piece of software called Tweak UI (it’s one of the Microsoft’s Power Toys). Unfortunately, it fails to work for many programs (naming only Eclipse and Psi as examples) – for some reasons, several windows always stay on the bottom and we cannot read anything what’s there. The solution is though unusable.

Start menu

We click “Start” in order to run applications, view documents, configure the system, and even to shut it down. The little greeny button in the bottom left corner of our desktop has been our good friend for years now. But… is it really the best solution to have one button to do all the stuff? Wouldn’t it be better to type the name of the app we want to run in order to run it? It’s surely faster than going through 10 pull-down menus hoping they don’t suddenly disappear after an uncoordinated mouse gesture. And maybe we’d like to have a small menu with the commonly used apps instead, invoked with a left mouse click anywhere on the desktop? Or maybe a middle button would be better?

I personally don’t use the main menu almost at all. The only situation I do is when I simply cannot remember the name of the program I want to run (which is rather rare). Then I look it up in the menus under an appropriate section. In any other case, I use the Gnome’s deskbar applet which not only makes opening the apps easier, but also finds and opens the files and folders I currently work on in the Nautilus file manager (see Picture 6). It’s simpler, faster and more convenient. I can do it in Gnome, KDE, MacOS, FVWM, XFCE… everywhere, but not MS Windows. The “one button to rule them all” has a strong position there (**)

Update: It seems that the recently introduced Windows Desktop Search does a very similar job to Gnome’s deskbar applet (finding both apps, files, folder and web pages), so the point about lack of such tool in Windows became irrelevant (fortunately!).


Deskbar applet in Gnome

Pic 6. Deskbar applet in Gnome

I don’t want to say that the Start menu is bad. A similar approach has been adapted in Gnome, KDE and many other desktops so there needs to be something in it. I’m also not claiming that the Windows desktop is totally unusable or even inconvenient to use. Although I hate some of its solutions, it certainly works for most people pretty well. And actually here is the answer: it works for most people, but does it have to work for me as well? The great problem of Windows desktop is it’s coherence! You cannot change almost anything because the Microsoft product hasn’t been created for extensibility but for well-mastered defaults. It’s all about the choice, really. I may like the default look and feel but if I don’t, I want to be able to customize it for my needs. There were many things I wanted to have on my desktops and I could get them all in some form in GNU/Linux. In Windows I don’t have the choice, and this is actually the main problem with its desktop solution.

(**) Yes I know that Win+R shortcut shows a similar applet in which we can run some apps by entering its names (like “iexplore”). But did you check what happens when you type “firefox” there? Or “opera”? Or any other apps whose binary is not located in one of the Windows’ system folders? It just doesn’t work since the applet can run only those apps that are on the system search path (the %PATH% variable configurable in Control Panel). If we want to use it, we’d have to manually modify the system path each time we install an application. Quite convenient, isn’t it?

Subscribe to RSS feed for this article!

8 Comments

fold this thread Eric  Monday, 26 March 2007 o godz. 10:21 pm #  Add karma Subtract karma  +0

Launchy is an open source Windows application launcher that can easily be configured to search your program folders for executables.

(Comments wont nest below this level)
 
fold this thread Max  Saturday, 16 June 2007 o godz. 7:53 pm #  Add karma Subtract karma  +0

If you’re a liftime windows user you won’t have heard of Window Manager as that’s a Linux term. The Win32 alternative is “Shell”. The shell or launcher has been customisable and replaceable since the early days of 16-bit windows. The Win32 shell is explorer and is more customisable than you give credit for here. The first thing I always do is turn off the noddy XP-style start panel and revert it back to plain “vanilla” cascading menus. Many of the faults which one could attribute to Windows are really due to the developers trying to ape the Macintosh interface. (large icon views, hidden filetypes, etc.) Most good Win32 support guys turn all this “mac” stuff off as a matter of routine (detailed icon viess, show filetypes, show system files, etc.)

(Comments wont nest below this level)
 
fold this thread TweakMeister  Sunday, 8 July 2007 o godz. 6:39 pm #  Add karma Subtract karma  +1

Before switching to linux I have been quite happy using Litestep on Windows XP. It is not a ‘window manager’ in the true sense, rather a replacement of explorer.exe which controls the startmenu and desktop, but but it’s got virtual desktops, context menu and other handy tweakable stuff.

(Comments wont nest below this level)
 
fold this thread michuk  Sunday, 8 July 2007 o godz. 6:59 pm #  Add karma Subtract karma  +1

@TweakMeister: Yes, litestep is nice and I also have been using it when I had to use Windows in some occasions. But Litestep is a “hack” and thus it is not compatible with lots of Windows features (I had problems with docking in some situations, some programs behaved strangely, e.g. Psi). And it’s also not very elaborate. I can be compared with Fluxbox or XFCE more than KDE or GNOME. Still, a good choice for Windows users until KDE 4 comes in.

(Comments wont nest below this level)
 
fold this thread Xiong Chiamiov  Wednesday, 24 December 2008 o godz. 6:42 am #  Add karma Subtract karma  +1

If you’re going to talk about focus and window managers, I think you should mention tiling wms as well. That’s a big reason for me to not use either of the 2 big OSs any more.

And while on Windows, I used bbLean, which is an alternate shell based on Blackbox. As long as you replace Explorer with another file manager, it works fantastically (especially with ShellOn).

(Comments wont nest below this level)
 
fold this thread legion1978  Sunday, 1 February 2009 o godz. 7:59 pm #  Add karma Subtract karma  +0

Replacing windows shell (explorer) its the very first thing i do when i [re]install my windows machine. i cannot (well actually i can but it clips my wings ;) ) do without bblean+strokeit+shellenhancer, which provides most of the functionality of modern linux desktops…
virtual desktops, window shading, custom menus and gui (buttons, sliders and stuff), windos moving+resizing, alt-tab, mosaic tiling and a lot of stuff..
except for strokeit (mouse gestures) which so far has no equal in linux world.. kde is up to something like this but not even close yet afaik.
of fourse, no regular user knows this things (nobody tells them) and most of them has no need for it. which is why they are happy just where they are. the second u need some more.. youll be right out of windoze in the blink of an eye.

(Comments wont nest below this level)
 
fold this thread Al  Wednesday, 10 February 2010 o godz. 2:47 am #  Add karma Subtract karma  +0

With windows 7 it will run any app with Win+R (atleast i think). I tryed it with fire fox

(Comments wont nest below this level)
 
fold this thread vince  Thursday, 18 February 2010 o godz. 11:30 pm #  Add karma Subtract karma  +0

how do u make the search box in deskbar to stick in the panel. all i have is an icon that i click, the a search bar opens bellow. I want to have the search bar IN my gnome panel

(Comments wont nest below this level)
 
Name (required)
E-mail (required - never shown publicly)
URI

Adjust field size: shrink | enlarge)


You can use simple HTML in your comments. Some examples are as follows:
  • A hyperlink: <a href="polishlinux.org">GNU/Linux for everyone!</a>,
  • Strong text: <strong>Strong text</strong>,
  • Italic text: <em>italic text</em>,
  • Strike: <strike>strike</strike>,
  • Code: <code>printf("hello world");</code>,
  • Block quote: <blockquote>Block quote</blockquote>