ranelpadon / ngram-type

Touch typing trainer using N-grams as data source, with options to customize the auto-generated lessons and specify the minimum typing performance needed. There are sound/color effects as well.
208 stars 39 forks source link

Ideal combination/repetition settings? #4

Closed iandunn closed 3 years ago

iandunn commented 3 years ago

Thanks for building this tool, I've found it really useful :)

Do you have any thoughts on what the best settings for Combination and Repetition are?

I've got Combination set to 3, because that feels more realistic to me. If it's set to 1, then I tend to leave my hands on the keys that make up the ngram, rather than returning them to the home row. I think that means that I don't build the muscle memory of moving my hands to those keys.

I also have Repetition set to 3, since a lower number doesn't seem like enough to commit it to muscle memory.

I'm curious if anyone sees advantages in different settings?

If there is good reason to think that some settings are better than others, then it could be helpful to document that in the app, and set them as the defaults.

ranelpadon commented 3 years ago

@iandunn That's a good question. The ultimate aim of Ngram Type is to have good typing performance in real-life scenario or in typing sites like Monkey Type/10 Fast Fingers. To excel in these contexts need to have Repetition=1 and Combination=max where max usually is between 20-40. That's what I did also before since I really want to improve my Monkey Type performance. Monkey Type has similar settings to that of Repetition=1 and Combination=200 (Top 200 English words). But of course, having Combination=200 in Ngram Type is not realistic, even athletes practices mostly in bursts of subsets/shorter games compared to full game.

So, I think you could have this training pattern (increasing Combination, and decreasing Repetition):

===
Repetition=3, Combination=3
Repetition=3, Combination=4
...
Repetition=3, Combination=10

===
Repetition=2, Combination=3
Repetition=2, Combination=4
...
Repetition=2, Combination=10
===

Repetition=1, Combination=3
Repetition=1, Combination=4
...
Repetition=1, Combination=10
===

Then, increase the speed threshold on each round (each set of Repetition and Combination) based on your running average speed, or once you feel that the current set is too easy/comfortable for you. Likewise, you could aim up to Combination=15 or Combination=20 instead of Combination=10 only. This guarantees building good muscle memory and continual progress. Lastly, try to always aim for 100% Accuracy. Let me know if something is not clear. Maybe good idea indeed to include in the README/docs. :)

iandunn commented 3 years ago

The ultimate aim ... is to have good typing performance in real-life scenario increase the speed threshold on each round try to always aim for 100% Accuracy

That all makes sense, thanks!

To excel in these contexts need to have Repetition=1 and Combination=max training pattern (increasing Combination, and decreasing Repetition)

Ah, so repetition is useful at first, so I can establish enough muscle memory to type comfortably. But then, over time, it's useful to decrease it, because then the ngrams I'm shown are unexpected, and that exercises the existing muscle memory.

Is that it?

ranelpadon commented 3 years ago

@iandunn Yeah increasing Combination and decreasing Repetition (which re-shuffles the data ordering as well) makes the exercise harder, which your muscle will adapt eventually. You should start mastering the bigrams/trigrams first since they are the building blocks of the English words, so you could have good performance even in Top 1000 words. Although most typing sites only test for Top 200 words. But training those bigrams/trigrams really well is a good investment. And if you always aim for 100% accuracy at the expense of speed, eventually your speed will catch up since you will build "good" muscle memory and correcting mistakes is costly. Likewise, if you have low accuracy, you will build a "bad" muscle memory. :)

iandunn commented 3 years ago

👍🏻 , thanks!

ranelpadon commented 3 years ago

Improved the README and added the discussion here into it: https://github.com/ranelpadon/ngram-type#effective-practice

Hence, closing this issue now. Thanks for the suggestion.

iandunn commented 3 years ago

Thanks!