An evaluation of three authoring tools:
PC-CAI, Authorware and Toolbook

Stephen Bostock, July 1994

Summary:

This evaluation of three authoring tools uses two devices: the production of a simple piece of courseware is used as a vehicle for evaluation, and a published framework for evaluation is used and discussed. The tools represent different programming paradigms. PC-CAI is a partially structured text language with specialist commands for tutorial courseware. Authorware Professional is a graphical programming environment with a flow chart interface. Multimedia Toolbook is an object-based, event driven language with an emphasis on screen displays and links, but no support for input analysis. The production of the same piece of courseware with each tool allowed a systematic evaluation of their functionality. Other criteria, such as the author interface and support for design, are also discussed.

Contents

 

~
Contents
	Introduction		1
	Evaluation Criteria	3
			Functionality	
			The author interface	
	Introduction to the three tools	6
	The example courseware	7
	Comments on PC-CAI authoring	7
	Comments on Toolbook authoring	8
	Comments on Authorware authoring	9
	Measures of  functionality	10
	Discussion		11
			Functionality
			The author interface
	References		14
	Appendices:
		evaluation checklists
		PC-CAI courseware documentation
		Toolbook courseware documentation
		Authorware courseware documentation

Contents
	Introduction		1
	Evaluation Criteria	3
			Functionality	
			The author interface	
	Introduction to the three tools	6
	The example courseware	7
	Comments on PC-CAI authoring	7
	Comments on Toolbook authoring	8
	Comments on Authorware authoring	9
	Measures of  functionality	10
	Discussion		11
			Functionality
			The author interface
	References		14
	Appendices:
		evaluation checklists
		PC-CAI courseware documentation
		Toolbook courseware documentation
		Authorware courseware documentation


Introduction

There are hundreds of computer programming languages both general and special-purpose, and many have been designed for the development of instructional software. Barker (1987), for example, listed over 60 'author languages'. Since then, with the standardisation on Graphical User Interface and the falling price of multimedia hardware, many new 'multimedia' authoring tools have appeared, and many evaluations of them. It is not the intention of this report to attempt to synthesise this large literature on specific tools. Instead, ideas from the evaluation literature are used in the evaluation of three authoring tools, using the implementation of a small piece of courseware as a vehicle to provide experience with the tools. This is a common device in evaluations (for example, Dean & Whitlock 1988, Barker 1989, Riley 1994). The process of authoring with the tools can thus be compared and reflected upon. The evaluation framework of MacKnight & Balagopalan (1989), in particular, will be used in evaluating the tools, and its usefulness is discussed.

It is worth clarifying some terms in an historical context. The history of tools used for the production of application software is as long as the history of computer hardware. Generations of programming languages have proceeded from binary code and assembler to 'high level' languages such as FORTRAN, BASIC and Pascal. Code at this level, of course, must then be translated into binary code for execution. Two important principles in the development of such languages are restricted control structures and functional modularity, which in its latest form of 'objects' encapsulates data and functionality. After these third generation languages (3GLs), 'fourth generation languages' (4GLs) allowed declarative rather than procedural specifications, particularly of database applications.

Software tools can crudely be characterised as being increasingly of a 'higher level'; the construction of the software can be done in terms related to the problem rather than the mechanism of its solution. With instructional software, this means being able to specify (in text or graphics) the output to the user by describing it interactively through editors, and specifying the processing of user input in terms of logical possibilities rather than details of code structure. In this sense, an interactive screen editor, for example, is a 4GL when compared to C or assembler code generating the same images. Three author interfaces for software construction are writing procedural text (3GL), menu option selection (4GL) and graphical manipulation of objects. Graphical interfaces may resemble either a 3GL or 4GL depending upon the freedom given to the author: graphical languages can be procedural (e.g. the ladder diagram coding of real-time control systems, the flowchart diagrams of some authoring tools) or declarative (e.g. graphical data flow languages, 'Upper CASE' tools which also generate C code) (Almgren 1994).

Authoring tools are languages or systems for producing instructional or educational software. Current authoring tools show a variety of these programming paradigms, and often more than one in the same package. For example, many provide graphical programming or menu selection specification, and resource editors, but also allow or require text code writing for additional functionality - 'scripting'. Nonetheless, tools can be broadly divided into:

  • General purpose languages. Some are particularly suitable for applications such as courseware, having an emphasis on interfaces and user interaction, for example Toolbook, Visual Basic and Hypercard.
  • Authoring languages with the structure of general languages but with specialist facilities for user interaction and screen displays, for example Tencore and PC-CAI
  • Authoring systems. Fourth generation languages where text coding is not needed and menu option and other selection mechanisms specify the courseware, for example Tencore Producer, Mandarin, and the PC-CAI Create facility. Arguably Authorware, IconAuthor, Course Builder and other iconic systems could be placed here, but this will be discussed later.
  • Finally, mark-up languages such as SGML, html (for World Wide Web) and Interactive Document Compiler (for Toolbook) can be used to add procedural code to text. They resemble text authoring languages but are more limited, being oriented to presentation rather than interaction although some produce hypertext.

