25 comments

[ 8.2 ms ] story [ 60.5 ms ] thread
Looks good!

What does the face indicate under error %?

Thank you. The smileys below the error rate show how happy the tutor is with the user's typing.

There are four smileys:

(。ʘ‿ʘ。) - Very happy; error rate is 0% and speed is at least 40 words per minute.

(ʘ‿ʘ) - Happy; error rate is 0% but speed is less than 40 words per minute.

(⊙_⊙) - Unhappy; error rate is greater than 0% but does not exceed 2%.

(⊙⁔⊙) - Sad; error rate exceeds 2%.

Also, see https://github.com/susam/quickqwerty/blob/1362e6d4edd9932b31... and https://github.com/susam/quickqwerty/blob/1362e6d4edd9932b31....

Typing speed is measured in words per minute. Five characters count as a word.

Error rate = number of errors made / number of characters typed correctly * 100%, rounded to the nearest integer.

Cool tool, but it feels like there is a little bit of latency when I type. It's very subtle, but it throws me off a bit. Is it true? Maybe it's all in my head. But if it's there, it would be nice to lower it.
It might be because the textarea is listening for a keyup event, and you're used to seeing letters when the key is on its way down.
Thank you for getting deeper into this and finding the actual cause of the issue. It will help me to fix it in the next release.
I wasn't aware that this little latency could be inconvenient. Thank you for pointing this out. I'll fix it in the next release.
Nice. I like that you let people download easily.

One thought: the font for '1' and 'l' are too similar, and often confusing.

I'm at unit 12 and my wrists are hurting :) But it's good practice. Gosh how good it feels to be typing normal words again :)).

I think it can really improve typing performance if you exercise like this.

It feels like I type maybe 30% faster right now after 15 minutes of training.

Good job.

Personally I think the keyboard, and how people are often trained to type, has a lot to do with it. I've seen many who type with what looks like far more force than necessary, and it could be related to the fact that a lot of keyboards require high actuation forces and have a sharp force-profile. That makes the hands tense, which reduces accuracy and speed, and the instinctive reaction is to stiffen the hands even more, making it worse. If you want to type faster, you should relax.

Typing shouldn't hurt, and even when I'm typing really quickly (I average in the 140-150wpm range, with bursts over 200) my fingers feel like they're bouncing over the keys instead of being forced into pecking at them. Use the lowest amount of force that just actuates the keys, and let the key push the finger back up. Try finding a keyboard with a lighter, bouncier/softer force profile.

I <3 that the code is shared.
As a german guy (with qwertz keyboard) I feel like I'm left out :-(
I am sorry to know that you feel left out. QWERTZ keyboard is not too different from QWERTY keyboard. QWERTZ keyboard has the positions of Y nd Z are interchanged and has a few more letters with diaeresis. So I believe you might be able to use QuickQWERTY itself on QWERTZ keyboard as well if you are a little careful about ignoring the guide for units 7 and 12.

By the way, the code for QuickQWERTY is available at at https://github.com/susam/quickqwerty. Anyone interested in writing units for alternate keyboard layouts like QWERTZ, AZERTY, Dvorak, etc. just needs to fork the project and work with one file: js/units.js. All the units are defined in this single JavaScript file.

The only things that one might find a little confusing in js/units.js are the 'main' and 'alternate' properties. The 'main' units teach 6-7 split style of typing the number keys and the 'alternate' units override some 'main' units (units 16 to 20) to teach 5-6 split style. For more information on this, see http://quickqwerty.com/README.html#split.

So all one needs to do to support alternate keyboard layouts is to edit js/units.js and define lessons that make sense for the keyboard layout. The user interface is not hardcoded to display only 21 units and only 5 subunits per unit. Therefore, one can change the number of units in js/units.js as well as the number of subunits in any unit, and the user interface should take care of displaying the appropriate number of units and subunits.

It took me a while to understand why there was such a tricky character as semicolon in the first unit. On a Swedish keyboard, I think it's equivalent to typing the < key on a US keyboard (and the left shift key on a Swedish keyboard is tiny).

We have QWERTY though.

(comment deleted)
i have to say, i failed miserably the first few times due to always looking up what i needed to write:D Maybe it was because of the random stuff you need to write instead of segments you can interpret,
Am I the only one who think holding your fingers on the home-row is very painful on the wrists?

Basically every touch-typing guide wants you to sit in this painful position[0].

Is there really no better?

[0] http://kinesis-ergo.com/wp-content/uploads/2013/07/ulnar-dev...

I used the instructions generally given in traditional touch typing courses while writing the instructions for this tool.

I agree that sticking to the home row puts undue stress on the wrists. When I began experiencing soreness in wrists, my girlfriend got me a Microsoft Natural Ergonomic Keyboard 4000. It helped and the soreness disappeared.

By the way, even while working on a normal keyboard, I don't bend my wrists as shown in the image link you have posted ( i.e. the first image at http://www.kinesis-ergo.com/partners/health-safety/ergonomic...). I believe, the following statement from the article is not always true.

"On traditional keyboards the span of your shoulders exceeds the contiguous width of the home row of keys. In order to position your hands over the home row it is necessary to bring your hands together in front of your body with your wrists deviated."

My shoulder width exceeds my laptop keyboard by a significant margin. However, I don't have to bring my wrists together to type. I place my arms and wrists in a manner similar to what is shown in the second image in the URL I shared above, even for a normal laptop keyboard. Each of my arm approaches the keyboard from either side of the keyboard making about 45° angle with the base of the keyboard, i.e. the left arm approaches from near the left corner of the keyboard and the right arm approaches from near the right corner. Fingertips of each arm is placed in a slightly arc shape over the four home keys. Forefingers are aligned with my wrists, therefore, each forefinger makes about 45° angle with the space bar.