Jane Zeni Flinn
We have found COMPTRACE to be a valuable tool for accurately recording the revision process and for prompting a writer's recall of that process during interviews. Research conducted with this software has been reported and demonstrated at many conferences. Since teachers and researchers often ask how they can get a copy of COMPTRACE, we are offering this paper as a response.
Keystroke-recording and keystroke-replaying software must be written as a modification to a specific word-processing program. Ours was written for THE MILLIKEN WORD PROCESSOR, an Apple program designed by Owen and Irene Thomas to support the composing process for inexperienced writers. COMPTRACE will not work with other Apple word processors. The principles of developing
p. 46
such recording and replaying software, however, are quite similar for almost any word processor. We'll outline our approach in an effort to help others develop and use similar programs. First of all, a few warnings are necessary:
Programming COMPTRACE was not especially difficult because John Oberschelp had written the software for the MILLIKEN WORD PROCESSOR. He knew how the program was put together and how it could be most easily modified. Here is his description of the procedure he followed:
There are two pieces of code in every word processor that need to be modified in order to give the program the capacity to record a writing session and play it back at another time: the code that determines whether a key has been pressed (check-the-keyboard) and the code that remembers which keypress occurred (read-the-keyboard).
During a recording session, the word-processing program must appear to function the same as it did before the modification. This lets the student work naturally without interruption from the software. However, "check-the-keyboard" and "read-the-keyboard" must work continuously. "Check the keyboard" keeps looking for keystrokes while it increments a counter to keep track of the time till the next keystroke. "Read-the-keyboard" must read each key and record, in memory, which key was pressed and the value of the counter (how long it took the writer to press the key). After recording, "read-the-keyboard" must clear the counter to prepare for the next keystroke.
To play back a session at the word processor, "check-the-keyboard" and "read-the-keyboard" must mimic the action that
p. 48
took place as the writer composed. The programs take their cue, not from an actual keypress, but from the record of the earlier session stored in memory. "Check-the-keyboard" checks the counter. If it is not 0, the programs decrements the counter and does nothing; if the counter is 0, "check-the-keyboard" reports that it has detected a keypress. "Read-the-keyboard" presents the value of the next keypress from its record as if it were just typed at the keyboard. In this way, "check-the-keyboard" reports when something happened, and "read-the-keyboard" reports what happened.
Add to these changes the ability to write a completed session to floppy disk and to read it back to memory and you have a record/ replay word processor, a la COMPTRACE. Since the keyboard is not being used for anything during playback, several features can easily be added to "check-the-keyboard." Such commands can freeze, speed up, or abort the playback.
Once the keystroke record has been written to a disk, it is possible to obtain a list of the value of each keystroke and the timing in tenths of a second. This list can be printed out so that a researcher can analyze the tempo of composition and the syntactic points where pauses occur.
Preserving the keystroke records for later interviews and research requires some care. At the end of a composing session, the student's disk is in the computer, and the student saves the session's work as usual. The playback record, however, is stored in the modified word-processing program, which usually requires the help of an adult in switching disks. Adult supervision is especially important while replaying a composing session. The replay of a revision may conclude with storing the new, revised text in the old file which held the first draft-in which case the revision will overwrite the original. It will then be impossible to replay this particular session again because the original file cannot be reconstructed.
There are three ways to protect data from such accidental overwriting: ( 1) Keep at least one master copy of each modified word-processing disk that is not used for replaying. (2) Teach
p. 49
students to save each revision under a new filename, as in "GHOST1," "GHOST2," "GHOST3." (3) Write-protect the student's disk before replaying a session with the modified word-processing program.
Jane Flinn discovered the latter when she overwrote the file of a sixth grader who was a poor writer but an astute computer user. After Bob heard explain her dilemma, he responded with a look of sympathy, "You know, that wouldn't have happened if you had just put one of those little silver tapes on my disk." Jane assures me she has not lost a draft with COMPTRACE since she began following Bob's advice. Here is our suggested procedure for recording a session:
The programming described in this paper was supported by a grant from the Fund for Improvement of Postsecondary Education.
The MILLIKEN WORD PROCESSOR, part of the MILLIKEN WRITING WORKSHOP (1985), was designed by Owen and Irene Thomas of Iota, Inc. and programmed by John Oberschelp. The Milliken Publishing Company, St. Louis, kindly allowed their product to be modified to create our non-commercial software, COMPTRACE.