Warning. This turned out to be more of a rant than an answer. Feel free to downvote it, I'm just glad to (finally) get it off my chest :-P
I usually get both eager and upset everytime I stuble upon advanced UX topics, like Fitts' law.
Eager because I find the basic research very interesting, and upset because there are so many misinterpretations of these.
I actually have my own version Fitts' law:
Don't use Fitts' law as a formula, use it as a guideline.
So, what is the simple guideline we can use from Fitts' law?
The size of the target and the distance to the target matters.
Period. Don't calculate how large the button should be, and don't
calculate where it should be. Don't calculate how much time it will take to hit an advertisement or a menu item. Just bear in mind that size and position matters.
Heck, low level estimation methods like GOMS+KLM doesn't even bother to calculate Fitts' law. They did it a couple of times and concluded that every mouse movement takes approximately 1.1 second (excluding click).
Besides, some of the components in Fitts' law are based on empirical data. Yes, you have to perform some empirical investigation to get a reliable result. :-)
Well, that's what we call a deal-breaker, isn't it? You have to perform some empirical testing to find the constants you need to perform a reliable calculation of a movement time. Well...
So, what is Fitts' law, really?
Fitts' law is just model of human movement. A model. A formula that was originally proposed by Paul Fitts in 1954. A formula that has been revised several times.
In plain English, the model describes that a movement consists of several controlled micro-movements. The time it takes to perform a micro-movement is equal to the "feecback-loop"/"reaction time". Take a look at MHP for more information about this. The "feecback-loop"/"reaction time" includes observation with perceptual (visual) processor, evaluation of position (cognitive processing), and then performing a (new) movement as a response to the evaluation.
There are several ways to calculate the reaction time. You can for instance do it with an online test.
According to MHP, the average response time is 240 ms (Perceptual processor cycle time = 100 ms, Cognitive processor cycle time = 70 ms and Motor processor cycle time = 100). One should also know that MHP operates with the terms "Slow-Man" and "Fast-Man" to emphasize that there are documented variation from person to person. (Did you notice that the empirical data on the online test were 215 ms, btw? Quite accurate these "old" theories about the human brain...)
So, each micro-movement takes about 240 ms, and during the first 70-80% of total movement you can move pretty fast. During the last 20-30% you need to slow down to be able to hit the target accurately.
Fitts did a lot of one dimensional tests and proposed a formula to represent the math behind this movement.
- MT is the average time taken to acquire the target.
- a and b are empirical constants determined through linear regression.
- A is the distance from the starting point to the center of the target.
- W is the width of the target measured along the axis of motion.
- c is a constant which is either 0, 0.5, or 1, depending on the specific environment.
OK. You probably just skimmed over this list, but look at it again. Read and understand every piece of the formula. I'll help:
MT = average time. This is pretty simple. The average time it takes to do perform a single scenario (startposition, target, target size etc...)
a and b are empirical constants. Note: empirical constants. You need to get these constants somewhere. I'll explain more about these below.
A is the distance to the target. Just measure a strait line from starting position to center of target. Pretty simple. I just one small note I would like to say about this. The immediate response from most people who hear about Fitts' law for the first time is "yay, let me find a ruler and start measuring". Well, you don't need a ruler. Since all the measurements are in the A/W part of the formula, you can use whatever you want. The ratio will be the same. Use pixels, inches, thumbs, feet or toothpicks. It doesn't matter...
W is the distance from the center of the target to the point of the target where the line you drew in the 3rd point meets the target. Or, you can just measure the plain width and height of the target and use the smallest value divided by 2. I've elaborated a little about this below.
c is yet another constant you need to get somewhere. It is context based. Take a look at point 8 and 9 below.
The last part of this formula
log2(2A/W) is what Fitts defined as the Index of Difficulty (ID). This is the part of the formula that says size and distance matters. The ID is defined by a metric he called "bits". As explained in point 3, you can measure the distance and the target size with whatever you want. The A/W ratio (and thus the ID) will always result in the same "bits" measurement. (I believe that "bits" were chosen because he used the 2 as the base for this logarithm.)
Note that the logarithmic function implies that a small increase in size is much more effective for small targets than large targets. A small justification on large objects won't make that much of a difference. Likewise for the distance.
Both Welford and Shannon have suggested some modifications to Fitts formula to better suit small ID's. Welfords data (1960) showed that Fitts' formula were wrong for easy tasks (ID < 3 bits), and suggested a new ID formula to correct this:
ID = log2(A/W + 0.5). Shannon argued that these formulas would give a negative ID for situations where the distance to the target were less than half the target size (A < W/2). Hence the formula
ID = log2(A/W + 1.0) was suggested to avoid a negative ID.
These justifications are captured in
c in the general formula. So when the formula tells you to use 0, 0.5 or 1. It's actually a matter of who's formula you wish to use, or rather a specification of the distance and target size situation.
So, what´s the
A/W all about? Using 2A or just A is actually a matter of "Using the whole width of the target" or "distance from edge to center" of target. (2*A)/W is the same as A/(W/2). There have been various suggestions to whether one should use distance from the edge to the center along the line of movement, or simply the smallest of the width and height, or half the smallest width. At the end of the day, this is not very important, because the justification constants (a+b) will adjust this. The important part is the choice of c.
So, now that we have a basic calculation of the ID, we just need to adjust the formula to match empirical data. :-) Fitts' law only describes how the human brain works during a movement, and how size and distance affect the task difficulty (ID). Fitts' law doesn't take into account the actual user group's capabilities (slow-man vs fast-man, under water vs outer space etc) nor the characteristics of the pointing device (mouse, finger, foot, trackball, joystick etc). That's why we need to determine a and b in the formula.
First we add
b to the formula to adjust the slope of the line. I.e. How much harder is is to hit targets that are far away.
MT = b * ID
Then we add
ato the formula to avoid that the graph starts in the origin. I.e. what is the shortest MT you can have for the easiest task. 0 ms is not realistic even if we're talking about "the fastest pixel" - the pixel right under the cursor. We usually use a constant time factor depending on the task to be performed. Due to learnability, ' a ' will probably change over time.
MT = a + (b * ID)
I had a couple of additional points I wanted to add...
First. I should put all the information above into a conclusion that actually answers your question. When iPhone was introduced, Apple had a guideline that suggested 44 pixels to be the smallest size of a button. The resolution back then was 320x480. So if you put two 44x44 buttons in each corner diagonally, then you get the most difficult task. By using Shannon's formula, we get an Index of Difficulcy equal to 1.38. That is very easy! When Fitts experimentet he used ID=16 as the most difficult task...
download bmml source – Wireframes created with Balsamiq Mockups
Second. For the fun of it, I created a small tool to calculate ´a´ and ´b´ for you. You can run in you browser or you can run it on your phone. The chart obviously needs some work, but the result you get is correct. Chase the button 20 times and get your result.
or scan the QR code below to get started.