Tweak UI Bug

Tuesday, December 12, 2006
By: Jason Doucette

Tweak UI is a Microsoft PowerToy for Windows XP.  To quote Microsoft, Tweak UI "gives you access to system settings that are not exposed in the Windows XP default user interface, including mouse settings, Explorer settings, taskbar settings, and more."  It's very interesting to look through all of its features and see what settings Windows allows you to change, but has no (normal) interface to allow you to do so.

It's a great program. One of the features is the ability to change the mouse sensitivity settings:

Tweak UI --> Mouse --> Mouse sensitivity --> Drag

The Drag setting controls how far you must actually drag something, such as an icon, before the system interprets your motion as a drag.  This allows a user that cannot keep the mouse completely still while clicking or double-clicking on something to be able to actually perform the desired action.  The drag sensitivity setting indicates the number of pixels you must move away from the click location before it is determined to be a drag.  You need only reach the limit; you don't have to exceed it.

I have always known this, but became acutely aware of this after purchasing an extremely sensitive mouse, the Microsoft Laser Mouse 6000.  It makes me respect the difficulties that new computer users experience when using a mouse for the first time.  I became further aware because my own application wasn't adhering to the Windows XP settings.

After coding my solution, and determining it worked as expected.  I decided to loosen the drag sensitivity, and further test my code.  I was surprised to find that I could set the drag sensitivity to the lowest value of 1, meaning as soon as the mouse cursor moves at all, it will initiate a drag, but the little Tweak UI 'Test Icon' area didn't adhere to this.  If you move it to the left or up, it does not act as a drag until you move 2 pixels away.  If you move it down or to the right, it drags immediately.  The programmers messed up.  The drag sensitivity acts 1 pixel more loose to the left and upwards than it should.  This occurs for all possible sensitivity settings.

Does this matter?  Probably not to most people.  But, considering that such a setting is accurate to the pixel, and is only set to a few pixels to begin with (4), it means the 'Test Icon' area is rather inaccurate if you hope to use it as a means of calibration, which is precisely what it is meant for.  I guess I find this interesting for a few reasons.  One, because the simple logic behind such a test was flawed, even though it was written by the Microsoft UI gurus that are responsible for recognizing that all of these settings need to exist (and be calibrated) to begin with, and, two, that no one has noticed (or cared) since.



About the Author: I am Jason Doucette of Xona Games, an award-winning indie game studio that I founded with my twin brother. We make intensified arcade-style retro games. Our business, our games, our technology, and we as competitive gamers have won prestigious awards and received worldwide press. Our business has won $190,000 in contests. Our games have ranked from #1 in Canada to #1 in Japan, have become #1 best sellers in multiple countries, have won game contests, and have held 3 of the top 5 rated spots in Japan of all Xbox LIVE indie games. Our game engines have been awarded for technical excellence. And we, the developers, have placed #1 in competitive gaming competitions -- relating to the games we make. Read about our story, our awards, our games, and view our blog.