Usability is a big topic, and we're not going to cover it all here. But I want to have an open discussion of ways that we (as GeoShell developers and users) can improve the usability of Windows. This is not the place to make suggestions about changing the Windows logo certifications, or making other changes to the Windows API's, but rather for suggesting ways that we, as third-party developers, can improve our computers usability.
Fitts' Law
Fitts' law is a robust model of human psychomotor behavior developed in 1954. The model is based on time and distance. It predicts human movement and human motion based on rapid, aimed movement, essentially presnting a mathematical formula for the intuitive observation that movement time is affected by the distance you have to move and the precision demanded by the size of the target to which one is moving. The actual formula is:
MT = a + b log2(2D/W)
where
- MT is movement time
- a, b are regression coefficients
- D is the distance from the start of the movement to the center of the target
- W = width of the target
GeoShell is trying to help you take advantage of this priciple by exploiting the fact that mouse movement is restricted by the edges of your computer screen(s). In other words, a button placed against the edge of the screen is effectively infinitely wide, because you cannot move past it.
We added a setting to each bar that allows you to offset the "snap to" position, so that the plugins on a bar actually touch the screen edge when the bar is placed against it.
In the R4.11 betas leading up to R4.12, we're improving on this with a setting simply labelled "Force Buttons To Screen Edge." Turning this on automatically calculates the correct placement of the bar so that the buttons are against the screen edge, and it works in two directions, so unlike the old "Snap-to Offset" setting, your bars will actually snap to the screen edge past the grippers, so the first (or last) button on the bar will be in the very corner of the screen, and thus, effectively infinite in two directions!
We've also added an option to the core plugins to have "Large Icons" which uses 32x32 pixel icons instead of 16x16 pixel icons, resulting in buttons that are much larger and easier to click.
Of course, we've also added the "edge hide" feature of the bars to enhance your ability to unhide bars. Previously, minimized bars were always "gripper hide" which means they were shurnken to only a 30 pixel area. With edge hiding, minimized bars can be activated anywhere along the full length of the bar, and with the betas leading up to R4.12 we are trying to improve this edge hide by automatically calculating the best thickness for the edge-hide indicator, instead of requiring you to customize the size for each skin. Additionally, we're considering a feature which would unhide all of your bars if you moved your mouse very rapidly toward the screen edges.
You've probably read the AskTog site (http://www.asktog.com/
) a bunch, and in particular this article (http://www.asktog.com/columns/022DesignedToGiveFitts.html
) about Fitt's law relating to interface design issues. I highly recommend this article to anyone who wants to produce a more useable interface.
Regarding this, a couple of things I have noticed in GeoShell (which I love, btw):
Just two cents worth.
Linus.