Comment 47 for bug 239462

Revision history for this message
In , Dave Jakeman (davejakeman) wrote :

Thanks again, John.

First impression: already much better. The slight tolerance on mouse movement is a big improvement.

After my previous experience with zero tolerance on movement, the first thing I wanted to do was loosen that tolerance up, so after playing with it for a while at 2 pixels, I increased kTooltipMouseMoveTolerance to see how high it could go within reason. I tried 5 at first, then 10. I found the value can be quite large and the pop-down mechanism still works well. In fact, it's more friendly that way. If, when it's set to 10, a movement of a few pixels takes the pointer outside the node boundary, the tooltip still vanishes as desired. So large values of kTooltipMouseMoveTolerance don't cause unwanted behaviour.

But what value should it be? I tried 10 because that was clearly too big. Something between 5 and 10 seemed appropriate. I set it to 7 and used it like that for a while. I liked 7. It felt about right.

So, more testing:

The HTML I used was a very demanding piece with small, single-character superscripted and subscripted links, all with medium-to-long tooltips. This piece absolutely needed tooltips to display properly.

I tried setting the Razer Copperhead to minimum sensitivity and that just got easier, so no problems there. Back to maximum sensitivity.

I tried setting my screen resolution to 640 x 480 and managed to screw up my Ubuntu desktop. But the tooltip behaviour didn't seem much affected by the lower res. Back to 2048 x 1536.

I tried different mice to the Copperhead:

 - a cheapo USB/optical that "misbehaves": it was fine, even with its misbehaviour;
 - a Microsoft USB/trackball: very easy and "letting go" was easy and came naturally;
 - an ancient Microsoft serial ball mouse: no problems at all;
 - a Wacom USB graphics tablet: took some practice;
 - a Wacom tablet mouse: fine (but had other issues).

Overall, the trackball was the easiest to use; the most difficult was the Wacom graphics tablet.

With the tablet, you have the choice of pressing the pen against the tablet slightly to hold the pointer still and inadvertently clicking something, or holding it just clear of the tablet and having the mouse pointer "tremble". This trembling makes the motion tolerance essential. The trembling can be so bad it delays the tooltip from popping up in the first place. Another oddity is that "letting go" isn't an option. If you lift the pen clear of the tablet, the mouse pointer jumps to a corner of the screen. I guess this is why Wacom supply a free mouse to use in conjunction with the tablet. In operation, the mouse is very nice, but with Ubuntu, the mouse pointer can't reach important parts of the screen -- such as the Firefox "Back" button. So I guess we don't have to worry about the Wacom just yet. With practice though, I was able to use the pen and tablet, but it's not what I'd choose for general mouse work anyway.

Second worst overall was my favourite -- the high-speed Copperhead at maximum sensitivity. That said, I can still control the tooltip behaviour easily with kTooltipMouseMoveTolerance set to 7. And the Copperhead has two buttons dedicated to changing sensitivity on-the-fly, so that's not really an issue. I have it set at the max to economise on hand movement, but that makes precision work rather exacting. That's my choice. A couple of clicks on MB7 and it's suitable for intricate browsing. And as mentioned before, there's always the "let go" option.

The other mice were really very easy to use with this new tooltip behaviour. You don't have to think about it at all. The tooltip just does what you want, when you want it to.

So in conclusion, with John's latest patch giving some tolerance on mouse movement, and with kTooltipMouseMoveTolerance set to 7, Firefox tooltips of any size work very well.