
Show HN: QuickQwerty – Touch typing tutor - susam
http://quickqwerty.com/
======
codeshaman
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.

~~~
melling
No pain no gain. I don't think people realize how bad typing can be.

[http://markmcb.com/2014/10/13/severe-hand-rsi-pain-and-
recov...](http://markmcb.com/2014/10/13/severe-hand-rsi-pain-and-recovery/)

[http://24ways.org/2014/dont-push-through-the-
pain/](http://24ways.org/2014/dont-push-through-the-pain/)

[http://www.looknohands.me](http://www.looknohands.me)

~~~
userbinator
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.

------
appleflaxen
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.

~~~
prezjordan
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.

~~~
susam
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.

------
mtrn
If you are more partial to the Terminal, check out GNU typist:
[http://www.gnu.org/software/gtypist/](http://www.gnu.org/software/gtypist/).

------
wodenokoto
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...](http://kinesis-ergo.com/wp-content/uploads/2013/07/ulnar-
deviation-455x341.jpg)

~~~
susam
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...](http://www.kinesis-ergo.com/partners/health-
safety/ergonomic-benefits/freestyle-ergonomic-benefits/)). 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.

------
memming
Nice. I like that you let people download easily.

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

------
W0lf
As a german guy (with qwertz keyboard) I feel like I'm left out :-(

~~~
susam
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](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](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.

------
mstechfreak2
[http://www.typingstudy.com](http://www.typingstudy.com) is better :)

------
jozan
Looks good!

What does the face indicate under error %?

~~~
susam
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...](https://github.com/susam/quickqwerty/blob/1362e6d4edd9932b319537a6cef9adf1b30bf09c/js/tutor.js#L215)
and
[https://github.com/susam/quickqwerty/blob/1362e6d4edd9932b31...](https://github.com/susam/quickqwerty/blob/1362e6d4edd9932b319537a6cef9adf1b30bf09c/js/tutor.js#L1138).

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.

------
babo
I <3 that the code is shared.

------
eggie
Learn Dvorak and save your hands (and maybe career). And type faster, in a few
months.

~~~
melling
[http://lifebyexperimentation.com/2013/08/learn-
dvorak/#.VJRl...](http://lifebyexperimentation.com/2013/08/learn-
dvorak/#.VJRl8AOAA)

------
hoare
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,

