Estimating percieved download times based on how fun the activity being performed while waiting is.

Speed A with otherwise no activity - (300KB/s)

Speed B with fun activity - (250KB/s)

There appear to be two ratios here:

The first is the fun ratio between Speed A and Speed B. This ratio determines the perception of time factor. The perception of time factor will be a scalar (at least to start) and will define how much time has appeared to have elapsed given a certain actual elapse of time. This is what we will use to ultimately determine how to minimize the apparent time spent waiting for the download (which means the fun ratio isn't needed if this value is known).

Apparent elapsed time = (perception of time factor) * (elapsed time)

Example, let's say the fun activity of Speed B yields a perception of time factor of .75. This should mean that our Speed B can go as low as .75 of the original speed and the activity will still be worth the consequent loss of bandwidth.

We must also remember that the Speed A with otherwise no activity and maximum speed may not necessarily be actual time, as waiting for downloads can be excruciatingly slow.