I don't like smooth scrolling

December 9, 2007

Courtesy of upgrading my home machine to Fedora 8 and getting a new version of liferea in the bargain, I have been reminded of something: I really don't like applications that do smooth scrolling.

While I could pick specific nits, I suspect that a good part of this comes down to metaphor choices; I tend to think of scrolling as a 'turn the page' action, for which the closest computer equivalent is just immediately replacing the text with no fancy effects (although I want a line or two of context, which you can't get with physical objects). People with different metaphors probably would find the page turning approach irritating and a good way to lose their context.

(And it's true that my way has a big jump between scrolling a bit, with cursor keys or a scroll wheel or gestures, and scrolling a lot with page down/page up keys.)

Unfortunately, since smooth scrolling by default is so prevalent, I suspect that there are solid human factors reasons for it and thus that I am going to keep running into this. However, I really wish programmers would at least expose an explicit option for this in their programs; not all of us want the slow flickering visual distraction.

Sidebar: my nits with smooth scrolling

There's a number of specific things that bug me about smooth scrolling:

  • it at least feels slower (I don't know if it is), and I resent waiting just because the computer wants to show me that it's clever.
  • it's visually distracting.
  • it unpleasantly reminds me of CRT and LCD screen flickering.
  • often, it effectively forces me to defocus my eyes briefly because otherwise I automatically try to read the scrolling text. (This depends on the scroll speed.)

All in all it makes me feel that I'm being forced to wait for a visually distracting effect just so the system can show me that it's clever.

Comments on this page:

From at 2007-12-10 02:16:30:

Smooth scrolling the way Internet Explorer has implemented it? I completely agree. It's feels slow because it is. One has to wait for the delay loop to run while it renders the transition. I find it very annoying. Smooth scrolling along with all other animations are the one of the first things I disable when I am configuring a Windows profile.

Luckily, I spend the vast majority of my time using my Mac where in Cocoa applications, it's Smooth Like Butterâ„¢. Compare Firefox on the Mac with Safari on the Mac using the two-finger scroll trackpad or a similar high resolution scrolling device.

With Firefox after moving my fingers down about 5 millimetres the view scrolls down 50px or so. With Safari, the view scrolls 1px every ~1mm when I slowly move my fingers. Of course there's a lovely acceleration curve when I move my fingers faster. Using two-finger scroll in 2D mode (horizontal and vertical scrolling) in Preview on a large document is even more blissful.

From at 2007-12-10 12:20:55:

One big problem I have with "instant-scrolling" is that there is often a large difference between what a "page" means to different applications.

Some move the text about half a screen down, some just a bit less than an entire screen (one line, two lines, $RAND[4] lines) and some move exactly an entire screen down. Then you add in the fact that a significant number of documents don't have an obvious "end", apart from looking at the scrollbar and seeing that it is at the bottom.

This means that with "instant-scrolling" I often have a problem finding where I was at, so I can continue reading ... some forms of smooth scrolling solve this problem, as it's slow enough that my eyes can follow the point they are looking at until it stops. I'm not saying smooth scrolling is the correct fix (some kind of visual clue for where the bottom of the previous page was, and more consistent ideas about what a page is would be better), but it's often a close enough approximation that I always turn it on.

By cks at 2008-01-03 23:30:47:

Department of belated replies: after thinking about these comments for quite a while I wound up writing another entry, ScrollingVsPanning.

Written on 09 December 2007.
« A depressing thing about phish spam
A surprise about Linux serial consoles »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Dec 9 23:50:52 2007
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.