bragefuglseth / keypunch

Practice your typing skills
GNU General Public License v3.0
85 stars 13 forks source link

VerseQ Mode Support #48

Open JayXT opened 1 week ago

JayXT commented 1 week ago

Hello!

Slightly more than a decade ago there was one program called VerseQ. It's a touch typing training application that had a few unique features:

  1. It focused on teaching to type with all keys at once.
  2. User had to complete typing a line of text, after which the results were evaluated and shown: speed, pace, rhythm, number of mistakes. At the same time a new line for typing is generated and shown.
  3. The app generated one line of text each time. Although the text was a set of random characters, it resembled common letter/word combinations in a respective language. Basically, the generated text followed the model (common character combinations) for that language. Text line also contained small amount of digits and punctuation.
  4. If a user made a mistake, or the more the user made a mistake on a certain character, the more character occurrences were added to the next text line generated for typing.
  5. If a user stopped making mistake, i.e. they typed the line perfectly, the next generated line will look as described in 3.
  6. Backspace is not needed, user types the character until they get it right.

Using this program I was able to learn how to touch type and increase typing speed from prior 60-70 CPM up to 400-500 CPM.

So I wonder whether something similar could be implemented in Keypunch. The main idea is that this training method focuses on user mistakes and makes a person type problematic characters more. The better are the results (the less mistakes are made), the closer next line resembles usual character combinations for that language. Thus, user cultivates accuracy, rhythm and finally speed.

The reason for this feature request is that VerseQ supported only English, German and Russian languages and had support only for Windows. If these limitations could be eliminated in a far more modern and clean application like Keypunch, it would eliminate a need for this legacy piece of software.

bragefuglseth commented 1 week ago

Hi, and thanks for the suggestion! VerseQ sounds like an interesting app, and from your description of it, it seems like it bears some semblance of the more contemporary website Keybr, which I've used myself.

I have played with the idea of building a "Practice" mode alongside Simple, Advanced and Custom, and I believe some elements from VerseQ can be smoothly incorporated into this. This hypothetical new mode would:

This is far from top of my todo list, since there are a lot of other goodies I'd like Keypunch to have before that (first and foremost logging and statistics), but I'll keep this open for when the hypothetical practice mode eventually reaches the drawing table.

JayXT commented 1 week ago

@bragefuglseth, the only correction I could probably add , is that VerseQ doesn't limit the available characters as you've described here:

  • Start with the f and j keys only (or the equivalent keys on other layouts), and then progressively add more as you get up to speed on each added key

Instead the app generates strings for the entire layout right away, albeit there was a choice whether to include additional characters, punctuation. And if user makes a mistake in "f", "j" or other symbol(s) then more occurrences of it/them will be added in the next generated string.

bragefuglseth commented 1 week ago

Good catch. I imagine this practice mode as an attempt to teach touch typing from the ground up in addition to sharpening existing habits, and with that in mind, I think it makes sense to start small and introduce more keys incrementally. This way, people who don't know touch typing or are learning a new layout can start from the basics, while experienced typists will breeze through the first sessions and get to a sufficient difficulty pretty quickly anyways :slightly_smiling_face:

JayXT commented 1 week ago

Perhaps there's some truth to this statement. In any case, from my personal experience it was more interesting to try to use the entire keyboard and attempt to type common character combinations from the get-go. I've tried Solo that teaches using the approach of slowly adding more characters and it was a very long and boring process:(

If people who already can touch type would be forced to use this approach for honing skills, depending on the time needed to reach full coverage they might quit quickly.