Authoring is a vague term for software production. In the traditional development 'life cycle', authoring in a narrow sense is the equivalent of construction (coding), the implementation in software of a detailed design. With a language this requires programming skills. Authoring systems attempt to allow construction without programming skills . Some tools attempt to provide support upstream of construction, into the analysis and design processes, and authoring in a broad sense includes the whole software life cycle. The appropriate use of tools of different types is discussed below.

Figure 1 Pseudocode of example courseware


repeat 
	display first screen (three averages)
	display description of mean
	display numerical example overlayed
	display description of median
	display numerical example overlayed
	display description of mode
	display numerical example overlayed
	display problem data
	ask for numerical mean
	if correct (within a range) then praise
		else give correct answer
	ask for numerical median
	case answer of 
		correct as integer: praise
		correct as real: praise and give correct answer
		incorrect: give correct answer
	ask for numerical mode
		correct as integer: praise
		correct as real: praise and give correct answer
		incorrect: give correct answer
	display question about mean
	repeat
		if answer is mean then praise
		if answer is median or mode then try again
		if answer is other then advise one of three words
	until three goes or answer is mean
	display question about median
	repeat
		if answer is median then praise
		if answer is mean or mode then try again
		if answer  is other then give advice
	until two goes or answer is median
	display question about mode
	if answer is mode then praise else give advice
	display question asking for repeat
until user says quit

Evaluation Criteria

Evaluation, of course, must take place against criteria. The criteria for authoring tools can be divided into three broad categories (Barker 1989 p. 222, Hunka 1989 p. 13, Richards & Fukuzawa 1989 p. 28, MacKnight & Balagopalan 1989, Edwards, Howe & Smith 1993 p.5, see Appendix 1)

  • Functionality addresses 'What they can do?', and is emphasised in many published evaluations.
  • The author interface, in a broad sense, asks 'How do they allow the author to do it?' This is related to the question of how far 'upstream' in the development process the tools attempt to go. That is, do they assume, impose or support certain instructional designs?
  • Wider questions concern support, cost, documentation, supported hardware platforms, run-time licenses and industry standards are outside the scope of this report.

Functionality

Functionality features can be listed in the following groups (based on Dean & Whitlock 1988, Richards & Fukuzawa 1989, and Hunka 1989 ).

(a) Presentation of text and questions

The most basic function is to present text in a frame that is either the whole screen or a window. Being able to clear frames is necessary. Variations include fonts and colours. A list of text editing functions is given by MacKnight & Balagopalan (1989) and in Figure 2.

(b) Acceptance and analysis of user input

The simplest input is characters, analysed as text or numbers, but graphical user interfaces also need to monitor pointer (mouse or other) movements and buttons. Analysis includes:

(i) structural aspects such as labelling responses as right or wrong for recording, and counting user tries;

(ii) Matching inputs. With text this includes dealing with blanks, capitals, alternatives, mis-spellings and matching various substrings. For numbers this includes accuracy ranges and types (interger/real). With a (mouse) pointer, the position, movement, button clicks, double clicks and buttonDown/buttonUp actions can be detected.

The list of features in MacKnight & Balagopalan (1989) listed under Instructional Strategy are mostly concerned with input.

(c) Filing of user responses details

Filing details of user software and actions can range from the simple, such as a bookmark for the following session, to detailed logs of questions and answers. Standard reports of these details will be needed by teachers.

(d) Control structures and other programming features.

Some method of conditional branching is necessary to act upon user inputs; in unstructured languages this requires statement like IF..THEN and GOTO Label. Structured languages allow multiple statements (blocks) within IF..THEN..ELSE and SELECT..CASE structures. Iteration could include REPEAT, WHILE and FOR loops. Iteration of user inputs could be dealt with automatically (counting tries). MacKnight & Balagopalan (1989) list different types of branching under Instructional Strategy features.

Modularity is desirable. Subroutines, functions or object classes are possible. There are then issues about parameters and the existence of local versus global variables.

Validation and debugging facilities are desirable. Validation of syntax at least is the simplest. Validation of sequence is desirable, such as eternal loops being created or subroutines not being used or exited. Validation of design features is possible, such as detecting excessive amounts of text in a frame or excessive iteration. Debugging tools are needed to fix errors in substantial courseware.

(e) Interfacing other programs

As no authoring tool will provide all the functionality required, at least not at an appropriate speed, it is necessary to be able to call other executables to perform special functions such as animation, data file analysis, or control special devices.

(f) Media editors

Traditionally, presentation was historically text, later supplemented by bitmap graphics. Now, it is normal to display a wide range of graphics formats, sound (e.g. from WAV or MIDI files), moving video (Full Motion Video, or within-window), and animation (path or cell). All of these resource types need their own editors, either within the authoring tool or compatibly linked with it.

(g) Authoring environment, in the terms of MacKnight & Balagopalan (1989), refers to general authoring facilities and includes 35 characteristics (Figure 3).

Author Interface

The second criterion of 'How they do it', their 'look and feel', is the most obvious distinguishing feature of different systems (Gardner & Munroe 1992). Here authoring systems can be arranged along two dimensions: the degree of programming needed (as text or graphics) as opposed to declaration or menu selection, and the dependence on typing text code as opposed to a graphical author interaction (Riley 1994).


( ü is a tick )

