Collection of metrics
Speed
This should be calculated by collecting all the X/Y time values generated from the mouse
movement. Each value will be calculated as follows.
Subtract the Xn value from the Xn+1 value to produce X’
Subtract the Yn value from the Yn+1 value to produce Y’
Subtract the Tn time from the Tn+1 time to produce T’
Use A squared plus B squared equals C squared to calculate C, which is the distance,
traveled in a straight line. Divide this value by T’ to get the velocity.
C is the hypotenuse of a right triangle.
Direction
Using the value of C from above and the Y’ value you can calculate the sine of the angle
created by the right triangle. Sine equals the opposite side over the hypotenuse. The sine
of the angle can then be used to calculate the actual angle.
We need to create a 360 degree directional plot, so figure north is zero degrees and rotate
clockwise making east 90 degrees, south 180 degrees, and west 270 degrees. Use the
sign of the X and Y values to determine how much to add to the degrees above.
If X’ and Y’ are both positive you are in the first quadrant add 0 to the value.
If X’ is positive and Y’ is negative you are in the second quadrant add 90 to the value.
If X’ is negative and Y’ is negative you are in the third quadrant add 180 to the value
If X’ and Y’ are both negative you are in the fourth quadrant add 270 to the value.
Acceleration
My reading in Human Computer Interface Literature indicates that as we move from one
button to the next there will be an acceleration and deceleration of the mouse. I would
like to use the speed values to calculate acceleration as follows.
We know the starting point of a mouse movement from the constraint that two time
frames of in activity mean the mouse is officially stopped. This should manifest itself as
two or three X/Y pairs in sequence that have the same value. With the starting point
established as the next X/Y pair. Take our speed values until the next stop movement
and extract the rate of change.
I would also like to calculate the time of acceleration and deceleration. Figure
deceleration is occurring any time velocity of one measurement is less than the previous
one. Assuming my theory is correct we should see multiple acceleration / deceleration
pairs in each mouse movement. What needs to be identified is the number of transitions
between and the total time accelerating and decelerating. This is what I call jerkiness of
the movement. I feel that this will exist because of different motor groups switching on
and off during the movement. We may even see brief reversal of direction as the mouse
is moved towards its target button.
Length of Click
Since we are having them click on 10 buttons, we will have ten mouse-down and ten
mouse-up events. Use the time between the mouse-down and the mouse-up events to
calculate ten mouse click events. We will want to know the Min, Max, Mean, Mode, and
Standard Deviation of these 10 events.
Left-handedness versus Right-handedness
Another metric I would like to capture is the general shape of the arc. If the direction
values are compared over a full mouse move (see determination above – acceleration),
we should be able to assign a left-handedness or right-handedness to 10 mouse
movements. This can be used to see if one type is dominant. I do not believe this metric
alone is strong enough, but it may serve as a qualifier between similar individuals. Lets
define a left-handed arc as one where the bulge is to the left of a straight line connecting
the two end points. A right-handed would have the bulge to the right of the line.
A left-handed arc would see the direction values increasing on average through the arc.
A right-handed arc would see the direction values decreasing on average through the arc.
If we take each grouping of direction degree for a mouse movement and subtract the
previous one from the next one and sum the values (retaining the sign) the resulting
number should be positive or negative. A positive number indicates left-handedness and
a negative number indicates right-handedness.
Amount of bulge to arc
We should also be able to capture an amount of bulge metric by calculating the standard
deviation a mouse movement’s direction values.
Lawrence Immohr
November 2, 2006