Windows’ Scrolling Behaviour: Really, Really Annoying

For as long as I can remember, I’ve been having issues with scrolling in Windows and its applications. When scrolling via dragging the scroll blob, it seemed as if Windows had the annoying habit of randomly resetting your scroll blob to its starting position, which irritated me to no end. It took me a while to figure out, but I finally know when this behaviour occurs – now I just need to know: why?!

In case you’re unfamiliar with my personal graphical user interface lingo, the scroll blob is that little thing inside your scrollbar which indicates where in a document you are. It can also be used to scroll through documents, by clicking and dragging it up and down (or left and right for horizontal scrollbars).

Before we dive into the problem I mentioned, there’s actually quite a few interesting things to say about scrollbars and the scroll blob. As most of you will know, the scroll blob is proportional; the smaller it is, the larger the document you’re viewing, and vice versa. For me personally, the blob’s most memorable role is that it serves as a sort of taunting reminder of just how much more illegible scientific drab I have to wade through during studying.

Then there’s the issue of scrollbar behaviour. Clicking inside the scrollbar, but outside of the blob, can have two different outcomes, depending on system settings and operating system used: the right one, and the wrong one. Because the scroll blob is proportional, you would expect the scrollbar to be proportional too; as such, the only correct behaviour when clicking inside the scrollbar is “jump to here”. The incorrect, inconsistent, annoying and obnoxious outcome is “move one set arbitrary distance down/up”. The former outcome indicates that the computer thinks I’m smart, while the latter indicates that the computer gives me a reassuring pat on the back, thinking “I know what’s best for you, now shut up”.

Yes, any system that uses the latter setting is wrong. Non-negotiable. I’m quite strict on this. Oh, and I base it on absolutely no evidence whatsoever.

Finally, the issue of the scrollbar arrows. There is only one correct way of displaying the scrollbar arrows: grouped. BeOS already knew this, and who are we to argue with what is probably the best operating system of all time? In all seriousness, the reason grouping them is better is that it reduces the amount of mouse movements you need to make when scrolling. Sure, mouse wheels and the like have reduced the significance of the arrows considerably, but I still sometimes find myself using them. On top of that, I dislike touchpad scrolling, so on laptops I’m pretty much confined to the arrow keys and the actual scrollbar itself.

Now, moving on to the actual problem at hand. The problem I see is that during scroll blob drag operations, Windows creates an invisible “hotspot” around the scrollbar; if you move your mouse cursor outside of this hotspot while still dragging the blob, it will reset itself to its initial position. If you’re still holding down the mouse button, the reset is visual only; moving your mouse pointer back into the hotspot will “undo” the reset. If you release, however, the reset will become permanent.

The actual problem here is that this hotspot is too small. The below screenshot indicates the size of the hotspot.

The width of the hotspot is sort-of adequate; you’ll rarely find yourself veering off that far east or west (but it does happen). The real issue here is north and south: as you can see in the shot, there is barely any space to move your mouse before the blob will reset itself. I use the blob drag behaviour all the time (especially on sites with lots of comments, like OSAlert), so I run into this annoying problem continuously.

The million dollar question here is why on earth does this hotspot exist in the first place? Can anyone think of any scenario in which this behaviour is even remotely useful? I did a little digging around, and found that even in 1999, people were complaining that KDE had adopted this annoying scrolling behaviour. Karl Fogel already concluded back then that Microsoft actually had to write additional code to get this behaviour.

The solution to this bug is drop-dead obvious: ditch the hotspot. It serves no purpose, other than to annoy and aggravate people. I should be able to move my pointer to hell and back while dragging the blob without it resetting the scrolling position.

Can anyone tell me if other systems have been affected by this bug as well? Does KDE still have it? GNOME? Mac OS X?

