nickm.com > older writing > SMthesis

Initial Software Development


First Considerations

This project initially required development of three pieces of software: EddieEdit, StoryStages, and E-Write. EddieEdit is the writing assistance program with a conversational character interface. StoryStages is a program with similar information about story writing but no character or conversational abilities. E-Write is a simple word processor. These programs were for use in the study to evaluate how effective a conversational computer character actually was in helping students write stories. From the beginning, the plan was for development of EddieEdit and StoryStages to continue after the study so the software could be improved based on observation of and feedback from users. This section describes only the development that was done prior to the study.

Selecting a Platform and Programming Language

Most educational software sold and used now is dual format and runs on Windows systems as well as Macintoshes. Traditionally the Apple Macintosh, and before that the Apple //, have been the computers of choice for schools and young users. Now, more and more children have Windows-based computers at home. Apple computers still dominate in the elementary classroom and in school computer labs for grades K-5, however. Developing software that runs on both types of systems would be optimal.

The need for close integration with a standard word processor, however, means that the same program could not be simply generated in an integrated development environment and easily ported between the two platforms. A text editor like the Windows Notepad differs from SimpleText on the Macintosh. A program that functions like one of these could be created in a cross-platform development environment, but users on one system would be provided with a nonstandard writing tool. In addition to this concern, integrated development environments that enable the creation of applications for both Macintosh and Windows systems generally require additional development time and effort. The development process would have been be unduly lengthened if each of the three programs was created for two platforms.

Another option which would allow cross-platform use and expand the availability of the system is the creation of a Web-based application. In fact the planning interaction with Eddie was implemented on the Web after the completion of the study, and Eddie has been made available online for conversational encounters. For purposes of the study, though, the desirability of close integration with a word processor is again a concern, and suggests a stand-alone application is preferable. Also, many elementary schools lack or restrict Internet access. A Web version of Eddie might be a good way to demonstrate the system to educators and researchers. It would not serve writers as effectively as an application which integrated Eddie with a text editor.

Considering the academic nature of the project and the fact that it had to be developed by the author alone, creating a well-made program for one platform seemed, overall, to be the best option. The choice of a Macintosh platform was clear given the main role of the software as an educational intervention appropriate for school use. Since elementary schools that do have computing facilities often have older computers, support for older Macintosh operating systems and less powerful processors is highly desirable. So three systems created for use in the study were developed for 68000 series and PowerPC Macintoshes with System 7.5 or above.

Eddie himself is a character who responds to text input with text replies, having as both input and output lists of words. For implementing the conversational component, a text processing language like Perl or a list processing language like Lisp would be a natural choice. In fact Perl was used for the Web implementation of Eddie. However, Eddie also must be part of an application that is used in the study. The primary purpose of EddieEdit and StoryStages is to provide a usable writing environment for children. Perl and Lisp are both interpreted languages that are not optimal for fast performance. Although the software being developed is not highly complex, it may need to run on very old and slow computers, which have only limited memory available. A compiled language like C could provide better performance on low-end systems. To allow for close integration with a text processor and fast functioning, Macintosh C was selected as the programming language. This made implementation of Eddie's language processing capabilities difficult but ensured that EddieEdit and StoryStages could be made to work well as application software. The programs were developed in Metrowerks CodeWarrior 11.

Applying General Principles

In designing software, it is always good to be guided by design principles and to be focused on the user's needs and the way the software will likely be used. It is also useful to evaluate how general principles apply to the specific case of the software being developed, and when special cases call for designs that do not strictly conform to generic design ideals. Whatever principles, metaphors, and guidelines may suggest, the focus of design should be on the user and on the action the user is trying to accomplish by using the software. The computer should aid the story-writing process in whatever way is best for the process, not in those ways that conform to existing tools. Design of software should be guided first by the design of action, not the design of tools (Laurel 1993).

The decision to use different modes is an example of how this idea was applied in development. Apple's Macintosh Human Interface Guidelines suggest that applications be modeless. That is, rather than having planning, writing, and revision modes with their own particular options and windows, a single tool with menu options to call up a planning window or revision window would be preferable. Yet this may not be an appropriate approach. One early children's word processor, Bank Street Writer, had different modes for writing and editing to focus writers on the current task. The modes in this program existed only partly for pedagogical reasons. In part, it was the memory limitations of the computer that made them desirable (Nicol 1990). This is not a concern in the current development situation, but the nature of the task is important. Modes are deemed acceptable by Apple if "they emulate a familiar real-life situation that is itself modal." (Apple 1993) In the case of story writing, distinct processes have been clearly identified: planning, writing, and revising. These processes do not occur only in strict sequence, but they are separate cognitive processes - different modes of thought - used by writers. The modal nature of the story writing process therefore suggests a modal application.

Guiding Metaphors

