Tuesday, September 6. 2005Fitts' Corners
Edited the day after to be (hopefully) more clear and less mundane!
Procrastination led me to this article: Top 8 Reasons HCI is in its Stone-age. Among other things he asks: Why do modern Desktop Environments not exploit Fitts' Law? One of the implications of Fitts' law is that there are five spots on a mouse-operated display that are easiest to target, the four screen-corners and the spot directly under the cursor. A default KDE setup with a maximised window has clickable widgets that respond to corner clicks. The K-Menu, the window-menu, the window-close button and the clock. Windows is the same. GNOME is debatably even better as all four corners always have something useful in them. But we could still make more use of the corners, they are after all extremely easy to hit. So why don't the desktops have behavior associated with simply moving the mouse into the screen corners? In my opinion, it's because they are the easiest spots to hit with the mouse. Setup your OSX box to trigger Expose when you move the mouse to a corner. Now count how many times during the day you nudge the mouse into the corner and trigger Expose by accident. It's very useful to be able to easily trigger Expose, but it's very annoying to be able to easily trigger Expose. The annoyance is such that I would definitely argue against inflicting such behavior on people by default. Apple apparently agree with me, by default you can only activate Expose with the F12 key. Being Less AnnoyingLaunching a Konqueror instance, or KMail or doing something drastic like Expose would be annoying if done by accident. The new Windows would probably get in the way of what you were doing and Expose loses window focus and totally changes the screen contents. We want something that doesn't interfere with what the user was doing, but still is useful enough that we are making more use of the corners. How about non-intrusive, inactive windows that appear from the screen corners? They could show a calendar, or the weather for this afternoon, or your CPU temperature. Well, maybe, but we can't show this passive-window in the same corner, or it would get in the way of the close button, or the K-Menu. So perhaps show the passive window in the horizontally opposite corner? Yeah I think that would perhaps be quite fun. But this is hardly a revolutionary feature. The corners are the easiest spots to target on the desktop - you can hit them without looking at the screen! Yet, so far, my only suggestion that is both useful and not annoying belongs in the KToys module. Better Uses For Hot-CornersIt seems to me we should trigger a really frequent task when the mouse hovers over a "hot-corner". For instance: "Copy text to clipboard". With some visual feedback, (perhaps Klipper shows a little non-intrusive popup that confirms the copy has occurred), this could be a nice feature. But then again would the high rate of accidental activation just make it irritating? I get irritated already when I lose my middle-click clipboard contents because I accidently selected some other text. On the other hand I continue to use middle-click paste because it is so convenient despite its drawbacks. And even though the screen corners are mouse magnets, you don't often have text selected, so triggering the feature accidentally would be less common. If the Klipper notification had a button in it labeled "Revert to '((previous content))'", perhaps we would make accidental activation less annoying? Perhaps I've got you thinking that I'm on to something. But generally when you want to copy some text, you've been typing, and having to move your hands from the keyboard to the mouse is bad ergonomics. But my idea would still work for copying a chunk of text from a web-page to the google-search-bar, etc. Perhaps the same corner could trigger paste if no text is selected. Lets say we made the bottom right corner do this. We could even put the klipper applet in that corner to make the association more logical. But now imagine moving the mouse towards that corner with the intention of right clicking whatever applet is in the Kicker there. Can we imagine yourself getting more and more nervous as you realise you are getting closer and closer to the "hot-corner"? This is what makes me unhappy with the entire concept of just moving the mouse into a corner to trigger some function. I don't think it's a good idea to make users feel restricted about how they move the mouse! But still I'd like to try out this copy/paste idea. Select text, hit corner, click paste location, hit corner. Quick and easy! Perhaps with practice I'd even learn not to accidentally trigger it. But I'm not convinced that hot-corners are a good feature for Desktops. I'm not surprised that hot-corners are not a default feature of most Desktop Environments. ScrollbarsChanging topic slightly, there is one very important area KDE should take note of Fitts' law. Right hand edge scrollbars. OSX and Firefox do it properly - if the window is maximised or aligned with the right hand screen edge, you should be able to use the scrollbar with the mouse from the right hand screen edge. The problem for KDE is Qt. QScrollView puts the scrollbar inside a QFrame with a 3-4px margin, so there is always a slight margin between the screen edge and the QScrollBar widget. You can set the QScrollView to be frameless and remove the margin, and this is something I would like to see happen with most applications. The problem is that the frame is often an important visual separator. Certainly with amaroK I think our interface would look a lot more cluttered without the frame. Maybe we need a three-sided frame? Or just a divider top and bottom. Times Expose accidently triggered while writing this post: 3 And twice more during subsequent edits! Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
You're right that things randomly happening when you move your cursor to a corner would be mighty annoying, and shouldn't be enabled by default. (Why it took this many words to say, though, is beyond me
I don't see what the problem with having to click is, however. *Nothing*, with the exception of tooltips and the like, happens without clicking (nor should it). And when the close button is right in the corner, I don't see why it would be at all hard to realize clicking in the corner will work... in fact, I suspect flicking the mouse into the corner is the natural reaction, and it's the click /not/ working which would be highly unintuitive.
I'm talking about empty corners, not corners that have obvious clickable widgets in. Thus it isn't obvious that you need to click anything, thus the problem.
I don't really think you understood what I was saying. Which is probably due to it being too verbose.
ah, I see.
I still think we shouldn't do anything (by default) in empty corners (principle of least surprise, and all), and just put widgets in them if we want to.
I'm reminded of the AfterDark screensaver for MacOS back in the day, the screensaver could be activated when the mouse was placed in the corner of the screen and left there for a predefined amount of time. perhaps this is an answer to the problem of accidentally activating expose.
"For instance, how about resizing the top-right corner of a window when the window is in the top-right of the screen?"
Well, use the ALT-key. Since I found out it's possible to resize windows with a modifier key, I did not klick any window border.. It also makes it possible to move all window borders out of the screen! Great, isn't it?
Yes, I know this behavior. Please read my section on hidden behavior. You can't make something impossible to do by established means and then justify doing it because there's a secret other way to do it!
But yeah I use ALT-right click to resize windows most of the time. Too handy. It makes resizing easy because you're using the 5th Fitts' target, ie, under the cursor.
The best would be to have a corner + click combination (like K-meny, start meny for windows, close button on the top tight.) I personally have an extra auto-hide (0 seconds) toolbar on the top left of my screen with just the show desktop buttom. This enables me to easy access the desktop without accidentally do it.
If you read the comments on the original Juicability post, someone points out that GNOME currently uses all four corners well:
TL: "Applications" menu TR: Clock/Applets BL: Show Desktop BR: Trash / Pager --this struck me as clever because it's merely an issue of Good Defaults (in this case, panel layout) and not of inventing exotic new widgets or metaphors. The "the close button lives in the TR corner" argument is an OK one, but only for some users. If your screen is larger than 17" or so, maximizing a window usually makes it too big. Just my $0.02.
>The "the close button lives in the TR corner" argument
>is an OK one, but only for some users. If your screen >is larger than 17" or so... Perhaps you meant "but only for MOST users." Go into the real world and start counting the ratio of 17" or less monitors to >17" monitors, and I think you'll find it's quite high. I would dearly love more themes in GNOME to have the close button extend to the top right corner when maximized. Resizing from the top-right seems a much less common task than closing a window.
My desktop is already larger than 1600x1200. Dont you dare make me move my mouse cursor all the way to the corner
Re: Screensaver / lock: How often do you point the mouse somewhere and then let go? The tension on the cable then moves it somewhere else. Even cordless mice are very touchy. Use a keyboard combination I agree.
I don't think most people have a mouse cord tension problem. Sounds like you should increase your mouse sensitivity and give your wrist a break!
Indeed, I have a dual monitor setup. 3200x1200 and no amount of mouse sensitivity will get it to either edge (and stay there) while still allowing pixel-perfect control for day-to-day activities. It gets worse if you think about stock traders and their uber 4 lcd square setups.
If I need to move the cursor great distances left/right, I use the mouse like a hockey puck. I just bounce the puck between my thumb and ring finger without bending or twisting my wrist at all.
Thanks you for bringing up the obvious.
I disagree with Fitts law. There are three mechanical movements with the mouse. Fingers (more than one of course), wrist bend and arm. To get to the corners requires arm movements. This is difficult. Setting the mouse to a sensitivity that I can work with requires lifting the mouse, ie two sweeps of the arm to get to the corner. You need a wide target to have this movement useful because it is imprecise. Wrist movements are more precise, and more limited in movement. Bunching mouse targets makes sense, on my setup I can move easily around 1/3 of the area of the desktop. Fingers are most dexterous. Many buttons with many operations works well here. Using a mouse is a learned behaviour, so why not have a system to learn that makes sense to the mechanics of mouse use? My experience with OSX is that it requires many precise mouse movements and doesn't (by default) take advantage of finger dexterity. I find it very frustrating to use for that reason. And as mentioned they don't use Fitts law either because it doesn't work. Good idea but useless :} Derek
Yo Derek.
Your comment suggests you agree rather than disagree with the implications of Fitts' law. You say it is easy to hit the corners, they are a wide target, which is one of the things Fitts' law concludes. Do you mean that you disagree that it's a good idea to exploit Fitts' law? Because you say it is too much distance to travel to get to the edges and this overrides the fact the targets are easy? You have a point, although I don't agree this is necessarily the case for all users.
And the golden answer is.....
Mouse gestures. Yeah. Combination of Fitt's area No. 5 and miniscule movements. Easily able to provide access to up to, say, 10 actions without too much magic wand like swinging. Blindly. Genius.
Sorry I have to leave another comment.
I actually would use none of the features you described. moving the mouse to copy text is pretty exhausting. I also would rather use a keyboard shortcut than a mouse movement to activate the screensaver. Also (vertical) scrollbars are of no use for me, as I have a wheel mouse. I actually try to avoid mouse movement as far as possible, as after a long day my wrists really hurt (for example after a Gimp session). But I just remembered, that I use the upper screen border to display a panel which shows the free diskspace (using the Free Disk Space applet). This is similar to what Martin describes. But I don't hide the panel, but make it non intrusive (I mean, it stay behind windows - it actually behaves like a normal window). I was pretty happy when I found out, that this is possible with KDE! With several panels you can exploit the implications of Fitts' laws already very well. Unfortunately by now it is only possible to use panels (which allows some point-and-click actions. But maybe a generic solution for KDE would be nice (like starting applications, showing/hiding windows, kompose, etc.)
"why don't any major Desktop Environments exploit the screen corners?"
Because the major desktop environments have relied on more complex, precise user behaviors in the past, and thus can't switch now. The reason that it's annoying to be able to easily trigger Expose is that you are so accustomed to not having any activity attached to this behavior you have to unlearn this particular freedom. If you want to use Fitt's law to your advantage in new desktop environments, you have to pick a behavior which people don't already assume does nothing. For example, you could experiment with "kicking" a corner with the mouse cursor (no click) or having a non-rectangular navigational region (so you can get the mouse up into little ears of functionality inside the corners). I'm sorry you have to do this. Blame the GUI designers that came before us, who were rushed by management to produce bad interfaces. We have not only inherited their ideas, but their ill-trained users.
It's not a "freedom" it's just a matter of that where my mouse ends up a lot. I could learn to be really restricted in how I use my mouse, but firstly this doesn't sound like a good way to make people feel when using KDE, and secondly, I'll still quite often accidentally trigger the corners.
You are frankly, being idealist and not realistic.
Imagine that you were using a computer for the first time, and that the system in front of you had such an affordance created for the four corners.
I'd argue that you would automatically become accustomed to using the corners, and that you would very rarely "accidentally" hit them. Obviously this is a very difficult experiment to actually conduct (because you'd have to find first-time users) and even if such a feature were implemented, it only might be useful for these first time users. It certainly would annoy us, as was argued in the original post. So it's not really an option. My point is that the reason desktop environments do not take advantage of Fitts' law is not because it wouldn't make a good affordance. It's because people are already so accustomed to their mouse ending up on the corners of the screen with no effect, they would find such a feature annoying. I think this is a critical difference between the original assertion that exploing Fitt's law is inheretly "annoying" and my claim that doing so is only annoying because we've already been trained to believe that corners don't do anything. I hope this clarifies my position.
I agree with your hypothesis, Robby. If one were not conditioned to being sloppy around screen corners (as I argue most are), it is conceivable that one could practically have the corners activate certain features without explicit mouseclicks.
Having thought about it, I do agree if GUIs had always been this way we'd all be making less accidental trips to the corners with the mouse.
But I also feel that unless some precautions were taken, like the anti-annoyance stuff I mentioned above, then we would feel restricted in how we used the mouse. Just like we feel restricted in screen-real-estate because monitors are always too small. Some things are easier when learnt, but some things that are learnt are still annoying unless they are designed with foresight. Having read your first response again, I realise you have some excellent ideas there. The ear and kick ideas are fabulous and it would rock if we could make use of them
Talking about triggering the screensaver in KDE with a combination key, that's already possible and I actually do it every day. Just press Ctrl+Alt+L and you'll screen will be locked
Re: Scrollbars--No no no. Keep all the borders. Just extend the actual "reach" of the mouse when on the right border so that it still behaves as if over the scroll bar. I know it sounds counter-intuitive, it would combine the clean look of a solid border with the functionality of an easily accessible scrollbar...
Yeah would be good if it could be done, but I think it may well be too hard to implement. I've thought of this solution in the past too, I just don't think it's possible in a maintainable way.
I have been wanting to respond, because whenever I see this debate come up I fell myself getting quite annoyed, and I don't know why. The trouble is, I don't think I have anything useful to say.
The best I can come up with to explain my reaction is that I bristle at the thought of someone deciding for me what the best way for me to use my computer is, and only letting me do it a certain way. I find that level of arrogance to be somewhat off-putting. But that's just me.
Nobody is telling you how to use your computer. I just was discussing how we could make better use of the screen corners. Did you read someone else's post and comment to the wrong one?
Oh yeah, I was just making a general comment about this debate, not replying to your comments. Actually, I agree with a lot of what you say about annoyances.
It's the ensuing discussion that usually gets my Irish up, for no rational reason that I can think of.
Heh, I see now. And I can relate to you getting angry with how these discussions can go as I get the same way sometimes. I've found the comments here quite fruitful though. In fact I've only a few hours ago come up with a sweet idea that I want to try out, and the comments led me to think of it.
Just a note on the clipboard:
A solution to the accidentally-copied text problem is to turn the clipboard into an array, and then provide more useful paste functions and shortcuts (such as "Paste Special" and "Paste From" keyboard shortcuts). The array idea has been tried with later implementations of Microsoft Office, but it is not very accessible in that implementation, in my opinion. The "copying over previous clipboard" problem, as you pointed out, already exists, and it is time we started treating the clipboard in a far less volalite manner. In the physical world, we don't throw away one sticky or telephone message as soon as we write down a fresh one. The clipboard needs to evolve into its own concept of mind-mapping and brief record-keeping. We need to rethink the concept of information transfer altogether. The convention of a hidden space in memory is antiquated, really little more than a kludge to get text from one document to another. Our UI needs to understand that we are transferring data between documents more than ever, and needs to allow us to do it far more intuitively. Examples: Select text, drag it out of the document - it then appears as a translucent "sticky note" that we can access from anywhere - it doesn't go away until intentionally "trashed." Provide an easily accessible "basket," or area for dropping text snippets or images (or even entire files), which can then be retrieved at any time. At the very least, provide a "clipboard browser" to see what data is currently in the clipboard. This has been done by some, but not often enough.
Um, KDE has done all of that for as long as I've been using linux. > 4 years.
|
Amarok LinksCalendar
QuicksearchCategoriesSyndicate This BlogBlog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||