Figure 2 Tasks for text (after MacKnight & Balagopalan) creation Balogopalan 1989) Tasks PC-CAI Toolbook Authorware Set foreground ü ü ü colour Set background ü ü ü colour Set text size (2 sizes or as ü ü images) Set text spacing ü Set fonts (only images) ü ü Set style ü ü Highlighting ü ü blinking ü overlay graphics ü ü overwriting ü ü rotation pause texts ü ü ü foreign characters ü ü Static window boxes + cursor ü ü control dynamic window ü ü import files ü ü full screen erase ü ü ü part screen erase ü ü centering ü ü ü justification ü ü superscript ü ü subscript ü ü symbols ü ü text animation (as graphics) ? ü editor ü ü (poor) create text ü ü ü timed pause ü ü touch pause ü ü ü embedded variables ü ü Total: 10 / 29 26/29 25/29 Figure 3 Authoringenvironment (after MacKnight & Balagopalan) Authoring Environment (after MacKnight & Balogopalan 1989) Tasks PC-CAI Toolbook Authorware Create course ü ü ü Open/edit course ü ü ü Save course ü ü ü Delete course create frame ( cls before text)ü ü ü title frame ü ü rename frame ü ü edit frame ü ü delete frame ü ü combine frame ü ü expand frames ü ü list frames ü rename course ü ü create multiple ü ü course test course ü ü ü test part course ü text editor ü ü ü graphics editor ü ü video editor ü ?ü audio editor ü ü variable editor ü ü character set (windows)ü ü editor graphics library ü ?ü strategy library ü ü character library (windows)ü ü online help ü ü author/user not interactive ü ü up/download transport to Macü to Macü courseware configure hardware windowsü windowsü create student ü ü ü disk print course ü ü external link ü ü ü Total: 10/33 27/33 29/33

Introduction to the three Tools

PC-CAI 2.10 is shareware available from Texasoft. It runs under MS-DOS and was first available in 1983, so it is useful in the current context as an example of a traditional authoring language. It is a text authoring language (3GL) with a simple text editor, although any text editor will do, but no other resource editors. It also has a menu-driven authoring system called 'Create' (a 4GL) which generates text code. It can import and animate graphics and create simple sounds but has no facilities for creating graphics or handling video. The latest version was used.

Multimedia Toolbook from Asymetrix is the nearest MS-Windows equivalent to Hypercard on Macintosh (and Hypercard stacks can be largely converted automatically to Toolbook books). It most easily generates hypertext. A graphics editor creates screens (cards/pages) including Windows standard objects. No text code is generated for screens. It is event driven, with objects (both graphical and text procedures) receiving messages from user inputs and passing them to other objects or responding to them as determined by their script, or text code. The code must largely by typed by hand. Version 1.53 was used; a major upgrade to version 3 is due in 1994. It has facilities for graphics, animation and sound. It is a general Windows development tools, with no built-in facilities for input analysis but a good interactive screen editor, and a library of multimedia objects for customisation. The author interface is a page on which objects are placed, menus and dialogue boxes for selecting options, and a text editor for writing scripts to define object responses.

Authorware was used in the Working Model of Version 1 for MS-Windows, allowing only 50 icons/activities in an application, but the full version was observed at Keele. Authorware applications for Macintosh can be converted to WIndows, but not vice versa.Version 1 supports sound and graphics but has limited support for animation and video. Version 2 has enhanced support for multimedia, with a Media Manager maintaining a separate library of resources (Dean 1994). Macromedia Director is a version especially for authoring multimedia. Version 2 also permits hypertext links between objects. The Authorware interface is a flowchart on which icons are placed.

Toolbook and Authorware are amongst the handful of leading packages for the Windows environment (e.g. Reynolds 1994, Beilby 1992, Davies, Scarborough & Brailsford 1992, Riley 1994). They share some Windows interface features and access to Windows multimedia resources.

The example courseware

The example courseware was designed for its simplicity and small size, requiring only text displays so as not to prejudice the comparison by emphasising special effects which one tool did well. The courseware has simple displays and interactions about descriptive statistics. It consists of descriptions and illustrations of the different averages: mean, median and mode. It gives a numerical problem that requires each average to be calculated and entered, and it asks the learner to distinguish each from a description. Finally there is an option to repeat the lesson. Only text is displayed, and text and numbers are input. It is described as pseudocode in Figure 1.

Comments on PC-CAI authoring

PC-CAI is a traditional procedural language with few control structures (selection by IF and CASE but no iterative structures or modularity) but it does have commands designed to make screen displays of text and graphics, and analysis of user input, easier than in a general purpose language. It could be treated as a mark-up language, as tutorial text in the code is displayed on a scrolling text screen unless interrupted by embedded commands that begin with the '.' or '@' characters. To give a flavour of the language, the important commands used in the example code (Appendix 2) are described below.

The 'dot' commands can appear anywhere in the code.

.rem - a remark line to allow code documentation

.screen 0 - to select screen type. Only CGA modes are available.

.color 0,7 - to select foreground and background colours

.cls - to clear the screen. Otherwise the screen scrolls.

.skip 9 - to move 9 blank lines before continuing to display text.

.locate 24,1 - puts the cursor at the x,y character position before reading or writing