As described by Solomon, there are two particularly prominent metaphors for computer's role in educational computing. Advocates of the first hold that educational software at its best is an interactive textbook. The other camp sees the computer as an expressive medium with which children can learn. Not every software developer who embraces the same general metaphor has the same educational philosophy or takes the same approach. The former perspective, for instance, is manifested in the work of Suppes, a proponent and developer of software to aid in rote learning, and Davis, who favors Socratic and discovery learning methods. The later view is held by Papert, whose philosophy of constructionist learning draws on Piaget's constructivist work. Another strong believer in the computer as a vehicle for expression is Dwyer, who has sought to emphasize using the computer as a tool in the problem-solving process. (Solomon 1986).

As Laurel advises, the developer who sees educational software from either of these perspectives should first consider the educational activity. So it is best not to characterize these viewpoints as the computer as interactive textbook and the computer as expressive medium. Instead, identifying the relevant activities that software is helping to accomplish is most enlightening. For those who hold with Suppues, these activities include drilling and practicing. The others mentioned above are more concerned with expression, discovery, and creation.

EddieEdit's specifications and goals fit in with the metaphor of an interactive textbook to some extent, since its textbook-like base of story writing tips is the main feature. However, the program also provides a creative workspace in which students write, using the computer to express themselves without being forced by the software to write about a particular subject. So some elements from both constructionist software and more textbook-like approaches inform the design of EddieEdit, and both perspectives were kept in mind during development.

EddieEdit is neither a computer text nor simply a medium or tool for expression. A slightly different metaphor is best for characterizing EddieEdit - that of the computer companion and helper. The closest analogy may be with those programs known as intelligent tutoring systems. These computer assisted instruction programs employ artificial intelligence, and used a related metaphor, the metaphor of the computer as instructor, as their guide. The intelligent tutoring systems category is not frequently invoked now in discussions of elementary school educational software, being more often employed in reference to training systems or other programs for adult education. For the most part those who call their programs intelligent tutoring systems have a drill and practice view of the computer's role in education. Most intelligent tutoring systems, for instance, used artificial intelligence to generate practice questions rather than simply retrieving them from a list, but the emphasis was on rote learning and not creativity. Such systems also often employed an expert system approach to attempt to deliver more advanced types of training, and the results did not always live up to expectations (Steinberg 1991).

There are essentially two differences between EddieEdit and the typical intelligent tutoring system: EddieEdit is not intelligent, and not a tutor. EddieEdit emphasizes conversational ability and not the building of internal knowledge representations. The software exists to help users plan stories, not to itself engage in planning. Also, EddieEdit does not have any facts or low-level skills that it is trying to teach the user. Instead, the program seeks to stimulate students and help them think more about the writing process. Rather than teaching writers what story elements are and quizzing them about these elements, EddieEdit encourages them to explore story elements by employing them in their stories.

EddieEdit differs from an intelligent tutoring system substantially, but a few of the principles employed in developing these sorts of systems do apply to EddieEdit's development. For instance, the restriction of computer "expertise" to a small topic area is essential to the success of any intelligent tutoring system, and also applies to creating a non-intelligent conversational system which can converse well within a narrow domain.

Applicable Constructionist Principles

EddieEdit has textbook-like and Socratic elements, and is not a system in which children learn by programming or creating systems that do things within the computer. Seymour Papert describes the outlook of constructionism by writing that in contrast to the traditional view in which the computer trains or programs the child, "In my vision, the child programs the computer" (Papert 1980). EddieEdit is clearly not such a system, not a programming environment like Papert's LOGO.

EddieEdit does have a creative process at its core. It is a system to help children create stories. It does not provide drill problems for them to solve, but offers to help them in writing a story on a topic of their choosing, with characters, events, and locations of their choosing. Students are not required to converse with Eddie before they begin writing, or required to revise. All the educational interventions in EddieEdit are intended to support a child-directed creative process. The planning conversation with Eddie is to enable children to frame their ideas so they can use the program's story-writing space to play with these ideas. While the system is developed out of particular developmental concerns in story writing and embodies approaches from different philosophies of education, there is certainly much to be learned from the development of constructionist educational software. EddieEdit, like a constructionist programming environment, is built considering the child as a creator who uses the computer as a medium for expression.

EddieEdit was designed keeping in mind the principles used by Amy Bruckman in creating the constructionist environment MOOSE Crossing. Creating this online world involved developing a text virtual world programming language for children of about the same age group as EddieEdit's users. In creating this language, Bruckman outlined several design principles to keep in mind when developing a programming environment for children. Although Bruckman designed a programming language and not a story-writing application, some principles are also particularly meaningful for designers of educational application interfaces. Of her eight principles, those most relevant for EddieEdit are:

Formal elegance in implementing an interpreter, for instance, is analogous to strict adherence to all user interface conventions in application design. In both cases, developing for ease of use and accessibly to young children is more important than creating a system that will impress programming experts.

Compulsory and Voluntary Assistance

It was decided very early in the design process that neither EddieEdit nor StoryStages would compel users to receive writing help. Writers would begin in planning mode but could skip to writing immediately without responding to Eddie or typing anything beneath the StoryStages prompts. Revision would not be compulsory either.

This decision was grounded in a philosophy of software design, not based on specific results from educational research. In fact, one study has indicated that compulsory writing assistance systems result in greater educational benefits than ones in which the user can choose not to use the assistance features (Zellermayer 1991).

