New feature: Speed visualisation

By marc3 - updated: 9 years, 6 months ago - 8 messages

Based on an idea from Jock M., I have added a speed visualisation feature. When you complete a test, in addition to seeing where you made mistakes, you can now see your acceleration/deceleration for each letter.

I would love to hear what you think about this feature. For example, I think the readability is not great but I haven't found better colors yet.
Hey marc,

I've made a custom typing test and alternated between fast and slow to demonstrate the problem with using the In-game WPM chart for the highlighting. Hope you can access this, first time sharing a picture over google: https://drive.googl…

I tried to keep both the fast and the slow speed constant. As you can see, the slopes decrease over time since the average is not moving, but takes all the speed of the typing test into account. If I kept doing this long enough, the zick-zack curve would turn into a flat line, resulting in no mark up at all, even though the differences in speed would be the same as at the start of the test.

To weigh all keys equally regardless of their position in the typing test, I think a moving average would be best. You said "calculate over the n previous characters", so that's probably what you were already thinking of. I'm not sure how many would be wise, though, maybe test with 3 characters and do some more tests on how it looks?
By bassplayerful - posted: 9 years, 6 months ago

Looks good, maybe sharper greens though. A lot of the text on a quote I did stayed white and was hard to see incremental increases/decreases per word.
By kaikaikaikaikai - posted: 9 years, 6 months ago

I think the idea is a nice one, but the way it is executed right now doesn't make it very usefull. Here's why: The feature seems to use the average speed at the time of typing as reference, rather than the average speed of the whole quote. This means that miniscule changes in speed at the start of a quote are highlighted brightly, whereas even big pauses at the end of long quotes are barely highlighted, as the amount the change in speed contributes to the change of the momentary average decreases with each letter.

This results in a pretty meaningless purple/green pattern during the first few words that fades out after two lines of text.

What I propose is using the end speed as reference to mark up the letters, so the weight of each letter is the same. I'd also like to say that I think marking up words would be more helpful, as it is most seldomly the individual letter people have trouble with, but the specific pattern of a word or sillable... I don't know if that's technically possible, though.

Despite my criticism, I'd like to thank you for trying to make this excellent site even better.
By marc3 - posted: 9 years, 6 months ago

Thanks for your feedback. First let me explain a bit more about what's
really going with the colors. For each character typed, I calculate
the slope of the curve. If slope goes up, it's green, if it goes down,
it's purple. The color intensity is determined by how steep the curve
is. If the steepness is too small, it'll be gray.

What I could do is show exactly where in the In-game WPM chart you are
when you move the mouse over the quote. It will make the relationship
between colors and steepness clearer.

I am not convinced that highlighting the whole word would be
better. During my tests, I've noticed that there are slow-downs
halfway through a word. Having that level of granularity is useful to
see which letters inside a word are causing trouble.

I have also noticed that at the start of the game the colors go a bit
crazy and I don't think it's really meaningful. Maybe instead of
calculating the steepness based on the previous character, I could
calculate over the n previous characters. That will smoothen the slope
and hopefully look nicer.

What do you think?
By kaikaikaikaikai - posted: 9 years, 6 months ago

Hey marc,

I've made a custom typing test and alternated between fast and slow to demonstrate the problem with using the In-game WPM chart for the highlighting. Hope you can access this, first time sharing a picture over google: https://drive.googl…

I tried to keep both the fast and the slow speed constant. As you can see, the slopes decrease over time since the average is not moving, but takes all the speed of the typing test into account. If I kept doing this long enough, the zick-zack curve would turn into a flat line, resulting in no mark up at all, even though the differences in speed would be the same as at the start of the test.

To weigh all keys equally regardless of their position in the typing test, I think a moving average would be best. You said "calculate over the n previous characters", so that's probably what you were already thinking of. I'm not sure how many would be wise, though, maybe test with 3 characters and do some more tests on how it looks?
By tokranepo - posted: 9 years, 6 months ago

I think, as you've suggested, a moving average would smooth your opening data. I really like the new feature, great work. This site as a whole is incredibly useful and much appreciated!

I don't think redrawing the acceleration/deceleration based on the entire result would be ideal. Smaller groupings would give better context to how the typist is affecting the copy.
Updated 9 years, 6 months ago
By marc3 - posted: 9 years, 6 months ago

I have deployed some changes. Instead of calculating the slope based
on just 2 points, I now calculate it based on 5 points. However, I am
still using the WPM average over all the previously typed characters
which is not ideal. I will try to work on that a bit more on the
weekend.
By marc3 - posted: 9 years, 6 months ago

I have deployed an update to the visualisation system. It should now look ok. If you notice something unusual, let me know.

From a technical side, I am now using the "instant wpm" instead of the wpm over all the typed characters. This takes care of the speed variations being smaller as you type more. I also apply a moving average twice to the "instant wpm" to smooth it a little else it's too messy. Additionally, I calculate the gradient based on 5 characters using linear regression.
By kaikaikaikaikai - posted: 9 years, 6 months ago

Hey marc,

Sorry for the late feedback. I haven't been typing much lately, but the feature looks good now. I'm not really sure now how or even if I can use the feature to improve my typing, but it's a nice gadget.