This document contains the following sections:
You can use the Help Window to display online help while running Typist. At the top of the window you can select from the topics that the help window offers. Selecting a topic brings the help information for that area into the window's text display.
Select File->Close Window on the menu bar for this window to close it.
The file Typist30.html contains an HTML version of the online help text.
This is the main window for Typist. The menu bar allows you to activate the other windows that Typist can display - the Tutorial Window, the Exercise Window, the Statistics Window, and the online Help Window. Additionally, it also offers a Help pulldown item: Use Help->About to get information about Typist and its licensing, and Help->On Typist to obtain the online Help Window.
Typist offers a number of alternative and complementary lesson series. The Control Window allows you to select which lesson series is currently active, and within a lesson series allows you to select a particular lesson.
Beneath the window's menu bar is a toolbar. Using the toolbar, you can select the lesson series that is active, and move forwards and backwards through the lessons in that series using the <Prev and Next> buttons.
The final area of the Control Window is the lessons list. This shows each lesson that the currently active series contains. To run any lesson individually, select it from this list. Lessons can be of three basic types:
Tutorials are displayed in the Tutorial Window. Drills and Speed Tests are displayed in the Exercise Window.
This window shows the text of the most recently selected Tutorial. Use the scroll bars to read the text. The window may be left up as a reminder of the lesson if you wish.
This is the window that you type into for practice, and displays both Drills and Speed Tests.
When a Drill is being shown, the window contains two text areas. The upper one shows the target text that should be typed, highlighting the next character expected. The lower text area shows what you have typed at the keyboard so far, with error characters picked out as '*'s. In a Drill, backspace characters will not delete the last typed character.
For a Speed Test, only one text area is shown. Again, the expected next character is highlighted. In a Speed Test, you are required to overtype the characters in this text area. If you enter an incorrect character, Typist puts a '*' at the location of the error. You can use backspace to back up and correct mistypings in Speed Tests.
For both of these types of exercise, Typist times each keystroke, and at the end of the exercise, it displays information about how many errors you made in typing the exercise, and also your typing speed and adjusted speed in Words Per Minute (WPM). The initial typing speed is calculated as the number of keystrokes made divided by five (the notional average word is taken as being five characters), divided by the time in minutes taken to complete the exercise. The adjusted WPM is the initial speed in WPM, less one WPM for every typing error you made.
When timing keystrokes, Typist does not count the first character of an exercise. Also, if you pause for a few seconds between characters it won't count the next character after the pause as part of the exercise. It does this to try to maintain sensible keystroke timing information in cases where you might take breaks in mid-exercise.
To restart an exercise from the beginning, use File->Restart Lesson on the menu bar.
Each time you strike a key in an exercise, Typist notes the key that you struck, the one it was expecting you to strike, and the time it took you between the last key you struck and this one.
The Statistics Window displays a complete analysis of all of this timing information collected on exercises. Keystroke statistics are integrated by finger, and also displayed by individual key. You can use the View pulldown menu to decide which set of statistics you want to see in the window.
Each statistic is shown as a pair of gauges, giving the percent accuracy and speed for the finger or key. If the accuracy or speed drop below certain threshold levels, the gauges will change color to orange or red, to indicate that these are areas in which you might consider some additional practice.
Press the Refresh button to bring the window up to date with current keystroke statistics. The window is automatically refreshed if you change which set of statistics is on view, when the window is displayed, and at the end of each typing exercise you complete.
You can use the File->Reset All pulldown menu item to set the complete collection of measurements back to their initial condition.
The statistics shown by this window are the normal keystroke statistics, broken down by key and by finger. The adjusted WPM rate can therefore sometimes appear harsh - over a long period of typing at 40WPM, 20 errors on one finger will halve the adjusted WPM. Use these figures with care. Also, note that the WPM rates are calculated on timing information that is regardless of whether you struck the right key or the wrong one - this means that where accuracy is poor, the WPM rates shown for individual keys and fingers become misleading.
Typist (Java version) consists of a flat directory of Java source files, and a single Makefile. If you have make on your system, then merely invoking the command should be sufficient to build the complete set of class files - the Makefile does not contain any complicated or GNU-make dependent constructs.
If you do not have make available, try 'javac [-O] *.java'. The Java compiler is usually smart enough to automatically compile any source files for a needed class file, so building should not be too much of a problem.
Most classes contain a main() method that tests the class in some way, the obvious exception being the Typist class that contains the 'real' main() method, and also the applet entry point for the program. The main() method in the HelpHTML class prints out the online help text as a single HTML User Guide document.
The single main runnable class file in Typist is:
To run Typist as an application; use a command something like 'java Typist' to run the Typist class. You can add -k keyboard_type to specify the keyboard type. Use -h for a full list of arguments.
To run Typist as an applet, again use the Typist class. For an applet, the keyboard type can be specified using the applet parameter kbtype - see TypistApplet.html for an example of HTML applet tags to activate the program. Because the program makes heavy use of frames and menu bars, the applet form is nothing more than a single pushbutton that starts the main program in a separate frame outside the browser. Use the buttonlabel applet parameter to control the label on this pushbutton.
One other point about applets; they cannot use dialogs very well, so for applets the popup dialogs are actually implemented within their own frames. Among other things, this means that they don't disappear when their 'parent' window is iconised, unlike true dialogs.
This program is a Java reworking of a UNIX C++ reworking of a UNIX C/Curses reworking of an IBM PC reworking of an original DECUS VAX BASIC program. This Java version, Typist v3.0 was created by Simon Baldwin, simonb@sco.com, and will probably be my last word on the subject, since I now feel I have truly worked this one to death.
Thanks to the original authors, whoever they were, to D. Jason Penney for the initial conversion into C/Curses, and to George Ferguson for posting it to the Internet.
Typist v3.0 (Java), Copyright (C) 1998 Simon Baldwin
This program comes with ABSOLUTELY NO WARRANTY; for details please see the file 'COPYING' supplied with the source code. This is free software, and you are welcome to redistribute it under certain conditions; again, see 'COPYING' for details. This program is released under the GNU General Public License.