A program that offers mandatory writing help is different than a drill-and-practice program which quizzes the user. A quiz program exists only to train and quiz. A compulsory program uses its mandatory training and quizzing features to prevent the user from accessing the chief function of the program (in this case word processing) independently. By dangling the carrot of a creative environment but not permitting access to this environment until the mandatory training is finished, a program can frustrate and discourage able writers. Even those who could clearly benefit from the assistance should not be held back if they are eager to move on the writing and have an idea they wish to begin typing up immediately.

In the world of consumer software for the general population, compulsory assistance programs are not tolerated. If the current version of Microsoft Word were one of these compulsory programs, for example, the little paper clip character called the Office Assistant could never be made to go away. Microsoft Bob's failure demonstrates that such systems are not desired by those who can choose their own software. It is inappropriate to inflict such a system on a classroom user who cannot make such a choice.

A compulsory program may help young writers in ways that have been quantified, but such software can also do harm that has not been or cannot be quantified. They discourage users from thinking of the computer as liberating and helpful, instead offering them an electronic dictator who demands capitulation. Such software reverses the proper relationship between user and computer, putting the computer in charge. Software like this is popular in education and serves to effectively address some narrow goals, but the analysis of numerous experts in software development should persuade developers to move away from this approach. Software that compels the user to serve its own goals is opposed by principles of Constructionism (Papert 1980) and Feminist Software Design (Cassell 1998), for instance.

Creating E-Write, The Word Processor

The program used as a baseline, and as the word processing basis for the other two writing programs, is a simple text editor. In determining what particular features it should have and which it should omit, careful consideration of the target user group was the guiding factor. This means that the program had to use commands familiar to young Macintosh users and have good fundamental text editing capabilities. It was almost essential that any pre-existing program employed as the comparison word processor have its source code available. This would allow the other software to be built on top of the original word processor, allowing StoryStages and EddieEdit to closely imitate portions of the original software's feature set and interface.

A spelling checker was not necessary. A feature like this could take the focus away from higher-level thinking about story writing by emphasizing the details of orthography. Spelling checkers also can be detrimental to elementary school writers because they report proper nouns as misspelled and do not catch many errors. Many of the misspellings made by students of all ability levels are actually homonyms or other dictionary words and are not detected by spelling checkers (MacArthur 1996).

The program used was a slightly modified version of Apple's SimpleText 1.4, named Elemental Write and abbreviated E-Write. The SimpleText source code has been made publicly available by Apple. SimpleText is straightforward and usable, and, as one would expect of standard Macintosh software, it follows good principles of interface design. However, even this simple program has some features which are unnecessary for story writing. The removal of these extraneous features streamlines the software and enhances the ability of users to focus on the main task, writing stories. The word processing features of StoryStages and EddieEdit are identical to those of E-Write.

SimpleText has the ability to read typed text back to the user in a variety of synthesized voices, using whichever standard Apple text-to-speech synthesis extension is installed. Text-to-speech features in general are very useful for such applications as providing access to children and adults who are visually impaired. However, for words not within the text-to-speech dictionary, lexical stress within words is determined algorithmically. This does not always result in correct pronunciation. Also, grammatical complexity makes it hard to computationally determine a word's part of speech. This means it is difficult to determine how a word should be pronounced when its pronunciation depends upon what part of speech it is. Although the speech may still be understandable despite mispronunciations, text-to-speech could backfire in an educational context and teach children improper pronunciation. Additionally, the feature does not seem important for elementary school story-writing, and could simply distract writers from their main purpose. So the speech menu and its features were removed.

The ability to change fonts using the Font menu was also removed. In part this does stem from a concern that children will macdink rather than write stories, a compulsion to which adults are also subject. Yet the removal of font control does not just disable a feature that children may misuse. It is not simply "watering down" an adult word processing feature, a technique in children's software development too frequently used in place of real consideration of the user's needs and the task's nature (Druin 1996). Some focused writing software for adults, such as the Macintosh program NewsEdit (designed for reporters who will never be doing page layout), also lacks font control. The main concern in E-Write, as in NewsEdit, is the writing task, not the appearance of the type. Although font control was disabled, children might reasonably want to resize text in order to read it more easily, and may reasonably wish to apply styles to the title or other parts of the story. So the Size and Style menus were left as part of E-Write.

The perception of software as new or unfamiliar may itself have a positive or negative effect on writing, regardless of the quality of the software, and regardless of the software's actual novelty. The name of this program was changed so the software would not proclaim its heritage as the standard Apple text processor, in contrast to the two new programs.

The Planning and Revision Prompt List

Eddie Edit and StoryStages share a set of prompts to help young students write stories. In StoryStages this is embodied in an ordered list of questions that are intended to children plan and revise stories. In EddieEdit, these same prompts are integrated into conversation and changed slightly so as to be in Eddie's voice. However, the versions of StoryStages and EddieEdit used in the study do not differ in terms of how much information about story planning and revising they display.

