[Sugar-devel] Scrollbar width

Albert Cahalan acahalan at gmail.com
Sat Dec 12 00:05:33 EST 2009

On Fri, Dec 11, 2009 at 12:19 PM, Eben Eliason <eben.eliason at gmail.com> wrote:
> On Fri, Dec 11, 2009 at 3:02 AM, Albert Cahalan <acahalan at gmail.com> wrote:

>> That said, at least for the common case of the scrollbar being at
>> the edge of the screen and possibly elsewhere, there is a solution.
>> Scrollbars could widen up as the mouse goes over them, overlapping
>> into/above the area that is to be scrolled.
>> It's a nice solution, allowing for scrollbars 100 pixels wide.
> This is an interesting thought, but it seems to me that it's actually
> a solution proposed for the wrong circumstance. The scrollbars that
> lie at the edge of the screen are the ones that needn't be large,
> since grabbing them (assuming they are properly edge-aligned) is easy
> regardless of their width.

I suspect the "infinite width" concept fails on real-world hardware,
particularly with a kid and a filthy touchpad. I expect that the mouse
pointer won't reliably remain at the edge of the screen.

Think of the mouse pointer as bouncing off of the screen edge.
(because it may move a bit in some random direction)

> It's those that float within the UI, such as a scrolling left column
> (eg. Pippy examples) that are hardest to target, and which need
> adequate affordances to make them usable. Increasing the target area
> dynamically on hover is definitely a solution worth experimenting
> with.
>> Speed is critical of course. Being slow like the Frame would be
>> some kind of torture. My best guess for appropriate timing:
> I'm not even sure an animation would be critical to understanding this
> model. One possibility might be to only increase the size of the
> scroll handle (leaving the "bar" itself thin), when the cursor is
> within range of it. It could grow from its center, so that it hovers
> above yet centered on the bar it belongs to, perhaps settling on a
> width 3x that of the bar.

Leaving the bar thin should help performance, so I like that.

Animation isn't for understanding. It's for eye tracking.
BTW, rounded corners and 3D shading are important for
the same reason.

Does 3x get to about 100x100 ? That's the size needed.
Expressing that in less device-specific units, 10% of screen
height or 7.5% of screen width (whichever is greater) would be
appropriate for a normal mouse. Give it a bit more for touchpads,
and stick to 2-pixel alignment in case that renders faster.

An XO with a nice mouse would thus get 90x90. Maybe the
new touchpad should get 112x112, and the original touchpad
should get 160x160. (yes that's 0.8 inches per edge)

A thought occurs to me regarding the grab keys. By default,
they could be made sticky (like CapsLock) and cause an
on-screen indicator to appear. Probably this would be a large
2-direction or 4-direction arrow (a shaped undecorated window)
about 1/2 the height of the screen in the long dimension.
Use the touchpad, arrow keys, or game keys to scroll.
Hit a grab key or any non-scrolling button to leave this mode.
Optionally, but off by default, go into this mode when the user
clicks (especially a fast click w/o drag) on the scrollbar slider.

More information about the Sugar-devel mailing list