I recently sat down with my 12-year-old son Ian, who agreed to sit still long enough to try a few typing teacher applications on Ubuntu Hardy Heron. Ian has a lot of experience on the computer but, until now, he has subscribed to the hunt and peck typing philosophy. Fortunately, we found a number of open source typing tutorial programs to download and test. Ian and I looked at three GPL-licensed apps: Klavaro, TuxTyping, and KTouch.
Ian first tried Klavaro, which comes packaged in .deb, RPM, and .exe versions, or you can download and compile the source code. The developers say this app is based on KTouch but adds more functionality by allowing users to choose from several different languages and keyboard layouts, including QWERTY, Dvorak, and several non-English layouts.
Klavaro, which installed itself under Applications -> Education, opened to a main menu window where you need to select the type of keyboard you want to use and the language. Defaults are the Dvorak keyboard and the Czech language. Once that's squared away, you're ready to begin learning touch typing. Ian clicked on Introduction, and Klavaro started him out with a fairly brief introduction consisting of several paragraphs of narrative explaining the proper positioning of the fingers and the proper movement when pressing keyboard keys. My son is not one for reading instructions on much of anything, preferring to jump right in, so he skipped the introduction and went right for the first lesson.
Lesson One got him started on typing f, j, Space, and Enter in different combinations. He was able to pick that up in spite of skipping the introduction, and the lesson, while extremely basic, did hold his attention and did seem to work as far as helping him begin to memorize the locations of letters by touch. He finished the first lesson and seemed motivated to go on to the next, which is the mark of success when dealing with an "I'd rather be outdoors than sitting here doing lessons" kind of guy. The next lesson featured the letters k and d. Ian's speed and accuracy went up a bit on the second lesson, which kept him going onto the third with the letters s and l. Klavaro progresses in small increments, staying on the home row for several lessons and grading the student by percentage of errors and typing speed. You can look at cumulative reports to see how you're progressing.
Ian said he liked Klavaro and wanted to keep going with it, but it was time to move on to the next typing application. I promised him he could come back to Klavaro later.
Next on Ian's list was TuxTyping, which is available for Windows, Mac OS X, and Linux. I think we knew he was in for something different when we discovered TuxTyping installed itself not in Applications -> Education, but in Applications -> Games.
I figured Ian would like TuxTyping more than Klavaro since the former has a video-game-style interface and teaches typing drills and word lessons by using games with levels like "Space Cadet" and "Ace," as well as more traditional lessons. I let Ian decide where to start. A game called Fish Cascade is the first item in the main menu, another game called Comet Zap is second, and Lessons is all the way down in third place. Under that are Options and Quit. Ian chose Comet Zap at the Space Cadet level, the least difficult of four levels, with the others being Pilot, Ace, and Commander. Then he chose Finger Exercises, which shows groups of three random letters for him to type in order to have Tux the penguin shoot alien ships. Other options include Alphabet, which is easier because you only have to type one letter at a time instead of three in a group; Long Words; Short Words; Medium Words; and, oddly enough, Plants, which shows common names of plants that the student must type correctly in order for Tux to shoot the alien ships. With any of these options, Ian found the games a challenge, since he doesn't know the location of the letters on the keyboard and had to keep looking down at the keyboard in order to find the right letters, type them, and have Tux shoot the ships before they could land on the Earth. Oddly enough this difficulty was a motivating factor. I told him he could just drop back and do the lessons to learn the layout of the keyboard, but he wanted to keep playing the game for a little while.
TuxTyping's other game, Fish Cascade, has Tux chomping up fish before they fall to the ground whenever the player types the letters correctly. Fish Cascade's levels are much less creative -- Easy, Medium, and Hard -- and the types of exercises are the same as in Comet Zap: Alphabet; Finger Exercises; Long, Medium, and Short Words; and Plants.
When he finally exited Comet Zap after 10 minutes or so, Ian decided to try the lessons. The informational screen (which he skipped but I read) informed us that the lesson was just a sample and it was really up to us to edit the lesson XML files in order to create our own lessons. Uh, sure -- just what every mom or dad needs in a typing tutor program for their kids, to have to create custom lessons by finding and editing XML files. This is not a skill most people have, rendering TuxTyping too difficult to use for the majority of its potential audience.
Regardless, we went ahead with the sample lesson, and Ian was frustrated by the way the lesson jumped right into typing words with letters from all over the keyboard, instead of basic home row drills like Klavaro has. I suppose we could put our own home row drills in by editing those XML files, but it would make ever so much more sense to have those included already.
Finally, Ian tested KTouch, a KDE application that is included in most distributions that include KDE. It is also included in the standard Ubuntu repositories, so I was able to install it through the Synaptic Program Manager in GNOME. KTouch installed itself in Applications -> Education.
Unfortunately, KTouch's opening screen doesn't offer a beginner much guidance. The window shows a graphical keyboard layout, and displays boxes showing the lesson level, current typing speed, the percent of correct keystrokes in the session, and new characters to be learned in the level (which, on the opening screen, simply said "Quite a lot"). It provided no obvious instructions for how to start the lesson or what was required to complete it. Ian finally determined that he needed to type some of the text shown in the upper portion of the screen. The text doubles as the needed instructions for opening a "lecture/training file" to start learning touch typing -- but you don't find that out until you type enough of the text to force it to scroll over so you can read it in its entirety, at which time you discover that this line of text was the "default lecture." This seemed asinine to us, and for a beginning typist without knowledge of the QWERTY layout it was an exercise in frustration. It would make more sense to offer a default lesson that begins with the most basic information, such as learning the location of the home keys. I looked in the Settings menu but I found no way to make the level more basic. Apparently KTouch is not geared to the beginning typist. One saving grace of the program is that it highlights the correct key to type on the onscreen keyboard layout.
Ian was much more patient with this application than I would have been. He wanted to keep on typing simply because he could look at the screen for a graphic representation of which key to type instead of having to peek at the actual keyboard. However, once he finished the sentence-long default lecture, he didn't feel the need to go any further with KTouch, claiming that Klavaro was his favorite, though he said he would be fine with KTouch if he were a more advanced typist. He liked TuxTyping the least of the three.
We had a positive experience with our test-drive of typing tutors. Now if I could just think of a way to entice Ian back to the computer to finish learning touch typing....