In selecting what planning and revision techniques it is appropriate use with children in grades 2-5, it is important to consider how language abilities in general develop in children. Before children can accomplish certain things alone, they can do those things with help. The zone of proximal development is that area in which the child can accomplish cognitive tasks (including linguistic ones) with the help of older children or adults, and learn from this experience to accomplish them alone (Vygotsky 1978). By designing interventions in the zone of proximal development, and avoiding activities that are too difficult to manage with help or that can be done unassisted, education can foster the development of linguistic abilities. Adults offering assistance to children in telling oral stories employ strategies which operate in the zone of proximal development to effectively help children improve (Pellegrini and Galda 1990). For both planning and revision, computer techniques should challenge children to improve their writing process but not be overwhelmingly difficult.

Planning Prompts

The planning prompts suggest that children describe most of the story elements they are going to use in writing. To write the questions on the planning list, the author considered planning prompts already fruitfully used in the elementary classroom. The ones examined were described in Bahr, Nelson, and Van Meter (1996) and Graves and Hauge (1993). The ordering of the list in the StoryStages system and the high-level categories and most basic questions were taken from the story grammar prompts described in these systems. Bahr, Nelson, and Van Meter included questions about the motivation and feelings of characters, very important aspects of the story which are often not considered in a basic story planning checklist. These two questions were included in the planning prompts for StoryStages and EddieEdit. Additional suggestions for how character development might be encouraged through simple prompts came from Leavell and Ioannides (1993).

The list of prompts was expanded and refined with traditional story elements in mind. The development of questions was particularly informed by story elements as described in Aristotle's Poetics (1968), the basis for much of Western thought about the story. The questions relating to character were particularly informed by the types of characters discussed in E.M. Forster's Aspects of The Novel (1927). The prompts associated with plot are influenced mainly by thinking of Gustav Freytag. His description of rising action, complication, and denouement are well-known and foundational in the study of drama (Freytag 1894). Freytag's concepts apply to early story writing as well. Special consideration was also given to balancing external features of the story, including plot and setting, with internal ones, such as the thoughts and feelings of characters.

General prompts that simply ask for more story events (for example, "Then what happened?") have been used in story-eliciting software (Glos 1997). These are effective around age 5, when children retelling stories orally need help organizing and completing the telling of a sequence of events that they know. Children at that age are ready to improve their ability to connect events together, and this sort of prompting helps them move through the zone of proximal development. By varying the nature of these prompts, teachers can encourage growth and help children better their storytelling (McNamee 1979). But by the time children are writing stories this sort of development has, in most cases, been accomplished. Older children can retell stories and connect events, and are then in a different developmental zone. During grades 2-5, questions about elements of the story are more appropriate.

The planning prompts, as they appeared in the version of StoryStages used in the study, are:

  1. What are some things you would like to write a story about? List a few things that come to mind.
  2. Now, look at the list above and pick some ideas. Decide what your story is going to be about. It can be about more than one thing.
  3. If you like, give your story a working title. You can change the title later if you want to.
  4. Who is going to be the main person in the story - the main character?
  5. If there are going to be other characters, who are they?
  6. Where will the story happen?
  7. What does this place look like?
  8. When will the story take place?
  9. What will be happening at the beginning of the story?
  10. What will happen to the characters during the story, or what problem will come up for the characters to deal with?
  11. What are they going to do? How will they act when that happens, or how will they solve the problem?
  12. Why will the characters do that?
  13. When the main event in the story happens, how do the characters feel?
  14. How will the story end?
  15. How do the characters feel at the end of the story?

In the interest of not overwhelming the writing task with planning that is excessive or too complex, many important distinctions and a more in-depth treatment of certain elements have been omitted. For instance, the prompt "What are some things you would like to write a story about?" could be asking either about the subject of the story (a boy buys a baseball card with a forged signature) or the theme (the nature of appearance and reality). This distinction between subject and theme is usually explored first in reading, often later in a student's K-12 education. Emphasis on some points that are not yet well understood in grades 2-5 could inhibit rather than facilitate story writing. Similarly, there are no prompts to suggest that a story can have a particular mood or atmosphere distinct from its setting in time or space. No prompts suggest that one could write the same story in different voices and styles or implore the writer to think about voice. However, the prompts should provide a good starting point for exploration of story elements by students in second through fifth grades, suggesting that they think of plot, character, and setting. Even more complex ideas are suggested by some of the prompts that ask the writers to think about what their characters feel. These prompts could help young writer begin to understand that characters can be static or dynamic, can be round or flat, and should have motivations for their actions.

Like any form of writing instruction, these prompts tend to encourage certain types of stories and discourage other types. These prompts might dissuade students from writing stories in the form of folktales and parables, in which the time and place may not be very well-specified and the characters are neither particularly round or dynamic. Many interesting stories have been written in which little real action takes place. In many good stories, the main character does not solve a problem. This sort of writing, too, would be discouraged.