.pause - waits for an Enter key press and displays default prompt.

The '@' commands create the code structure. Upper case is used for documentation purposes.

@LABEL:START - line label for use with the commands @GOTO and @GOBACK

@BEGIN QUESTION - start a question section

@TRIES 1 - determine number of tries allowed

@READ(*What is the median value ?*) - get the user input

@RIGHT (*4*) EXACT - specify the correct answer 4 as text (various options.)

@WRONG(*4*) DECIMAL - specify a wrong answer, treated as a number.

@WRONG - start a section following a generic wrong answer.

@END QUESTION - finish a question section.

The two main parts of a CAI programme are the commands and text determining the display, and the QUESTION sections. Both right and wrong answers must be specified along with feedback text for each answer. The number of tries can be determined, and the following options used in answer matching.

keyword - the input must contain the specified word (substring) somewhere

exact - exact match

exact nocase - case is ignored. Nocase can be used with other options.

decimal - treated as a numerical value. A range of correct values can be used.

list - a list of correct values, in any order

soundex - accommodating misspellings.

force - the correct answer is required

PC-CAI is thus rather like the 'ideal' language HAL in Dean and Whitlock (1987), although it performs no validation and has no debugging facilities.

Writing PC-CAI code is simple in some ways: the text appears on the screen much as it is typed, modified by commands to control the cursor. However it suffers from two problems of procedural languages. Firstly, because the screen displays are not being created interactively, the programmer must count lines and character positions since the last .cls or .locate command. Even then, there is an element of trial and error when putting the finishing touches to the exact appearance of the screen if scrolling is to be prevented. Secondly, there is no help in debugging the structural '@' commands. For example, if an @END QUESTION command is omitted, the program runs straight into the following question. No debug help appears. For a long program this would be a serious problem.

However, if treated as a mark-up language PC-CAI is an easy way of quickly adding interactivity to existing text. Furthermore, the authoring system PC-CAI CREATE will generate source code following a question and answer session with an author, producing much of the code.

Comments on Toolbook authoring

The Toolbook example consists of both graphical objects and text code defining their responses to messages created by user input. It cannot easily be fully documented on paper, but the appendix includes some screen dumps and example object scripts. It is an object-based rather than an object oriented languages in the sense of C++ (Reynolds 1994).

The graphics editor makes it easy to design pages (frames), and the ready-made Button object makes it easy to move between them and to repeat the lesson. Positioning fields is interactive, and changing text characteristics is simple with menus. A graphics toolbox, grid snap and colour palettes provide allow for a professional screen design. A dialogue utility enables the creation of standard Windows dialogue boxes.

Objects include buttons, hotwords, graphics objects, page background, and the book (application) itself. Each can have a script consisting of one or more handlers for messages generated by the user or other handlers. There is a built-in hierarchy determining which object gets the chance to handle each message if it can. The syntax of Openscript appears English-like but has pascal control structures. It is also just as stringent on detail, and so must be learnt. The Openscript Help system is good. However, a syntax check will identify errors when writing scripts. A 'debug window' can be used to isolate and correct errors at run time. It allows breakpoints to be set, displays of local and global variables, and tracing of script execution and message passing. There is also a command window through which the author can directly manipulate objects, send messages and test scripts. Openscript statements are executed directly.

Creating separate fields for sections of text was repetitive but could be partially alleviated by Copy-and-Pasting them across pages. Page backgrounds can give standard layouts. There are no built-in functions for analysing user inputs, so this is done either by providing graphical buttons or writing Openscript code to match text answers. The most difficult code was that for allowing three answer tries; more so than in a procedural language. Openscript variables are not 'typed' and so numerical answers must be interpreted as text or numbers on use.

Comments on Authorware authoring

As the Authorware Working Model was being used the courseware had to have sections removed to keep within the 50 icon limit, but it illustrates all the aspects of the design. Flowcharts and example screens of representative sections are appended (Appendix 4). The present author had not used Authorware or anything similar before this task, and did not have access to manuals. About twice the time needed for either the Toolbook or the PC-CAI authoring was needed with Authorware. However, some help from colleagues was given through the module conference, and I had one discussion with a technician who had used Authorware to produce professional courseware. No doubt various small problems I encountered had simple solutions.

Authorware applications are constructed by dragging icons representing presentations, interactions and so on, onto a 'flowline'; a vertical line specifying the sequence from top to bottom. Control structures deviating from simple sequence must use either the selection or interaction icons to branch into alternative sequences, which cannot be shown at the same level alongside the main sequence. Branching inevitably requires the nesting of levels, each level being presented in a separate window. A major practical difficulty in using the 'flow line' window is that it does not scroll. On a VGA screen this means a maximum of about a dozen icons can be used before having to group icons into Map icons. As these icons had to include a Wait and an Erase icon for each frame, this means about three frames per flowchart. This led to an unnecessary degree of modularity, and of a hierarchy of levels in windows (see appendix 4).

An alternative way of producing a simple sequence of icons is to put them onto a Selection icon sequence with the select all options set. This ameliorates the problem of vertical spacing, but illustrates the sometimes illogical uses of the Selection and Interaction icons. For example, the repeat control structure also requires the Selection icon, with repeat..until options set, but the while structure is not possible. It is not possible to determine sequence other than through these icons, unless an unstructured GOTO is used.

