[ Typodrome Applet Operation Manual ]

[contents]

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

getting started.

Typodrome is a Java applet which can be used to practice typing skills, or create ones if there aren't any.

  • It shows a string of characters which should be typed.
  • Characters should be typed as fast as possible, because time is measured, as well as number of errors.
  • In case of typo, next character(s) should be typed as if nothing happened, no attempts to retype or erase mistyped character shall be made.
  • As the line finished, Enter (a.k.a. Carriadge Return, or simply Return) key should be pressed with maximum urgency.
  • Timer measurement starts after the first charater of the string is typed, and stops after Return is typed.
  • Typodrome displays two graphs : character per minute rate and number of errros for each typed line. Graphs allow to measure progress by visually inspecting said graphs.

As marginally important fact we would like to mention that Typodrome, including accompanying source code is in a Public Domain, i.e. Free. We also disclaim any responsibilty for anything, like broken keyboards, twisted fingers, popped eyeballs, etc.

interface

Lesson choice

Numerous lessons give opportunity to select set of characters used to generate a string.

Characters in lessons are picked with keyboard layout in mind, giving easiest characters/keys at the beginning and adding more complex characters/keys in a process.

Each lesson consists from the characters of a previous lesson, plus couple of new ones. New characters are indicated in the name of each lesson.

Study/Drill button

Changes rules of test string generation. If button label says "Study" (default state), then lesson characters (i.e. characters new to this lesson) are generated about 3 times more often than all other characters (from previous lessons). This may be useful when starting new batch of characters. If button is being clicked upon, it changes label to "Drill", and that means that now characters will be generated with equal probablity. It can be useful to practice skills when new characters are learned, and old ones are starting getting forgotten.

Cpm, time, error labels

cpm can be decronymed as "Characters Per Minute". Time is time spent on typing the string. Errors is a number of characters mistyped.

numbers and fingers

1 -- use A-finger
2 -- use S-finger
3 -- use D-finger
4 -- use F-finger
5 -- use F-finger
6 -- use J-finger
7 -- use J-finger
8 -- use K-finger
9 -- use L-finger
0 -- use ;-finger

source code

Source code is available.

Source code consists of two files :

Typodrome.java
contains
  • main Applet class, Typodrome.
  • TypoLesson -- packs letters for each particular lesson and contains method to generate life-like random string.
  • TypoSession -- contains scheme for generation of the lessons, sets up which lesson contain which characters.
  • TypoController -- responsible for managing test string, draws typed and mistyped characters, adjusts font size to the window.
  • TypoTimer -- thread class used for counting time spent on typing by running timer in background.
  • LockedInt -- wrapper for the integer to allow synchronized non-colliding access to the value from multiple threads.
GraphPlot.java
Class GraphPlot responsible for drawing of the graphs.

To compile:

  • files should be placed in a separate directory
  • compile them at once:
      javac Typodrome.java GraphPlot.java
    
  • archive the result for Netscape Navigator faster loading (InfoZip's zip utility is recomended as supporting long file names) :
       zip -r -0 Typodrome.zip *.class
    
    (that is zero, as a parameter, not letter oh)

  • HTML should be typed (without using the Typodrome):
       <applet archive="Typodrome.zip" 
                  code="Typodrome.class" 
                  width="100%" height="60%" >
                    
          some alternative text for the unfortunate ones...
            
       <applet>
    

resizing

It is possible ot change size of Typodrome applet (in Netscape Navigator at least). It should have 100% width and 60% hight of the containing window, so it may be resized to accomodate size of the browser window.

To resize:

  • in Navigator 2.x: disable Java in Options/Security Preferences... dialog, "General" tab; resize windows as necessary; enable Java, reload if nothing is visible.
  • in Navigator 3.x: resize window and then Reload the page.

tested configurations

So far this applet was tested with

  • Netscape Navigator 2.01 (32-bit Windows)
  • Netscape Navigator 3.01 (UNIX : SGI IRIX)

Netscape Navigator 3.x is preferred, since it will load the whole thing in one slurp, while previous versions would make separate connections to download each one of the seven used class files, which may be quite disturbing experience.

It also may work with other browsers, but this is purely coincidental.

misc

Known bugs/lost features:

  • Lesson Choice control (a.k.a Combo Box, a.k.a. Drop-down List) does not have scroll bar, which may cause problems in lesson selection. This is shortcoming of a Java Window Toolkit and we haven't got strong enough incentive to fix it.
  • no lessons for <TAB>, <Backspace>, <Caps Lock>, all functional and cursor keys.
  • we have got as far as lesson # 6 for now, so we may not know what kind of bugs are lurking on the higher levels.

Planned features:

  • Keyboard layout display.
  • International versions.

. . . . . . . . . . . . . . . . . . . . . . .
epistulatorium is [typodrome@absurd.org].