The emphasis placed on traditional story elements by these prompts is, however, a useful one at this grade level. These prompts do encourage students to think about new aspects of character and plot, and to have the experience of writing stories that explore these elements more fully. Children may have trouble answering all the questions, because, for instance, they plan for their characters to all die rather than solve the main problem. In this case their inability to answer all the questions could encourage them to begin thinking about new possibilities. The prompts would suggest to such a writer that it is possible to write stories that have a complication and resolution, rather than just annihilation. The particular stories that children wish to write later, when they are not using StoryStages or EddieEdit, may not emphasize all of the story elements equally. Many very good stories do not. At least by using these prompts, however, young writers will gain a wider range of writing experience and become more aware of the roles each element can play.

Revision Prompts

Neither EddieEdit nor StoryStages analyze the text to suggest changes based on what has been written. Instead, both programs have a list of revision prompts that are generic suggestions for how a writer can analyze a story by himself or herself. This decision about the functioning of the two programs was made for both practical and theoretical reasons. Programs that do not analyze the text of course provide less specific guidance regarding what needs to be revised. However, it may be easier for students to internalize the suggestions about revision that are offered as simple prompts.

Montague and Fonseca suggest that both prompting and analytic software can lead to independence in writing as students monitor their own writing using the computer as a tool (1993). In the category of analytic software, a non-educational but illustrative example is the grammar checker. The opaque analysis that a computer grammar or style checker does makes it a useful tool for proofreading. As the grammar checker makes suggestions, however, it is not clear to a young user how the computer is making its determination that a sentence is too long, or why it is suggesting the writer use "that" instead of "which." Although programs like Daiute's Catch and grammar checkers included in current versions of Microsoft Word explain their grammatical suggestions, the habit of using such a tool could have some negative effects for developing writers. Students who gain independence with the help of such software may simply be exchanging dependence on the teacher for dependence on the difficult to understand processes of the computer. Simple prompts, on the other hand, can be easily learned and students can take their suggestions with them when they write in other contexts. The critical feature of successful systems like those by Burns is the ability to ask "the question which provokes," not any sort of analytic prowess. "[T]hat the computer cannot evaluate student responses is in fact a strong argument for, not against, the software" since students have to formulate answers themselves and cannot rely on the software (Kemp 1987).

The general revision prompts come from those used in the elementary classroom and from those suggested by creative writing and expository writing teachers at other grade levels and in colleges and universities. Particular problems with coherence that are observed in young writer's stories suggested that one prompt ask about how easy it is to understand what is going on. The heightened importance of the very beginning and end of a composition also suggested that revision prompts be directed at those parts of the story (Trimble 1975). Finally, in selecting prompts, simple suggestions that children could understand and internalize were preferred over advice that might be useful but would be difficult to internalize for later use.

The revision prompts in the initial version of StoryStages were:

  1. A great beginning can make your reader want to read more. Do you think the first sentence is really great?
  2. Can you write a better first sentence? Try it if you want to.
  3. The best stories have a great ending that readers remember. Is your ending really great?
  4. Can you write a better ending? Try it if you want to.
  5. Telling about how your characters think and feel can make them seem real. Did you tell what the characters do and also how they feel?
  6. Find somewhere where a character does something important. You can write a sentence about what the character is thinking, if you want to.
  7. See if you want to add new sentences anywhere to make the story more clear. Is it easy to understand everything that happens?
  8. If you thought of changes you want to make, be sure to go to the story window and type them in. How many changes did you make?

The hope is that these prompts will cue children to look back and remedy common mistakes. At least, they should be effective in communicating what the revision process is like, and introducing the concept of revision as an integral part of the whole writing process.

Developing StoryStages, The Non-Character Prompting System

Creating StoryStages involved several types of development work. These included the creation of a checklist box, design of the overall forward flow of the writing phases, and development of dialog boxes to support this flow. It was also necessary to integrate these and other minor components with SimpleText's word processing capabilities.

The main educational intervention in StoryStages is the prompting it offers during the planning and revision phases. This type of prompting has been implemented in many programs, described above, although never for children in this age group. The prompts are provided in StoryStages though the checklist box. The checklist box is a dialog box that contains a scrolling list of prompts. These prompts are displayed in static text - text that cannot be edited by the user. Below each prompt is a user-editable field where the writer can type a response during the planning and revising stages. Saving and restoring will store and retrieve the responses that have been written so far. During the writing phase, the responses to the prompts are visible, and the writer can scroll through these and review the story plan while writing. All of the text in the list is static in the writing phase, however.

A button at the top of the box allows the writer to advance quickly to the next stage. The command is also available on from the File menu. By using this button or the menu command, the user can progress through the stages sequentially, but cannot backtrack. It was not possible, for instance, to return to planning once one had begun writing. This does not represent the actual way in which writers move between writing processes, since a plan may be reconsidered once writing has begun. At this grade level, it is important to emphasize and distinguish the different types of writing process. So it may be somewhat appropriate to sequence the stages rather than having different modes which one can enter and leave at will. For the most part, however, this sequencing was dictated by the nature of conversation and concerns about implementation, not by the nature of the writing process. It seemed substantially more difficult to implement a system in which users could terminate and re-start a conversation with Eddie, and conversationally revise their planning goals. In EddieEdit, at least, it was easier if users progressed sequentially. To make StoryStages a good comparison system, it too had to be sequential. This one-way progression between processes was identified as a feature that should receive additional attention during testing and further software development.