The courseware is executed by Running the iconic program, and user displays and interactions occur in a separate Presentation window. It is possible to place start and end flags on the program to run only the specified section, but no other debugging tools seem to be available, and there is no on-line help.

The Erase icon illustrates a problem in having a completely graphical interface: it requires identification of what objects to erase, so the Presentation Window must contain those objects at the time the Erase icon is selected. This may mean having to Run the previous Display icon merely to specify its erasure. Screen objects in Authorware have no identification (unlike Toolbook where they have unique identifiers and possibly user defined names) so specifying an object must be done graphically, which in this case is tedious.

The Interaction icon is used for analysing user input. There is a good variety of options for the user inputs that can be required (which in Toolbook would be handled by object code). Common string matching options are available including capitalisation, spacing and substring matches. I had some difficulties with matching numerical input values. Attempts at writing expressions to deal with inputs failed; presumably a built-in function exists which allows a numerical interpretation of input characters.

The Restart command worked in the analysis of the last question. The alternative course of action, 'do nothing', required an empty remark statement to satisfy the syntax. This is an irritation in a system that attempts to minimise text coding.

Even allowing for much trial and error in the use of icons, the authoring process involved a great deal of dragging icons around and manipulating separate windows of flowlines for different levels.

Measures of Functionality

MacKnight & Balagopalan (1989) describe a detailed checklist of authoring facilities for evaluation (their 'Taxonomy of Tasks'), which are functional capabilities. They divide these into ten groups. The two most basic are Authoring Environment and Text Creation. These are the largest groups and the most relevant to this exercise (listed in Figures 2 and 3). Their Authoring Environment group does not correspond with the evaluation criterion 'author interface' being used here, being concerned with what can be done rather than how it can be done.

MacKnight & Balagopalan (1989) develop three measures from their checklists. Functionality is the proportion of possible Tasks a package possesses. Figures 2 and 3 list the tasks and Figure 4 shows the functionality indices. The measures for Toolbook and Authorware is very similar; they are both capable packages and share the facilities of MS-Windows. PC-CAI has many fewer facilities, notably lacking frames for text and editors for other resources. The difference reflects the development in authoring tools in the last few years.

Figure 4                                                                           
Functionality                                                                      
measure              Tasks           PC-CAI          ToolBook        Authorware    
                   (Maximum)                                                       

Text creation          29              34%             90%              86%        

Author                 33              30%             81%              88%        
Environment                                                                        


Flexibility (in their terms) is measured as the smallest number of steps needed to accomplish a task. Within a group of tasks the total number of tasks divided by the total number of steps needed to accomplish them is the flexibility measure. This was not measured because a moment's reflection shows it to be of little use when comparing such different interfaces. The number of keystrokes needed to type PC-CAI commands would be very large, so it would have a very low index. Toolbook would have fewer keystrokes as frame creation is interactive and some options are menu-selectable. However, text for input analysis of answers has to be hand-coded. Authorware would have fewest keystrokes and the highest flexibility index as very little text code is needed - strings for answer matching, a few Boolean expressions, and frame labels. The flexibility index values, then would be dominated by the degree to which text keying is necessary, so they would measure the degree of graphical input.

Productivity is the average time taken by an expert to perform these tasks: the total keying and thinking time to accomplish all the tasks in a group divided by the number of tasks accomplished. There is no attempt to measure Productivity in this narrow sense here. Firstly, the current author was unequally expert with the packages, having some knowledge of PC-CAI and Toolbook before. In practice, the Toolbook and PC-CAI applications both took one day to complete. The Authorware version also took a day but after an initial day of experimentation with the package. It seems likely, therefore, that for a simple courseware exercise such as this there would be little difference in productivity.

Discussion

Functionality.

The simplest evaluation is in terms of functionality, which was divided above into seven categories. For Text Creation, the two Windows tools are similar in their functionality index (Macknight & Balagopalan 1989) while PC-CAI is much more limited (Figure 4); similarly in the Author Environment functionality measure. In the second category, input analysis, PC-CAI provides good matching facilities for text and numbers. Toolbook allows for text and numbers and the detection of pointer actions, but no answer matching functions are provided - these must be hand-coded. Authorware provides many menu for answer matching, although not for numerical answers. In the third area of recording user responses, Authorware has good facilities and PC-CAI can also record and retrieve grade information at run-time. In Toolbook they would be hand-coded.

In the category of program structures, PC-CAI is unstructured (apart from within Question sections) so the author can produce any control structure, with some programming expertise, but with the usual risks of unstructured code. It has no subroutines although applications can call other CAI applications on disk. Toolbook has standard control structures. It is object-based and functionally modular. Authorware's control structures are sequence along the flow-line, condition only through the Selection icon, and iteration only by selecting repeat in the Interaction icon. There is no while loop. It is also possible to perform a jump GOTO a labelled icon, allowing unstructured programming. Apart from the GOTO option, iteration and selection are determined by the options within icons. This contrasts with Course Builder (another iconic authoring system) where the author graphically determines the sequence between frames, which could lead to chaotic structures. In Authorware the automatic generation of restricted control structures could be valuable in imposing logic, but unfortunately it is arbitrarily organised within icons. Using icons to produce iteration or selection automatically generates lower levels in the icon hierarchy. These were smaller than a more functional modularity required. In contrast, Course Builder allows and requires manual aggregation of icons into modules.

