362 words on Mac OS X
It has been pointed out to me in comments that others couldn’t reproduce the behaviour described toweards the end of this post on their systems. And sure enough I couldn’t do so either. While I’m pretty sure I didn’t make this up, it still puzzles me a little.
One thing that was pretty cool about MacOS X from day one are the graphics. And by that I refer to the actual graphics you see, not the graphics engine which probably was impressive or at least ambitious as well. One major thing was the clearly visible death of the rectangle. While the rectangle is very popular in computers – probably because it’s easiest to handle or because programmers are squares – there were very few rectangular items on screen in OSX from day one. You have rounded corners or at least drop shadows everywhere.
From a technical point of view, I don’t think that OS X was all revolutionary in this respect. Even QuickDraw had general ‘regions’ for ages and windows were subtly non-rectangular. In the golden age of Appearance Manager themes, most notably in the fantastic Drawing Board theme, this was more obvious than in the standard Platinum theme which remained the only one to ever be distributed with Mac OS. And thus, visually, OS X was a significant change as things stopped looking rectangular.
One thing that’s sweetly non-rectangular in OS X are the scroll bars. They have nicely rounded ends and those ends fit snugly in the end of the scroll bar area which is rounded accordingly. Love for detail there went far enough to highlight the complete strangely shaped structure at the end of a scroll bar area when a scroll arrow is clicked:
That’s nice and suggests that the complete structure is the scroll arrow. Unfortunately the non-rectangularity stops there and this turns out to not be the case. When clicking the mouse in the following position,
you’d expect to click the scroll arrow as you’re clicking inside the area that was highlighted before. But in fact you’ll be clicking inside the scroll bar area itself and cause the scroll bar to scroll down a page. Odd.
That’s weird — my Mac distinctly responds and scrolls correctly after clicking those concave areas of the scroll button. See this movie:
http://homepage.mac.com/simx/.Movies/scrollbuttonclicking.mov (2.2 MB, QT6 required)
I left in the microphone audio because I thought it was funny that I inadvertently captured it, and you can hear my mouse clicks/key presses which is kinda nice to hear anyway. I also couldn’t get the smaller cursor to go away when Snapz Pro X was capturing the movie, but it too is kind of informative in that it shows that the larger cursor is clicking distinctly above the line where you would expect it to stop responding if the target area were a rectangle. You can also see at the end that it IS decidedly concave, because I move horizontally and the behavior changes.
Weird that our behaviors differ. (In case you were wondering, I can still click in those extra areas even when not zoomed in, so that can’t be the difference.)
You know what is odd? That this seems not to be true on my system. I’m on 10.4.4 and the whole highlighted area acts as the arrow, just as you would expect. Weird.
Really odd. Now it’s working fine for me as well…
So did I make this up? Or was I hallucinating?
Simone - the film you made looks like the sensitive area for the scroll arrow is still quite rectangular, though, with the area within the round bit of the scroll bar still acting like a button. So it’s essentially a similar problem to what I describe.
At the end of the movie, I move my mouse horizontally (well, one pixel up, too) from where I was clicking to activate the button, and clicking there causes the behavior to change so I still think the activation area is non-rectangular. (Despite the fact that I moved the mouse up one pixel in the movie, there are lines where I can move purely horizontally and get different behaviors.)
I was actually doing some testing, and it seems like the behavior changes even when clicking in the same spot. For some pixels close to the concave edge, it will activate the scroll button if the pill is not near the end. However, if the Aqua pill (or elevator or whatever you call it) is near the end, clicking in the same pixel will act like you clicked on the pill (so you could click-and-hold in the same spot and drag the elevator/pill up again). I’ll see if I can capture this behavior in a movie tonight, as I’ve gotta run right now.
OK, I finally did capture a new movie clearly showing that the scroll bar buttons are not activated by a simple rectangle, and their click-to-activate area is clearly concave. Take a look: http://homepage.mac.com/simx/.Movies/scroll_buttons.mov
In this movie, I’m constantly moving my mouse back and forth between three pixels, that are strictly horizontal from each other — there is no vertical movement whatsoever. However, on this same horizontal level, the pixel on the very right of the three consistently clicks the scroll button, whereas the pixel on the very left consistently clicks the inner scroll bar area. By listening to the audio of the movie, you can clearly hear me clicking the mouse (and when I tap the “home” key to reset the text) — therefore, you should be able to tell whether a click initiated a page-scroll or a line-scroll. Clicks in the scroll button briefly highlight the button and initiate a line-scroll, and clicks in the inner scroll bar area do not show any feedback but initiate a page-scroll.
The most interesting part of this movie is the center pixel: it seems to alternate behaviors. Generally, it seems that if the last pixel I was hovering over would activate the scroll button, then this middle pixel also activates the scroll button. But if the last pixel I was hovering over activated the inner scroll bar area, then so would this middle pixel. So it seems that pixels on the edge between the scroll area and the scroll button actually change behaviors depending on the context. I could see how this might be desired behavior, but it’s certainly surprising.
Received data seems to be invalid. The wanted file does probably not exist or the guys at last.fm changed something.