Care was taken to clearly indicate when the user is about to start a new phase and to confirm that this is desired. A dialog box appears when the user gives the command to move to the next phase, asking, "Are you sure you want to go to the next step? You won't be able to go back." Some sort of indication of what phase the user was in would be important even if the user could move freely back and forth between phases, since "for new users, entry into and exit from a mode should be very explicit" (Nicol 1990). In this case, it is essential to require confirmation for moving to the next phase because of the impossibility of backtracking.

The checklist box is limited in a few ways. Neither the prompts nor the response to prompts can be longer than 255 characters. This makes the system less versatile, as lengthier prompts for older writers cannot simply be plugged in. For second and third graders writers who will read multiple prompts before and after they write, 255-character prompts are more than adequate. Ideally the text they read should be no longer than a single line. A greater difficulty is that the computer prompt and the user response are displayed in the same text style. This avoids elevating one of them in importance, but makes it difficult for the writer to see quickly what has been written in response to the prompts. Unfortunately, the dialog manager rather than window manager was used to run the checklist box, in order to allow development to proceed more rapidly. This made it impossible to add different styles to the different sections of the list. Without this compromise in usability it would have been extremely difficult to implement the important educational features of the program in the time available for development.


figure


FIGURE 2. The Planning box, an instance of the checklist box that provides planning prompts and spaces for reply.

The initial activities required for use of StoryStages and the transitions though the phases are described in detail by dialog boxes that appear throughout a writer's interaction with the software. These boxes contain large amounts of text, probably more than one could reasonably expect second and third grade students to read. However, it is made available for those who do take the time to read it and for the adults who may come to help a child who is having difficulty. The dialog boxes offer explicit instructions in order to allow untrained users to move from never having seen the software to being accomplished users of it within a few sessions, without training or instruction from the developer.

At the beginning of the writing process, the writer is asked to either start a new story, open an existing story, or read the instructions. The help boxes that can be displayed at this time are available during all phases of the writing process. They describe the process of writing, explain that questions are offered in the planning and revision phases, and give instructions on how to move to the next phase. If the writer opens a story, the program moves to the appropriate phase for that story immediately and writing activity can continue there. If the writer wishes to begin a new story, the program asks for a name and saves a blank file while moving into the planning phase.

The Planning box (one instance of the checklist box) appears when the writer begins the planning stage. This occurs just after starting a new story and upon opening a story still in the planning stage. All sections of text in the list become static when the writer moves to the writing phase, and the checklist window remains available. Upon entering the revision phase, the Planning box closes and the Revision box (another instance of the checklist window) opens. This Revision box is identical to the Planning box except that the prompts are revision prompts, and the button reads "Finish Revising!" When the writer finishes revision and moves to the end phase, this Revision box closes as well.

Students can move to the next phase without answering prompts or modifying the text typed in the word processor. Stories and answers to prompts are saved when the save command is invoked, and saved automatically when the writer moves to a new phase. The main word processing window is cascaded over the static Planning box, but neither window can be closed without exiting the program. To begin a new story, a writer must exit the program and start it again.

The planning and revision prompts are stored in a resource file with 20 strings allocated for each. On startup, the program reads through its resources and adds all of the planning and revision prompts to the appropriate list, up to the first empty string. This means the resource file could be edited by a teacher or school district so the program would use customized prompts. The process is not easy, but it does allow the prompting lists that the program uses to be modified without recompiling the program. Teachers can write any number of custom prompts for StoryStages, from 1 to 20, for use in planning, and can create a similar customized list of up to 20 prompts for revision.

Character Development of Eddie

Eddie is a character, and his nature as a character is central to his purpose. Like any character, he should exhibit defining traits, have a motivation for his action, and be appropriate to the larger work in which he appears. For the program to be successful, the development of Eddie as a character must be kept very much in mind during the development of EddieEdit as software.

Creating a Computer Character

In developing conversational computer systems in general, no matter what age the user, it is important to place the user in a role of some sort. This role can be made clear by the computer character and the context of interaction. The developer "must script the interactor as well as the program, must establish a dramatic framework in which the human interactor knows what kind of things to say." (Murray 1997). In interacting with Eliza, a system which simulates a psychoanalyst, the user knows it is reasonable to talk about feelings of depression or instances of emotional trauma. It is clearly unreasonable to ask Eliza out on a date or attempt to begin a theological debate. The dramatic or social context in which the user is interacting is clear. If a conversational program simply says, "Tell me a story" or "List some ideas for your essay," the user has been given a task. The software provides no idea of what to do, however, only indicating that some entity that desires the story. "Tell me a story" could be the request of a virtual younger sibling, a teacher, a movie executive, or a psychoanalyst. This phrase alone does not give the user does a clear role, and does not tell anything about the listener or audience. Whether the story is being told to amuse or to teach a lesson is important, but unknown. Whether the essay is supposed to inform or persuade is unknown. Why the computer voice even wants to help the writer or hear the story is also unknown. A final important cue that is lacking would suggest whether the audience for this story is a peer, a younger child, or an adult.