As to debugging tools, PC-CAI and Authorware have none, though this is less serious in the latter. Toolbook validates syntax at coding, and identifies the position of errors at run-time. But there are no trace facilities so a large application may be difficult to debug. Toolbook has good on-line help, the others have none.

PC-CAI cannot interface with other programs. Toolbook interfaces well with other Windows programs, supporting DDE, which Authorware does not.

As to media editors, the two Windows tools have toolboxes for graphics and text. They are available for audio and video for Toolbook and the Toolbook development environment is extensible with third-party extensions. Authorware can only be extended by calling lower level code at run-time. It does not have audio or video editors but Macromedia Director does and Authorware can 'play' its applications.

Macknight and Balagopalan (1989) provide a useful checklist of functions for authoring tools, although not as inclusive as the one used here, but their performance indices are of limited use. The functionality index is only a checklist (Figures 2 and 3). The flexibility index (number of keystrokes) is of little use when comparing the typing of commands with selection from menus or pointer actions. The productivity index is superficially attractive: the time taken by an expert to accomplish tasks with the tools. However, this must include 'thinking time', including such things as debugging and using on-line help, which begs questions of the author environment, programming skills and the scale of project for which a tool is appropriate. The limited usefulness of the functional approach of Macknight and Balagopalan is demonstrated by the similar values for efficiency measures it gives to Toolbook and Authorware despite their very different author interfaces and contexts for appropriate use.

Author Interface

The three tools reviewed here represent three paradigms for the creation of executable code. The two Windows tools represent the two directions of authoring systems described by Hunka (1989). Toolbook allows the author to create the presentation as the user would see it although, unlike Hunka's tool, no text code is generated for the presentation. Authorware represents the Course of Action paradigm where the author first determines the instructional sequence before creating the presentation of resources - icons must be placed on the flow-line before they can be edited. The flow-line is an iconic, high-level code and Authorware is essentially a graphical 3GL with menu options providing most additional specification, although variables and expressions must still be typed.

PC-CAI is a specialist but otherwise traditional 3GL. The source code must be edited directly. However, the Create program is a 4GL which will generate this code from author menus.

Is the choice of interface merely a matter of taste? Firstly, there are detailed features of Authorware that seem unnecessarily restrictive - the size of the flow-line widow being an obvious example. While there no doubt 'work-arounds' the need for these is itself a criticism of the interface.

To pass over the small irritations, there are two aspects to the question: the degree to which it is authoring rather than programming, and the graphical versus text nature of the programming. To consider the latter issue, it would be possible to design an iconic programming language with the flexibility of a general purpose 3GL text language. Authorware is not that language, it is more like an iconic version of a traditional, partly structured authoring language like PC-CAI. Built-in structures suitable for standard interactions are available and generally constrain program sequence, but it is also possible (and presumably sometimes necessary) to use unstructured GOTOs to create other sequences.

The issue of authoring or programming involves support for, or imposition of, instructional design. This can be viewed in two ways. If authoring is taken to be the whole development process, then current authoring tools (including these three) are clearly deficient in support for instructional design (Merrill 1985). Whether Merril's ID2 (Li and Merrill 1991) or other applications of artificial intelligence to the processes of instructional systems development (Spector et al. 1992) will augment authoring systems in future is beyond the scope of this report. In current authoring tools, instructional design knowledge is present as templates, restrictions or implicit paradigms that may improve productivity in some cases; a trade-off between productivity with a restricted set of designs and flexibility (Lewis and Mace 1988, p.3). In the three systems being reviewed it is present as implicit paradigms of branched programming learning or hypertext (Toolbook): 'existing software tools do not incorporate a methodology for courseware production, except by default' (Lewis and Mace, 1988, p.6).

Authoring languages need programming but give to the programmer the flexibility of supporting a variety of instructional designs. Authoring systems present templates, or at least a paradigm of instructional design, waiting for content to be added and options to be selected. Both Authorware and PC-CAI present in their icons and commands the paradigm of branched programmed instruction. Departure from this paradigm becomes increasingly difficult and, in the case of Authorware, needs work-arounds and coding. Toolbook, on the other hand, is a general purpose tool with an emphasis on graphical interfaces and built-in support for hyper-links. Its paradigm is hypertext, but as this paradigm is intrinsically more general-purpose, it can more easily be used for a variety of courseware types. The cost is in the necessity of text coding and programming skills.

In the selection of a tool, the desired functionality is a necessary but not sufficient criterion. Next, limitations in the author interface that will reduce author productivity may cause de-selection. Then, flexibility in the instructional designs easily implemented is important in the selection. An authoring system like Authorware will allow non-programmers to create multimedia courseware without investment in programming skills, as long as courseware fits the paradigm the system suggests. It will avoid the need for formal analysis and design for small projects. However, successful long term and widespread institutional use of a tool will not depend largely on initial ease of use, but on flexibility and extensibility, usefulness in the context of courseware teams and communication between its members, and software maintenance (Reynolds 1994). Here, Toolbook's more general hypertext paradigm more than compensates for its lack of input analysis. Its emphasis on interface design is of advantage in prototyping and its extensibility of editors makes it flexible for changing needs.

