Slashdot Mirror


On the Widespread Misuse of the Mouse

An anonymous reader writes "Recently launched blog "The New Interface Advocate," has an entry about how mice are being applied to situations they are intrinsically poorly suited for. It also has an interesting proposal for how to keep most of the current paradigm of GUIs and still take advantage of the other control devices, such as the keyboard."

4 of 405 comments (clear)

  1. Article Text by an.echte.trilingue · · Score: 4, Informative
    I had no problems reading it, but since you can't seem to get to it, here is the text:

    Now, I am by no means hoping to abolish the mouse. Its price to performance ratio is unmatched, and the best alternative pointing device (the tablet) can't be found for much less than an order of magnitude greater expense: hard to justify for the relatively small performance edge it offers. What I do wish to decry is the enormous reliance on the mouse to cover every possible user interface situation, failing to take advantage of other, better designs. Years of lazy design and low opinions of the user's desire (even ability) to learn have left us with a constant testing of Fitts' Law for such trivial tasks as saving, broken paradigms (what about a real-world button relates to replacing an old document irrevocably with the current one?), and a user experience that is more patronizing than productive.

    Let's start with a few key ideas about interface devices. The keyboard is quantized (that is, it consists of discrete units of input, like a piano's notes), while the mouse is continuous (its input ranges without breaks across the entire screen, like the strings of a violin which cover every possible pitch in their range).

    Now, think about the actions you perform on your computer in a given day. You type, save, open, close, select, resize, navigate, refresh, cancel, approve, and perform scores of other actions.

    Now divide the tasks into groups. Which ones consist of discrete actions, and which require fine, continuous control? I'll be generous (and rude to my fellow console text editors--I know vi/emacs can both comfortably rely on keyboard input only) and say text selection and input positioning, color selection, drawing, and most (spatial) navigation is most naturally, perhaps even most effectively, performed with a continuous input device such as a mouse.

    Now, for the discrete actions: type, save, open, close, refresh, cancel, approve, and most of the other basic actions. In fact, I'd say many users could count scores of daily activities that are discrete, whereas breaking a dozen continuous actions would be a challenge. (Let's put aside all window management like switching between windows, resizing them, moving them, and so on. These mostly seem continuous but I'll explain in a later post why they're usually not.)

    Now, which of those actions are new users taught to do with the discrete input device? Typing.

    Now, advanced users have memorized ways to do a large fraction of (or, if they're fanatical, all) discrete actions with their discrete-input device. If you're looking for evidence of the superiority of a keyboard over a mouse in most situations, look at these users. There is a strong correlation between how much time a person uses computers (especially professionally) and how much they switch away from the mouse whenever readily possible. I challenge you to find a hundredth as many IT professionals who prefer the mouse as who prefer the keyboard when either will perform a given action.

    Further advantage of a keyboard over the mouse lies in "muscle memory." (For those who might not be familiar with the term, it's the re-enforced skill of repeated actions--and the reason we can speak, write, type, and a host of other skills, without having to consciously perform every muscle contraction in careful coordination.) This, however, isn't because it's quantized, but rather because our position on the keyboard is generally absolute, whereas whenever we grab the mouse the cursor could be anywhere. In fact, there are only five pixels we can hit with our eyes closed--the one we're on plus the four corners. That's less than 1/150,000th of the median computer screen's real estate that can be associated with muscle memory. The keyboard, on the other hand, can be entirely memorized (or close to it) in the course of general computer use. With combinations of control, alt, and shift, and even the more modestly skilled typists have literally hundreds of key combinat

    --
    weirdest thing I ever saw: scientology advertising on slashdot.
  2. CoralCache links by Toffins · · Score: 4, Informative
  3. Article Text, part 2 by an.echte.trilingue · · Score: 4, Informative
    And this is part 2:

    Since I said the mouse needed to be seriously re-examined as the primary device for interacting with the user-interface (see my previous entry), it's only fair that I give an example of a better way to do it. In this entry I explore one possible way to minimally change the interface to almost remove the mouse entirely, without increasing the difficulty of learning how to use software.

    (Note: Click on Images for a full-size view.) Original OOo Screenshot (Here we have an unaltered screenshot of the experimental subject.)

    First step: rip out essentially all of the traditional controls. That means drop-downs, buttons, and menus. Notable exceptions include the scroll bars and status bar (both of which provide excellent and frequently needed feedback like what the open file is, and where in the document the user is). Also, I'm going to take some liberties with the status bar to pull out some of the more cryptic (and rarely referenced) information in favor of somewhat more relevant data.

    Original OOo Screenshot (The closest thing to a decapitation of an application you'll see.)

    Second step: sit a user down (possibly with a close supply of anti-anxiety medication for those less comfortable with change), and tell them that if they want to "Control" the application, they need to press the "Control" key (great name for that key, huh?). When they do, overlay the application window with something like the following:

    Design proposal for mouseless GUI (Okay, so I'm not a graphic designer, but I bet there are a few around who could pretty this up.)

    Notes on the sketch: (1) Yes, this is a lot few functions than OpenOffice writer has. I'm just trying to present proof that all the icons and the most used part of the menu can readily be represented this way. Comprehensive feature lists are better represented by my menu-replacement sketch below. However, the idea is that that should be rarely needed. If it's used with any frequency, the application designer anticipated the user needs poorly. (2) I know some of the key-bindings are less than intuitive. I blame the 3am restarting of the whole design thanks to a bug that trashed my last design (followed by the same bug killing it a second time at 6am).

    Now, there are some subtleties to the design. First, there could be two ways to access the dialog--tapping control, alt, or whatever could toggle the reference screen on until the modifier is tapped again, or, if the user holds down one of those modifiers, the reference screen disappears as soon as it's released. This makes the use of the control key much more accessible for those of us who haven't moved it from it's instant-carpel-tunnel-inducing location at the very edge of what an average-sized hand can reach.

    Next, commands can be put in bold if they've been used recently. (The definition of "recently" was the subject of extensive debate when I was working with highlighting recently changed items in my last project. I'll leave "recent" undefined for lack of true resolution of that question for me.) Microsoft's "adaptive" menu system (also known as "Help! Where did half my menu go?") tries to address the same problem of adapting to user's usage patterns. This, however, is a much better way to speed finding of common commands. It doesn't shuffle items around or hide them, (both of which confound the user's ability to memorize the interface and wreaks havoc on users trying to use someone else's copy of a program).

    Now, imagine the user's thought sequence as they try to enter a command. "Hm. I need to save. Hit 'Control,' save... ah, 's.'" Imagine that a few dozen times, and it starts to sound a lot like studying flashcards. For free, just by using the interface! Within weeks (assuming fairly sporadic usage), a user has memorized the shortcuts to all their common commands, obviating even looking as they execute them. Daily users could be fully proficient in even uncommonly-used combinations within days, with the pop-up

    --
    weirdest thing I ever saw: scientology advertising on slashdot.
  4. Programming.... by eggoeater · · Score: 4, Informative

    ...about how mice are being applied to situations they are intrinsically poorly suited for.
    Yeah, like computer programming.
    I deal with a lot of different vendor products used for call routing and IVR applications. One thing that's happened over the past 10 years is the move from text scripts to proprietary GUI based programming tools. I'm talking drag-n-drop blocks that perform specific functions which "hook" together by dragging lines between them.

    Generally, this is to make configuring the systems more accessible to people not properly trained (or trained at ALL) in programming. ie. They're suppose to be good for writing error-free scripts. Unfortunately, these poor tools in no way reduce the number of bugs that find their way into the system.

    Additionally, they also have the following draw-backs:
    * Absolutely no error handling (try, catch, etc.)
    * No way to program function calls....once you choose a path, there's no going back...this results in TONS of duplicate code.
    * No way to know exactly what those blocks are doing under-the-hood.
    * You're limited by the functionality of the blocks provided by the vendor.
    * Many difficulties with source-control systems and build-and-release procedures.
    * Don't even get me started on what it's like to debug with these stupid things....

    Just this morning I was paged at 5:45am because someone made a change to a script. It took me an hour to find the problem because I had to zoom in and out, trying to get a feel of the layout, looking a block properties to see what's changed, etc. It turned out the lines connecting the day-of-the-week block were set correctly: they had the Monday line connected to Sunday's code.

    Talk about a fubar'd system.
    They should be outlawed.