Extreme detail in the representation of a computer character is not necessary and may even be counterproductive. "[T]hanks to well-internalized dramatic convention, we can enjoy (and even believe in) even one-dimensional dramatic characters." Elaborate characters, on the other hand, may raise the user's expectations to levels that cannot be met (Laurel 1990). A computer character should still have clear motivation and a few defining traits, of course, but more can be left to the imagination than would be in the case of a literary or cinematic character. The work done in Carnegie Mellon University's OZ Project suggests that a character should be believable. "This does not mean that the agent must be realistic. In fact, the best path to believability almost always involves careful, artistically inspired abstraction" (Loyall and Bates 1997).

Development of Eddie's character was done with consideration of the above requirements. Also carefully considered were the general elements which make a believable character in forms of narrative such as writing, drama, film, and storytelling.

Analogies to and Differences from Peer Editing

A computer character who is a peer editor suggests analogies between the software and peer editing by children in the classroom. Although Eddie is an elementary school student and offers revision tips, EddieEdit's development was not motivated by a desire to replace or emulate peer editing. As Eddie's character is defined, it is important to make him like a peer in certain ways. As he is made to function in the software, it is important to distinguish his purpose from that of a real peer editor.

Eddie does not have the advantages of a real peer editor. EddieEdit does not appreciate stories, and certainly could not be made to do so in as genuine a way as another child would. Eddie also does not try to understand stories, or to offer the level of commentary on content or clarity that a peer editor would. Of course, peer editing is also a reciprocal process, and the children benefit from providing critiques as well as from receiving them. This helps the student acting as editor develop critiquing skills in a way EddieEdit is not designed to do.

A peer editor, however, also cannot do all of the things Eddie can. A peer editor at this grade level will not initially "know" as much as Eddie does about generally useful steps in story planning and revising. Another child will also not reply with sentences that are always grammatically correct, punctuated and capitalized properly, and spelled correctly. It is not essential that children read only such impeccable language. Reading improper spellings and poor grammar will not damage a child's linguistic development, but EddieEdit can provide them with an good example of proper writing that can contribute a bit to improvements in writing. EddieEdit can be used at home or during times when peer editors are not available. Eddie is not real, unlike a peer editor, and so he may help children envision an absent audience. The conversations he has are written, not oral, providing a different sort of help in moving from spoken to written discourse. So Eddie, an imaginary character who has written conversations with children, offers a different educational intervention that may assist the transition from spoken conversation to writing in a way peer editing does not.

While Eddie is not supposed to be a facsimile of a peer editor, EddieEdit is compatible with peer editing and even collaborative writing. Children were asked to write alone during the study that was conducted, but this was done to make evaluation straightforward. EddieEdit could work with many educational approaches, and could be integrated into anything from focused subject-specific writing projects to independent activities at home.

Defining Eddie

The conversational computer character in EddieEdit is Eddie the Editor, a virtual fourth grader who is the fiction editor of the fictitious periodical Elementary Magazine. Eddie is an extremely precocious young child when it comes to story writing, but speaks as a peer of the writer. His grade level and age are not explicitly mentioned so students in all grades 2-5 might be able to identify with him. EddieEdit, like StoryStages, encourages the writer to share their work with their peers when they are done. Eddie is there during the writing process to serve as a more immediate audience for the child's story.

Eddie manifests himself simply in text. Some simple graphics could certainly be appropriate and help children identify with Eddie without distracting them from writing. The comparison systems lacked any graphics, however, and it would have been difficult to sort of out the effect of even a simple icon from the other features of Eddie. Because Eddie is an all-text character, what he says must, of course, be very carefully considered.

Although a peer, Eddie's job as editor makes it reasonable that he would make suggestions to help structure the child's story and to offer tips on revision. He does not try to co-narrate with the user, however, respecting the user's role as story writer. Eddie does have some preferences. Rather than instructing the writer to write in a particular fashion, he will offer questions and suggestions, saying that these are the things he thinks about when he writes. Eddie tells his name and greets the user, then describes his job: "I'm the editor of my elementary school's magazine. I help people write stories." Eddie begins his discussion of story by telling about what helps him: "Before I write a story, I plan it. First, I think of all my ideas. What things do you want to write about?"

Eddie also has a few characteristics that are related to making him believable rather than being related directly to story writing. He's got papers on his desk that sometimes fall off, and occasionally another child may distract him, which explains why he can sometimes be forgetful or a bit inattentive. These occasions, which serve to cover up for Eddie's limited understanding, are also used to focus the conversation again on the task at hand. For instance, if Eddie can't understand whether or not the user likes stories, he responds: "Well - Hey, Billy does not know more dinosaur names than me! Sorry, someone else was talking to me. What were we talking about?" If Eddie failed to understand what was a clear answer, he appears easily distracted (a reasonable trait for a fourth grader) but not stupid. Eddie's distractibility thus also lowers the expectations of the user regarding the character's responsiveness, which makes it easier for the software to meet those expectations (Reilly 1995).