References

Almgren, R. 1994. The diagram paradigm. Program Now, p. 74, June 1994.

Barker, P. 1987. Author languages for CAL. MacMillan.

Barker, P. 1989. Authoring for multi-media CAL. In: P.BArker (ed) Multi-media Computer Assisted Learning, 210-224. London: Kogan Page.

Beilby M. 1992. Aymetrix Toolbook 1.5 The CTISS File 13, 16-19.

Davies, P., Scarborough, S. & Brailsford, T. 1992. Authorware Professional: multi-platform icon authoring. The CTISS File, 13, 7-11.

Dean, C. & Whitlock, Q 1988. Using an author language. In C.Dean & Q Whitlock, A handbook of computer based training 213-231. London: Kogan Page.

Dean, C 1994. An overview of authoring systems for CBT and Interactive Multimedia that are available in the UK. Sheffield: Dean Associates.

Edwards J., Howe G. & Smith F. 1993. Advice on choosing an authoring package. Educational Technology Service, University of Bristol.

Gardner J. & Munroe, G 1992. Authoring and authoring systems. The CTISS File, 13, 45-46.

Hunka, S. 1989 Design guidelines for CAI authoring systems. Educational Technology 29 (11) 12-17.

Lewis R. and Mace, T.D. 1988. Support tools for authoring - a seminar report. University of Lancaster, InTER/7/88.

Li, Z. and Merrill, M.D. 1991. ID Expert 2.0: Design theory and process. Educational Technology Research and Development 39 (2), 53-69.

MacKnight, C. & Balagopalan, S. 1989. A evaluation tool for measuring authoring system performance. Comm. of the ACM 32 (10) 1231-1236.

Merrill, M.D. 1985. Where is the authoring in authoring systems? J. Computer-Based Instruction 12 (4) 90-96.

Reynolds, M. (1994) KnowledgePro Windows : the order of merit? ALT-J 2 (1) 57-61

Richards, T & Fukuzawa, J. 1989. A checklist for evaluation of courseware authoring systems. Educational Technology 29 (10), 24-29.

Riley, F. 1994. Understanding IT: a review of hypermedia authoring packages. University of Hull.

Spector, JM, Goage, RM, Muraida, DJ & Dimitroff, WA 1992. Intelligent frameworks for instructional design. Educational Technology October, 21-27.

Appendix 2 PC-CAI screens and code


Source Code

