Scrolling vs. pointing

Scrolling is one of the most common operations in most user interfaces, so it's not surprising that we have special hardware for it. Scrollwheels (and trackballs, the two-dimensional equivalent) are now common on mice, and on some other devices such as Blackberries. But this is a fairly recent phenomenon. Fifteen years ago, almost nobody had hardware for scrolling.

This is significant because it affects user interface design. We're accustomed to having dedicated pointing devices, and consequently our designs assume that pointing is easy. (And when this assumption is wrong, as it usually is on laptops, our interfaces can become quite clunky.) But we're still getting used to having dedicated scrolling hardware, so we design as though we didn't. We waste screen space on scrollbars, even though users rarely use them. (I only use mine when my scroll ball is gummed up.) We try to avoid having to scroll, because we think it's cumbersome. (And it still is, even with hardware, but it's not quite as bad as we're accustomed to.) We eschew spatial navigation in favor of more abstract interfaces, because we don't expect to have a good way to express movement in space.

Standard scrollwheels do have some annoying problems: their quantum is large, so it's impossible to scroll slowly or smoothly with them. This could be overcome with small changes to the hardware, or entirely in software by smoothing the scrolling. And they require repetitive movements to scroll long distances, which may be an RSI risk. Maybe something like a joystick would be better.

Any interface designer knows to optimize the most common operations, and we should remember that one way to do this is to use what the hardware gives us. If scrolling can be expressed only clumsily, via pointing, we should minimize it. Now that we have hardware for it, shouldn't we exploit it?


  1. Scrollbars aren't totally useless, they can give you an indicator as to your position in a document. It's common in timeline-based document editors (Audio and Video, mostly) to have the edges of the scroll widget be the zoom control too. Often the scroll area will also contain a fully-zoomed out view of the timeline to help you find your place.

    However, in a view that represents neither a document nor tabular data, they serve no purpose. Case in point: Terminal Emulators — I always disable them there.

  2. I almost said something about this, but thought no one would care... You can get the position indicator in much less space than a whole scrollbar. Scrollbars need to be big enough to click, so their thumbs are pretty low-contrast to not be distracting, but a higher-contrast thumb could be just as visible at only a few pixels wide. So it could just be a part of the window frame, like Squeak's "dirty" indicator - its text areas get a 1-pixel red border if they have unsaved changes. This works great, and is somehow conspicuous and unobtrusive at the same time - how every UI feature should be.

    Clickability takes space, and so does symbolic data like text. But a lot of data can be encoded in colors or on top of something else. (Which reminds me of another use of scrollbars: XCode puts error indicators in scrollbars to help you find the right lines faster. This might not work so well on a thinner bar.)

  3. If you're looking for a piece of hardware that really nails both tiny and massive increment scrolling, the Logitech VX Nano has the nicest scroll wheel I've ever used (at least with the Mac drivers).

    Instead of pushing in on the scrollwheel being interpreted as a middle-click, it actually toggles between a standard scrollwheel feel (little stops, scroll 3 lines per stop) to a free wheel that lets you scroll as little or as much as you want. The toggle itself feels a little like clicking a ballpoint pen, I assume there's a mechanical change taking place inside the device. The wheel even has a little weight to it, so a good flick can get you a few pages of scroll inertia.

  4. The important use case for scrollbars, besides "Where am I?" is paging a document with the mouse. PgUp and PgDn just don't always cut it, though I wouldn't want to be without them either (as on Plan 9).


It's OK to comment on old posts.