Eddie has a few characteristics that were included to make him believable, but he doesn't have hobbies, class projects, sports that he enjoys, or other interests. At least, he doesn't talk about any of these things. Although including such attributes would make Eddie a more complete character, it might also make children too attentive to Eddie's particular interests. For instance, it might suggest to them that they write about whatever sport Eddie likes to play, even if they prefer a different sport. So, to keep the software neutral in terms of story topics, it was decided that Eddie would not discuss any of his own interests outside of writing. Also, if Eddie mentioned that he likes, for instance, playing Frisbee, this would suggest that the conversation could turn to discussion of Frisbee. Additional effort would be needed to expand Eddie's conversational abilities to allow such discussion. Since this discussion would distract from the story writing task, such effort would not be wisely spent.

Eddie uses a simple vocabulary and good grammar. Some of Eddie's speech is informal, although Eddie does not try to use "cool" grade-school slang. His particular non-story-related interests and hobbies are left unspecified. Although this makes Eddie a flatter character than he otherwise would be, it also assures there is no suggestion that the user's stories be about Eddie's interests and hobbies. Eddie's manner of conversation generally is consistent with an ordinary if somewhat bookish peer audience. He speaks the way an articulate grade-school character would in a children's book - hopefully a well-written children's book.

Developing EddieEdit

EddieEdit is essentially a modified version of StoryStages which has a conversation box instead of a checklist box. Inside this box the writer types responses to Eddie's text. The response to the user's text is determined by the Eddie conversation engine. Development of EddieEdit consisted of creation a new conversation box that substituted for the checklist box, and creation of the conversation engine.


figure
FIGURE 3. The conversation box as Eddie starts to talk about story elements.

The conversation box is similar in size and appearance to the checklist box. Initially, only a greeting from Eddie appears in the section next to the bottom. The bottom section can be typed in by the writer. If the writer types a reply and presses return, the conversation engine is given the reply and Eddie's response is generated. The writer's talk, and then Eddie's reply, are added to the bottom of the non-editable list, which scrolls upwards and grows as the conversation continues. After Eddie has said all he can about story planning or revision, he concludes the conversation and the conversation engine ceases to generate responses. The list will grow no further. At any point, before or after the conversation has ended, the writer can scroll through the conversation to review what has been said. The writer can also move to the next phase at any point.

During the writing phase the writer cannot continue the conversation with Eddie by typing in the bottom section of the conversation box, but this box remains visible. It is still possible to scroll through the list and read the conversation, so EddieEdit users can look back at their story plan just as StoryStages users can.


figure
FIGURE 4. While in the writing phase, users can review their story plan. The story window allows users to write, and the conversation box remains open, displaying what they talked about in the planning phase.

Eddie allows the writer to select the order in which character, setting, time, and plot are discussed. As in StoryStages, conversation with Eddie is not compulsory and the writer can move on to the writing phase without doing any planning at all.

The conversation engine keeps track of goals the Eddie has that are specific to the planning and revising stages. In both stages, these goals correspond to delivery of the prompts and reply from the user. After the writer replies to Eddie's question about the main character, the "main character" goal is satisfied and Eddie will move on to the next topic.

This allows a sort of primitive memory of what has been accomplished in the conversation. Eddie will not ask about the main character's feelings at the end of the story until the conversational prerequisites have been discussed. In this case, Eddie must have already asked about who the main character (during discussion of character) is and how the story is going to end (during discussion of plot).


FIGURE 5. (Not available in HTML version.) Possible paths through a conversation with Eddie. Conversations begin at the topic "greet," can end at any time, and can move onto other topics along arrows. * indicates the next topic can be "which element" (again); "beginning," "time," setting," or "main character" (if only one of these remain to discuss); or "start writing" (the final topic, if everything has been discussed.)

The conversation engine will produce a few yes/no questions. As an icebreaker, Eddie asks if the writer likes writing stories. A procedure in the conversation engine examines the reply to determine if it is yes, no, maybe, or some other response. Eddie can then reply appropriately, even though he will drive forward with the story writing discussion in all cases. If he is unable to understand, he can pretend to be distracted and ask the user to focus the conversation again on story writing. If he sees that the student using the software does not like story writing, he can mention that he will help and that perhaps he can make it more fun.

For the most part, Eddie's conversation engine has the ability only to ask a series of questions - a multilinear series in which the order is determined by the user's responses. Eddie can also determine the answer to a few of these that have very specific types of answers. The level of sophistication of Eddie's conversation is far below that of Eliza in terms of interactively, user initiative, and use of user reply. But Eddie's goal is to stimulate thinking about the story writing process better than a checklist can. His limited conversation ability may be enough to help children ease their way from oral conversation to writing. His character is somewhat better-defined than that of the Rogerian/Freudian Eliza, who (by design) makes little of herself known. The more defined character of Eddie, revealed in Eddie's conversation with the user, can help children think about someone other than themselves as they write.


NEXT (Evaluation)