.rem file SB4.cai .screen 0 .color 0,7 .rem 80 column, black on white .cls .skip 9 A simple tutorial created with PC-CAI .locate 24,1 .pause(*Please press Enter to continue*) @LABEL:START .cls There are three common measures of average (or centrality) in descriptive statistics MEAN MEDIAN and MODE .locate 24,1 .pause(*Please press Enter to continue*) .cls The MEAN is the usual average: .color 1,7 .rem blue on white take all the values, add them up and divide by the number of values .color 0,7 .locate 24,1 .pause .locate 5,1 For example, take the 28 numbers .color 1,7 3 5 7 1 5 6 8 7 4 6 7 4 9 0 2 5 6 4 5 3 4 5 6 3 4 4 2 8 The total (sum) is 133, so dividing 133 by 28, the mean is 4.75 .locate 24,1 .pause .cls .color 0,7 The MEDIAN is the middle value: .color 1,7 .rem blue on white place the values in order from the smallest to the largest, if there are an odd number of values the median is the middle value at position (n+1)/2 where n is the number of values if there an even number, the median is half way between the two middle values .color 0,7 .locate 24,1 .pause .locate 11,1 For example, with our 28 numbers, 3 5 7 1 5 6 8 7 4 6 7 4 9 0 2 5 6 4 5 3 4 5 6 3 4 4 2 8 In order they are 0,1,2,2,3,3,3,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,8,8,9 ^ ^ There are two middle numbers. The median is mid-way between them. As they are both 5, the median is 5. .locate 24,1 .pause .cls .color 0,7 The MODE is the most frequent value: .color 1,7 .rem blue on white if the values are whole numbers such as 2,2,3,3,3,4,4,5 its easy - one of the values will probably be more frequent than the others (in this example, the value 3). if they are not integers then they must be grouped into classes and the MODAL CLASS is that with most values in it. .color 0,7 .locate 24,1 .pause .locate 8,1 With our 28 numbers: 0,1,2,2,3,3,3,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,8,8,9 These numbers are whole numbers (integers) so we do not need to make classes. If we add up the frequencies of each value we get: value frequency 0 1 1 1 2 2 3 3 4 6 <-- mode 5 5 6 4 7 3 8 2 9 1 The most frequent value is 6, so the mode is 6. .locate 24,1 .pause .cls .color 0,7 OK, now you have a go. Here are some numbers: 3 5 7 1 3 6 8 7 4 2 2 2 9 0 2 5 6 4 5 3 4 5 6 3 4 2 2 8 Work out the mean, the median and the mode. When you have three answers, press the Enter key to answer some questions. .locate 24,1 .pause .cls @BEGIN QUESTION @TRIES 1 @READ(*Whatis the mean, approximately? *) @RIGHT (*4.2;4.3*) DECIMAL Well done. In fact the mean is about 4.214285. @wrong Sorry. The sum of these numbers is 118 so to get the mean we divide 118 by 28. Try that now. It should come out to about 4.21 @END QUESTION .locate 24,1 .pause .cls @BEGIN QUESTION @TRIES 1 @READ(*What is the median value ?*) @RIGHT (*4*) EXACT Well done. Both 14th and 15th numbers are 4, so the median is 4. @WRONG(*4*) DECIMAL OK, The median is 4, but it is the whole number 4, not 4.0 or any other way of writing it. @WRONG Nope. Arrange the numbers in order and count which are the 14th and 15th values (the two middle values). Then take a value half way between. In this case the middle values are both 4, so the median is 4. @END QUESTION .locate 24,1 .pause .cls @BEGIN QUESTION @READ(*What is the mode ?*) @RIGHT(*2*) EXACT Well done. There are six values of 2, which is the most frequent value. So 2 is the mode. @WRONG(*2*) DECIMAL OK. The mode is 2, but only 2 as a whole number, not 2.0 or any other numerical value of 2. @WRONG Sorry. Add up the frequency of each value: value frequency 0 1 1 1 2 6 <-- mode 3 4 4 4 5 4 6 3 7 2 8 2 9 1 There are more 2's than any other value so 2 is the mode. Easy! @END QUESTION .locate 24,1 .pause .cls Now lets see if you remember the names of the three types of average. .locate 5,1 .pause .cls @BEGIN QUESTION @TRIES 3 Which measure of centrality is the sum of values divided by the number of values? @READ (*Please enter your answer here: *) @RIGHT (*mean*) EXACT NOCASE Well Done! @Wrong Sorry, try again. You must answer mean, median or mode, in upper or lower case letters. @WRONG FINAL That's three goes! Let's move on ... @END QUESTION .locate 24,1 .pause .cls @BEGIN QUESTION @TRIES 2 Which measure of centrality is the middle value? @READ (*Please enter your answer here: *) @RIGHT (*median*) exact nocase Well done! @WRONG Try again. @WRONG final Still wrong - when you get to the end of this session I think you should opt to do it again. @END QUESTION .locate 24,1 .Pause .cls @BEGIN QUESTION @TRIES 1 Which measure of centrality is the most frequent value? @READ (*Please enter your answer here: *) @RIGHT (*mode*) exact nocase Well done! @Wrong Wrong. Perhaps you should try this tutorial again. @END QUESTION .locate 24,1 .Pau .cls @BEGIN QUESTION NOCOUNT Do you want to repeat this tutorial? (Y/N) @RIGHT (*Y*) exact nocase @WRONG @END QUESTION @IF (RIGHT) @GOBACK:START @STOP

Appendix 3 Example ToolBook Code and Screens

-- page 7's script to handle enterpage hide field mean_right hide field mean_wrong hide button cont end enterpage -- button on page 7, asking for mean of example data to handle buttonUp if text of field mean_answer > 4.199999 and text of field mean_answer < 4.3 then show field mean_right else show field mean_wrong end if show button cont end -- button script for page 10, asking for answer 'mean' to handle buttonUp if Tries is 3 as number then set text of field display to "That's three wrong answers. Now press continue " show button cont break buttonUp end if if text of field mean_word_answer contains "mean" then set text of field display to "Well done! Now press continue " show button cont else set text of field display to "Sorry, try again." increment tries pause 3 seconds set text of field display to "" if Tries is 3 as number then set text of field display to "That's three wrong answers. Now press continue " show button cont end if end if end

Appendix 4 Example Authorware Screens and Flowcharts

A simple tutorial created with PC-CAI Please press Enter to continue The MODE is the most frequent value: if the values are whole numbers such as 2,2,3,3,3,4,4,5 its easy - one of the values will probably be more frequent than the others (in this example, the value 3). if they are not integers then they must be grouped into classes and the MODAL CLASS is that with most values in it. With our 28 numbers: 0,1,2,2,3,3,3,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,8,8,9 These numbers are whole numbers (integers) so we do not need to make classes. If we add up the frequencies of each value we get: value frequency 0 1 1 1 2 2 3 3 4 6 <-- mode 5 5 6 4 7 3 8 2 9 1 The most frequent value is 6, so the mode is 6. Press Enter: The MEDIAN is the middle value: place the values in order from the smallest to the largest, if there are an odd number of values the median is the middle value at position (n+1)/2 where n is the number of values if there an even number, the median is half way between the two middle values For example, with our 28 numbers, 3 5 7 1 5 6 8 7 4 6 7 4 9 0 2 5 6 4 5 3 4 5 6 3 4 4 2 8 In order they are 0,1,2,2,3,3,3,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,8,8,9 ^ ^ There are two middle numbers. The median is mid-way between them. As they are both 5, the median is 5. Press Enter:

Stephen Bostock asserts his moral right to be acknowledged as the author of documents on this site, unless another author is identified.  Copyright remains with Keele University, or the author.  The views expressed in this site are those of the author and do not necessarily represent those of Keele University.
 Last edited: November 22, 2006