Scroll, Scroll, Scroll your Bug, Gently Upstream

And now, since I can’t sleep, and I’m sick of staring at the ceiling in the dark, some random drivel about scrolling.

1. I use a Wacom tablet, which comes with it’s own mouse. About a year ago, I upgraded from Ubuntu Dapper 6.04 to Edgy 6.10, and for some reason, my scroll wheel inverted, so that up was down and down was up. I filed a bug, forgot about it, and like a reasonable man, adapted to the world. It was surprisingly easy, sort of like that story about the psych experiment where you give people prism glasses that turn everything upside-down, and after a while, people simply get used to it and end up being just as co-ordinated… until they take them off. Anyway, getting back to my Wacom bug, progress was finally made, when Emanuel Greisen found this in the Linux-Wacom Changelog

2006-03-06 * Swapped USB tablet wheel directions

So, there’s the code change. Now, I presume that it would be trivial to swap the wheel directions back, but what would that ‘break’ that caused the original change in the first place? I’m struggling to think of a good reason why the change was made.

2. But really, should pushing the mouse wheel up scroll the page up? My mum finds this ‘unintuitive’, since her mental model of the scroll wheel is as if the page is printed on a rolling pin, and rolling the pin ‘up’ would show more text from the bottom of the page. On a similar note, with an image viewer, or say a map, should a scroll-wheel-up event zoom in or zoom out? Is ‘up’ pushing the screen (or, if you prefer, image) away from you (zoom out?), or moving you in towards the screen (zoom in?) I thought the ‘intuitive’ answer is obvious, but asking people around me showed that there’s actually a difference of opinion. But, hey, some people see the girl spinning clockwise, some see her spinning anti-clockwise.

3. I hate it when I’m scrolling down a web page, happily scrolling away, and then an embedded Flash video wanders under my cursor and steals all the scroll events. Sure, sometimes text boxes (e.g. web forms) steal the scroll-wheel too, but they give it back when they’re all outta scroll. Actually, what I would like is a GTK theme that highlights which scrollbar will respond to a scroll-wheel event, just like I have a metacity theme that tells me which window will respond to a keypress event (i.e. which window has focus). I went and made a mockup of what this would look like, but I think this would be hard to implement, because the scroll-wheel recipient isn’t determined by something as simple as the “what window is the mouse cursor over” test that triggers button hover styles. Then again, in the mockup below, presuming that the cursor is over the text box, scrolling up would scroll the page (since the text box can’t scroll up any further), but scrolling down would scroll the text box, so the answer to “which scrollbar is active?” is ambiguous. I don’t suppose there’s a budding theme-engine writer out there who has a better idea?



#1 Mikkel Kamstrup Erlandsen on 11.09.07 at 5:43 pm

Man you just ruined my day. I just hate Flash apps stealing my scroll events so much that I want to cry.

Another scroll nightmare is when you edit an embedded text box with lots of text. Fx. MoinMoin wiki or composing a mail in GMail. When I scroll to the bottom of the text field the “scroll focus” jumps to the entire web page and I end up scrolling the text entry out of sight!

Bargh! You ruined my day 🙂

#2 Dread Knight on 11.10.07 at 9:51 am

I agree with you.

Um… i’m not a coder, but i’m taking some action in order to have the mouse scroll direction as a preference.