From: kfogel@red-bean.com To: matt@braithwaite.net Subject: Re: ooh, this sounds interesting: Date: 23 Nov 1998 08:24:45 -0600 > ``If your interest doesn't flag, and I'm feeling particularly malicious, > I might even talk about how the scroll-bar behavior in Microsoft > Windows reveals that the implementor actually wrote extra code to get > it wrong.'' > > please elaborate. :-) :-) It's actually not a great example in the context I wrote it, but here's what I meant: When you grab a scrollbar and drag it up and down, your mouse's binding to it is only valid (by default) within a corridor of certain width on either side of the scrollbar's trough. So if you get too far away from the trough, the mouse will "let go" of the scrollbar and it will snap back to its original position, no matter how far you've dragged it. But if you cross back to the inside of this invisible barrier, it jumps again and you pick up where you left off. Obviously, this is a lot harder to write than the usual "if the mouse button is down && this is a vertical scrollbar then just pay attention to vertical motions and don't worry about how far away the the mouse pointer gets from the scrollbar" rule. And, in case it's not clear from this description, the MS behavior is FUCKING ANNOYING. Everyone I talk to about it feels the same way -- not just computer geeks, but also my parents and non-techie friends. Instead of being able to look at the text being scrolled while you slew your mouse all over the place, happily ignoring horizontal motion, you have to worry all the time: am I about to cross the invisible barrier? Will my text jump unexpectedly while I'm in the middle of reading? Meanwhile, the other rule applies in every other system I can remember seeing, and it's perfectly intuitive. Ever seen that famous drawing of a human body with each body part sized according to how much brain area is devoted to it? The eyes and ears are huge, the nose and mouth also exaggeratedly large, then the neck and torso are tiny and squished up, then the arms are a little larger, and the hands are grossly oversized, like huge catcher's mitts, because so much of our brain is devoted to them. It should be obvious to anyone who's ever used a mouse that you don't somehow "lose track" of whether or not you've got a button held down. It's your own _finger_ for crying out loud -- it's okay to hold the program's interface in a state dependent on the human's finger, because humans couldn't forget what their hands are doing if they tried. Typical brain-dead MS interface design. It's like no one there actually *uses* mice or something. Maybe they all know the keyboard shortcuts. What's even more bitterly amusing is that they had to write a good deal of extra code to get this behavior. The alternative is ridiculously simple to implement, because all you have to do is ignore one direction of motion. But the MS rule requires paying *extra* attention to that direction, while paying the usual amount of attention to the other. And to make matters worse, this is merely the default in Windows -- you can apparently get the other way if you prefer it. So it's not like they didn't know about the easier way. There's even a conditional they have to check. Duh! How can it not be screamingly obvious to them that 99.9% of their users would prefer the other way to be the default?
(Back to Karl Fogel's home page.)