108 Comments

  1. 2009-12-10 8:06 pm
    • 2009-12-10 8:09 pm
      • 2009-12-10 10:03 pm
      • 2009-12-10 11:36 pm
      • 2009-12-11 8:02 pm
    • 2009-12-10 9:31 pm
      • 2009-12-11 10:35 am
  2. 2009-12-10 8:07 pm
    • 2009-12-11 1:58 am
      • 2009-12-11 8:14 pm
  3. 2009-12-10 8:13 pm
    • 2009-12-10 8:56 pm
      • 2009-12-10 9:07 pm
    • 2009-12-10 11:29 pm
    • 2009-12-12 9:29 am
  4. 2009-12-10 8:15 pm
    • 2009-12-10 8:20 pm
    • 2009-12-10 8:29 pm
      • 2009-12-10 8:53 pm
        • 2009-12-10 9:10 pm
          • 2009-12-10 11:10 pm
          • 2009-12-10 11:31 pm
        • 2009-12-11 11:49 am
          • 2009-12-11 11:56 am
      • 2009-12-10 9:44 pm
    • 2009-12-10 9:43 pm
    • 2009-12-10 10:23 pm
      • 2009-12-11 12:04 pm
  5. 2009-12-10 8:20 pm
    • 2009-12-10 10:30 pm
    • 2009-12-11 4:50 pm
  6. 2009-12-10 8:20 pm
    • 2009-12-10 8:24 pm
      • 2009-12-10 8:41 pm
        • 2009-12-10 9:06 pm
          • 2009-12-10 9:15 pm
          • 2009-12-10 9:24 pm
          • 2009-12-11 1:33 am
        • 2009-12-10 9:17 pm
          • 2009-12-10 9:18 pm
          • 2009-12-10 9:27 pm
          • 2009-12-11 12:01 am
          • 2009-12-11 12:18 am
          • 2009-12-11 12:39 pm
          • 2009-12-10 11:17 pm
          • 2009-12-11 5:03 pm
      • 2009-12-10 11:55 pm
      • 2009-12-11 1:55 pm
      • 2009-12-11 8:06 pm
      • 2009-12-12 9:27 am
  7. 2009-12-10 8:30 pm
    • 2009-12-10 11:57 pm
    • 2009-12-11 1:36 am
    • 2009-12-11 8:16 pm
  8. 2009-12-10 8:33 pm
  9. 2009-12-10 8:37 pm
    • 2009-12-10 9:14 pm
  10. 2009-12-10 9:05 pm
    • 2009-12-10 9:08 pm
    • 2009-12-10 9:49 pm
  11. 2009-12-10 9:10 pm
    • 2009-12-10 9:27 pm
  12. 2009-12-10 9:11 pm
    • 2009-12-10 9:32 pm
    • 2009-12-10 10:37 pm
    • 2009-12-11 8:57 am
  13. 2009-12-10 9:14 pm
  14. 2009-12-10 9:15 pm
    • 2009-12-10 9:33 pm
      • 2009-12-10 9:40 pm
        • 2009-12-10 9:53 pm
      • 2009-12-10 9:40 pm
        • 2009-12-10 9:51 pm
      • 2009-12-11 1:01 pm
    • 2009-12-10 9:43 pm
    • 2009-12-10 10:44 pm
  15. 2009-12-10 9:26 pm
  16. 2009-12-10 10:07 pm
    • 2009-12-10 11:04 pm
      • 2009-12-12 1:59 pm
  17. 2009-12-10 10:10 pm
  18. 2009-12-10 10:14 pm
  19. 2009-12-10 11:02 pm
  20. 2009-12-10 11:57 pm
  21. 2009-12-11 12:06 am
    • 2009-12-11 4:39 am
  22. 2009-12-11 12:33 am
    • 2009-12-11 12:41 am
      • 2009-12-11 12:49 am
      • 2009-12-11 11:58 am
  23. 2009-12-11 12:40 am
  24. 2009-12-11 3:38 am
  25. 2009-12-11 3:45 am
  26. 2009-12-11 5:05 am
    • 2009-12-11 5:34 pm
  27. 2009-12-11 9:38 am
    • 2009-12-11 11:12 am
  28. 2009-12-11 11:48 am
  29. 2009-12-11 2:14 pm
  30. 2009-12-11 2:57 pm
  31. 2009-12-11 5:40 pm
    • 2009-12-11 9:57 pm
  32. 2009-12-11 6:11 pm
  33. 2009-12-11 6:52 pm
  34. 2009-12-11 8:11 pm
    • 2009-12-11 9:40 pm
  35. 2009-12-14 2:55 pm
  36. 2009-12-15 9:28 am