AGOCG logo
Graphics Multimedia VR Visualization Contents
Training Reports Workshops Briefings Index
This report is also available as an Acrobat file.

SIMA Report on Multimedia Toolbook


down Appendix A - Purchasing
down Appendix B - Technical Support
down Appendix C - Bibliography
down Appendix D - Internet Resources
down Appendix E - UK Toolbook User Group
down Appendix F - Toolbook 3.0 Product Information
down Appendix G - Annotated File List
down Appendix H - Implications for Developers of Upgrading
down Appendix I - Toolbook 4.0 Product Information

Appendix A - Purchasing

Northern Europe

(UK, Ireland, Scandinavia, Holland)
Sales, Educational Discounts and Training
ICS Solutions Ltd., Tempus Business Centre, Kingsclere Road, Basingstoke, U.K. Tel. + 44 (0)1256 469460, FAX: +44 (0)1256 840494
P.S.C., Willow Grange, Church Road, Watford, Herts., WD1 3QA, U.K. Tel: + 44 (0)1923.208433, FAX: + 44 (0)1923.208419 Support: +44 (0)1923.208433, Support Fax: +44 (0)1923.208419
Asymetrix Ltd.
The Innovation Centre, # 225 Marsh Wall, Docklands, London E14 9FW Tel: +44 (0)171 454 1061, FAX: +44 (0)171 454 1062

United States (World Headquarters)

Asymetrix Corp., 
110 - 110th Avenue N.E., 
Suite 700, Bellevue, WA 98004

Sales: (800) 448-6543, 
FAX: (206) 637-1504,  
Support: (206) 637-1600

Southern Europe (European Headquarters)

(France, Italy, Spain, Portugal, Belgium, Africa, Greece, Turkey, Middle-East)

Asymetrix S.A.R.L., 
CNIT-BP 417, 2, 
Place de la Défense,
92053 Paris La Défense, 
Tel: + (33) 1-46-92-24-34, 
FAX: + (33) 1-46-92-23-58
BBS: + (33) 1-47-62-96-67, 
Support: + (44) 1923.208433
Support Fax: + (44) 1923.208419

Central Europe

(Germany, Austria, Switzerland, Eastern Countries)
Asymetrix Info-Service, 
Postfach 10 01 63, 
D-80075 Münich, 

Tel: + (49) 1 80-5 35 25 25, 
FAX: + (49) 1 80-5 35 25 75
Support: + (44) 1923.208433, 
Support Fax: + (44) 1923.208419

Australia/Asia Pacific

236 Balaclava Road, 
Caulfield North, 
Victoria 3161, 

Tel: 011 613-9500-1333, 
FAX: 011 613-9500-1344
XL TECH, 3/252 Allambie Rd, 
Allambie Heights 2100, 

Tel: + (61) 2 975-2111, 
Fax: + (61) 2 975-2167


Something Good, 
City-Plaza Shinjuku ,
 Bldg. 2-5-20, 
Okubu Shinjuku-Ku Tokyo 169

Tel: + (81) 3 3232 0803, 
Fax: + (81) 3 3232 0963

Appendix B - Technical Support

Asymetrix European Technical Support

European support of the ToolBook product family is contracted out to a company called PSC. If you ring with a query, you will need to quote the serial no. of your copy of ToolBook.

Willow Grange
Church Road
Herts. WD1 3QA

Tel +44 (0)1923.208433
Fax +44 (0)1923.208419
Email as per United States (see below)

Asymetrix US Technical Support

Technical support in the US, and worldwide support by email, is supplied by Asymetrix's own support staff based in the same suite of offices as the product developers. The best method for a quick response with a query is to use email.

Asymetrix Corp.
110 - 110th Avenue N.E., Suite 700
WA 98004

Sales (800) 448-6543
Fax (206) 637-1504
Support (206) 637-1600

Appendix C - Bibliography

ToolBook Specific

  • Hall, T.L., "Utilizing Multimedia ToolBook 3.0", Boyd-Fraser, 1995
  • Hall, T.L., "Utilizing Multimedia ToolBook 4.0", Boyd-Fraser, 1996
  • Hobbs, P. (editor), "UK ToolBook User Conference 94 Proceedings", Centre for Computing in Economics, Bristol, March 1995
  • Hobbs, P. (editor), "UK ToolBook User Conference 95 Proceedings", Centre for Computing in the Social Sciences, Bristol, May 1996
  • Hustedde, S., "Developing with Asymetrix Toolbook: Applied Programming Theory", Wadsworth, October 1995
  • Holtz, M., "The Multimedia Workshop: Toolbook 3.0", Wadsworth, 1995
  • Natal et al, "Special Edition Using Asymetrix Multimedia Toolbook 4", Que, November 1995
  • Price, S., Asymetrix ToolBook 3 - Implications for Developers, Centre for Computing in Economics, Bristol, June 95

ToolBook Related

  • Gertler, N., "Multimedia Illustrated", Que, 1995
  • Tway, L., "Multimedia in Action", Academic Press, 1995

Appendix D - Internet Resources

Email	Asymetrix Technical Support
	ALT-T ToolBook User Group
ftp	Asymetrix FTP Site         (pub)
	mirror	                    (/pub/windows/toolbook/asymetrix)
	TOOLB-L Archive (/pub/listserv/toolb-l)
	ToolBook related (pub/pc/win3/toolbook)
	mirror	                    (micro/msdos/win3)
	mirror	                    (several directories)
	mirror	                    (pub/hcil)
Lists	Discussion List	          
	CIX ToolBook Conference	tool_book
Newsgroups				TOOLB-L (Bi-directional link with TOOLB-L list)	
Web	Asymetrix	          
	User Group	          
	User Group List Archives
	TB URL Depository	  
	TB User's Web	          
	T.Hall Book	        
FAQ*	Asymetrix	         
	Search TOOLB-L archives
	Collected wisdom	 

Appendix E - UK ToolBook User Group

The UK ToolBook user group exists under the banner of the Association for Learning Technology (ALT). Details of ALT and the user group, known as ALT-T, are given below. Although nominally a UK group, membership is free and unrestricted so there is nothing to stop any Internet user joining and in practice this is very much an international group. At the time of writing this report, ALT-T membership exceeds 500.

What is ALT?

The Association for Learning Technology (ALT) provides a focus for the rapidly emerging community of learning technology practitioners in higher education. It brings together all those concerned with learning technology in higher education including researchers, developers, service providers, IT policy makers, librarians, computer manufacturers, software companies and publishers. At the heart are the academic staff in universities who are seeking to support their students' learning through the use of learning technology.

What does ALT do?

ALT meets the needs of its members, both individual and corporate, with a variety of services and activities. These are regularly evaluated and reviewed. As a membership organisation, ALT members are both recipients and providers of the following services.

  • Journal - ALT-J
  • Newsletter - ALT-N
  • Electronic publishing
  • Workshops, forums and conferences
  • Award scheme
  • Task groups
  • Special interest groups and user groups

ALT ToolBook User Group

One of the key functions of a professional association such as ALT is to encourage the transfer of skills and good practice amongst its membership. User groups for specific authoring systems are way of transferring practical information in a way which allows the group's members to increase their efficiency and raise the quality of their work. To this end, a number of ToolBook users founded the ALT ToolBook user group (ALT-T) at the first UK ToolBook Users Conference in Glasgow 1993.

ALT-T aims to address the needs of both non-technical and technical users of ToolBook through the following activities.

  • Electronic newsletter - ALT-T News
  • World Wide Web site - ALT-T Web
  • Annual conference - UK ToolBook Users Conference
  • Close contact with Asymetrix Europe

Annual UK ToolBook Users Conference

ALT-T holds an annual UK ToolBook Users Conference, the details of which are announced in the ALT T News newsletter. Proceedings of the 1994 and 1995 conferences are available from the following address.

Centre for Computing in the Social Sciences
University of Bristol
8 Woodland Road
Bristol BS8 1TN

Tel 0117 928 8478
Fax 0117 928 8473

Joining ALT

For further details, contact:

Association for Learning Technology
University of Oxford
13 Banbury Road
Oxford OX2 6NN

Phone 01865 273273
Fax 01865 273275

Joining ALT-T

Membership of ALT-T is available free of charge to all ALT members and users of Asymetrix ToolBook. To join ALT-T, send an email message containing the following line to

	join toolbook  
	e.g.	join toolbook Simon Price

This message is handled by the mailbase list server without human intervention. In response to your message, an automatic reply will be emailed back confirming that you have been added to the toolbook mailbase list called You will subsequently receive the ALT T News newsletter which is published electronically around six times a year. In addition, you will also receive occasional news bulletins detailing ToolBook related events, workshops and conferences. Back issues of the newsletter plus pointers to other sources of information are available at the following World Wide Web URL.

Appendix F - ToolBook 3.0 Product Information

The following pages of this appendix are selected extracts from the ToolBook 3.0 Release Notes (RELNOTES.WRI) and give a detailed overview of the new features.


1.0.	Features new in ToolBook 3.0

2.0.	Converting books from earlier versions

3.0.	Features that work differently in ToolBook 3.0

Note: Asymetrix's original section numbering has been preserved.

1.0. Features new in ToolBook 3.0

ToolBook 3.0 contains hundreds of new features, including a new interface, new and enhanced objects, and many improvements to OpenScript. 

Authoring environment
1.1. New interface tools
1.2. Tools menu
1.3. Improved importing
1.4. Printing improvements
1.5. Enhanced color support
1.6. Managing embedded objects as resources
1.7. New tools for distributing applications

1.8. Drag and drop 
1.9. Buttons
1.10. Fields and record fields
1.11. Groups
1.12. Hotwords
1.13. Shapes and lines
1.14. Menus
1.15. Viewers (windows)
1.16. Combo boxes
1.17. OLE objects

1.18. Improved Script editor
1.19. Improved Debugger
1.20. Auto-Script script library utility
1.21. Improved Command window 
1.22. Improved OpenScript performance and efficiency
1.23. Improvements to variables
1.24. New operators
1.25. Improvements to messages
1.26. Notify handlers
1.27. New commands and functions (overview)
1.28. New commands
1.29. New functions
1.30. New messages
1.31. New properties
1.32. New DLL features and Windows messaging interface
1.33. New DLL functions 

1.1. New interface tools

*	Tool bar. Execute commands directly by clicking buttons on ToolBook's new tool bar.

*	Ruler shadows. When you select an object, the object's dimensions display as shadows in the ruler so you can more precisely size and move it.

*	Status bar. Display your own messages in the status bar. Turn the status bar on and off for any viewer in your application. 

*	Right-click menus. Click the right mouse button to display a context-sensitive menu and tool bar you can use to manipulate an object as well as view and edit its properties.

*	New Tools menu. Choose from a wide range of custom tools that make authoring easier and more efficient, including a Properties Browser, a window to define startup preferences, and other timesaving options. 

*	Command window history. Recall previously executed commands in the Command window using the Command window history. 

*	Recently used books on File menu. Open books quickly by choosing from the four most recently used books listed in the File menu.

*	Duplicate menu item. Choose Duplicate from the Edit menu or press Ctrl+D to duplicate the selected object.

1.2. Tools menu

Adding TOOLS30.SBK to the sysBooks property adds a Tools menu at Author level that contains useful authoring tools. The layout of the menu is:

    Property Browser
    Startup Preferences
    Set Tab Order
    Add 3D Style
    Import Text
    Export Text

Property Browser
Displays a window that allows you to edit and change properties, including user properties, for the selected object or for the page, background, viewer, or book. You can also use the Property Browser to view and set system properties and system variables.

You can also display the Property Browser from the right-click menu by clicking the Property Browser button on the right-click tool bar. 

Note  Because you cannot select viewers or hotwords, you must use the right-click menu to display the Property Browser for these objects. Or click the Viewers button on the Property Browser tool bar.

Startup Preferences
Displays a window where you can change startup properties such as grid settings, default stroke and fill colors, default page size, and startup system books.

Centers selected objects in the window.

Makes two or more selected objects the same size.

Arranges two or more selected objects in rows or columns.

Set Tab Order
Arranges the layer order of selected objects so that they follow one another in tab sequence.

Add 3D Style
Gives selected objects a three-dimensional look. This feature applies to fields, record fields, and rectangles. For example, if you choose Add 3D Style for a rectangle, ToolBook adds extra lines to the rectangle to give it a shadowed look.

Import Text
Imports text from a DOS file into the current field or record field.

Export Text
Exports text from the current field or record field to a DOS file.

Searches for text in scripts throughout the current book and, if you specify, replaces it.

Launches predefined applications. To launch your own applications, add a line to the [Add On Tools] section of the TOOLBOOK.INI file. The format of the line is:


For example, this is the line used to launch the ScrapBook:

[Add On Tools]
ScrapBook=C:\TB30\SAMPLES\SCRAPBK.TBK,Launches the ToolBook ScrapBook

1.3. Improved importing

*	Importing pages. Import pages from other books in one step. ToolBook automatically imports the associated resources and remaps the record field text.

*	Importing graphics. Import a wider variety of graphics.

1.4. Printing improvements

*	Updated interface. Use the updated printing user interface for easier access to printing.

*	WYSIWYG word wrapping. Design your printed output more accurately with WYSIWYG (what you see is what you get) word wrapping, which makes text look the same on the screen as it does on the printed page.

*	Printing colors. Control how well colors are rendered on black-and-white printers.

*	Page scaling. Create more flexible printer output with improved page scaling.

*	Robust printing. Enjoy consistent and reliable output with more robust printing support.


1.5. Enhanced color support

*	Solid colors. Display custom solid object colors by setting a book's solidColorsEnabled property to true.

*	RGB values. Set colors using RGB values instead of, or in addition to, HLS values.

*	New constants. Use the new color constants gray and lightGray.

*	Palette shift. Eliminate palette shift by assigning a shared color palette to a book.

*	16- and 24-bit color support. Take advantage of 16- and 24-bit display devices in your applications.

*	Graphics of all color depths. Add 8-bit, 16-bit, or 24-bit graphics to your application. ToolBook 3.0 automatically dithers the images to the color depth of the user's machine.

*	Windows colors. Set objects to use the colors set in the Windows Control Panel with the new useWindowsColors property.

1.6. Managing embedded objects as resources

*	Centralized resources. Maintain a centralized database of resources, including menu bars, icons, cursors, bitmaps, and color palettes, that you can use throughout your book.

*	Menu bars. Create and modify menu bars without scripting using the new Menu Bar editor.

*	 Icons and cursors. Create and edit icons and cursors using the new Icon/Cursor editor.

*	Bitmaps and color palettes. Create and edit bitmaps and color palettes, including those created with other Windows programs, using BitEdit or PalEdit.

*	Single-source changes. Update every occurrence in a book of a bitmap, icon, color palette, or cursor with a single change. For example, if several graphic buttons share the same bitmap resource, ToolBook automatically updates each button when you edit or replace the bitmap.

*	Clip art. Get a head start on user interface design by importing predefined icons, cursors, and bitmaps from the library of clip art included with ToolBook. 3.0.


1.7. New tools for distributing applications

*	.EXE files. Save books as .EXE files that you can launch directly from the Program Manager without starting ToolBook or Runtime ToolBook first. (ToolBook must still be available in your path, however.)

*	Installation utility. Package your applications with the new Asymetrix Setup Utility, which allows you to create installable components, assign icons to each file, and compress files for distribution on floppy disks or CD. 

1.8. Drag and drop

*	Drag objects. Define drag-and-drop behavior for any object to create highly interactive and intuitive applications.

*	Drag-and-drop properties. Specify drag-and-drop properties using dialog boxes or create conditional drag-and-drop behavior in OpenScript.

*	Drag and no-drop cursors. Use any graphic resource as a drag cursor, including full-color bitmaps (a capability unique to ToolBook).

1.9. Buttons

*	3D buttons. Create three-dimensional radio buttons and check boxes for your application interface.

*	Graphical buttons. Create custom checkboxes, radio buttons, and pushbuttons by adding graphics to your buttons. 

*	Radio buttons. Create radio button groups more easily with the new autoRadioButtons group property.

*	Disabled buttons. Prevent users from using buttons by disabling the buttons with the new enabled property.

*	Mnemonic access characters. Define custom keyboard interfaces in your application by assigning mnemonic access characters to your buttons, so that users can use Alt plus a keystroke to click the button.

1.10. Fields and record fields

*	Inline graphics. Paste bitmaps and icon graphics into a field, or insert a graphic that you've imported into ToolBook's resource system.

*	Borderless fields. Create transparent, borderless fields in one step using the borderless field tool.

*	Label buttons. Create labels next to fields or in group boxes to define mnemonic access characters for objects that don't have captions.

*	Superscripts and subscripts. Add superscripts and subscripts to your field text (invaluable for displaying mathematical and scientific data).

*	Color text. Add visual emphasis to your fields with color. Each character in a field can be a different color.

*	Inset and raised styles. Create three-dimensional fields and record fields using new styles.

*	Rich-text format (RTF) support. Paste formatted text from word processing programs into fields or import it directly from a DOS file. Reduce development of text-rich applications by eliminating time spent reformatting imported text. Move formatted text, including hotwords, from one field to another using the richText field property.

1.11. Groups

*	Group editor. Select objects in a group individually so you can edit them without destroying the group. You can also add objects to groups by selecting an object in the group and then drawing the new object, which automatically becomes part of the group.

*	Add or delete objects. Add or delete objects in existing groups.

*	Auto-radio buttons. Define radio button behavior more easily with the new autoRadioButtons property.

1.12. Hotwords

*	Hotword styles. Define hotwords in color. Define a single hotword style for an entire book for convenience, but override it for individual hotwords for flexibility.

*	Importing hotwords. Define hotwords in your word processing program, then import them into your ToolBook fields. This feature is very useful to anyone who is creating hypertext applications in ToolBook.

*	Finer control. Control hotwords more precisely with the new text, textOffset, and bounds hotword properties.

*	Hotword graphics. Create hotword graphics by including graphics in your hotwords.

1.13. Shapes and lines

*	Reshape objects. Reshape polygons and arcs more easily with an enhanced Reshape command that allows you to add and remove vertices.

*	Line ends. Add arrowheads and other effects to lines with the new line ends palette.

1.14. Menus

*	Menu Bar editor. Use the new Menu Bar editor to create and edit menu resources without programming. You can define multiple levels of cascading menus. ToolBook 3.0 comes with a predefined Reader-level menu resource.

	 Use menu resources instead of modifying menus in the enterBook handler, as you did in ToolBook 1.5.

*	menuItem selected message. Write a handler for the new menuItemSelected message instead of writing individual handlers for each menu item. (ToolBook still sends the menu command and alias messages if there is no menuItemSelected handler.)

*	New OpenScript commands. Control menus more precisely with new OpenScript commands and functions that support menus, such as menuEnabled, setMenuName, setMenuHelpText, removeSeparator, and others.

*	Popup menus. Display popup menus with the new popupMenu() function.

Tip  You can use the tool bar to send many of the same commands that are defined in menus.

1.15. Viewers (multiple windows)

*	Multi-window applications. Display pages and create multi-window applications, dialog boxes, palettes, tool and status bars, popup windows, nested child windows, and much more to display your information in a variety of  ways.

*	Multiple concurrent windows.  Display multiple pages simultaneously.

*	Dialog boxes and palettes. Create deluxe dialog boxes and palettes that make use of all of ToolBook's color and graphics capabilities.

*	Popup windows. Create popup viewers that disappear when you click the mouse.

*	Captions. Add thin captions to create low-profile windows such as tool palettes.

*	Replace multiple instances. Combine multiple ToolBook instances in a single, powerful, easily-managed application.

1.16. Combo boxes

*	Drop-down list box. Provide the choices of a list box in the space of a single-line field by creating combo box objects with drop-down lists.

*	Sort items. Sort items in the drop-down list automatically.

1.17. OLE objects

*	Embed OLE 1 objects. Embed or link any OLE 1.0 object into your ToolBook application.

*	Embed data from other Windows programs. Add graphs, drawings, and other objects to your ToolBook pages by pasting them from OLE-compatible applications.

1.18. Improved Script editor

*	Multiple windows. Edit multiple scripts simultaneously in multiple modeless Script editors.

*	Tool bar. Use the Script editor tool bar as a shortcut for most commands.

*	Exchange text. Import and export text files directly into and from the Script editor.

*	Block commenting. Comment and uncomment blocks of code in one step.

*	Block indenting. Promote and demote blocks in one step.

*	Parent script editing. Edit the scripts of parent objects by choosing the name of the parent object from a menu.

1.19. Improved Debugger

*	Edit variables. View and edit variable values of any length.

*	Command window. Inspect and change any property using the Command window while in the Debugger.

1.20. Auto-Script script library utility

*	Learning tool. Learn ToolBook quickly by browsing through predefined handlers, inserting a handler into a script, and testing the results.

*	Copy scripts. Insert predefined handlers from a script library using the Auto-Script feature. You can customize options in each handler you insert. 

*	Edit existing scripts. Add your favorite handlers to an Auto-Script library file.

*	Programmer productivity. Share Auto-Script libraries among multiple programmers.

1.21. Improved Command window

*	Command window history. The Command window maintains a history of the most recent commands you executed. Use the PageUp and PageDown keys to review and recall the commands or execute any command by double-clicking it.

*	Support for Ctrl+arrow keys. Jump from word to word using Ctrl+Left Arrow or Ctrl+Right Arrow.

*	Properties stored between sessions. Command window position, size, and split bar height are written to TOOLBOOK.INI when you close the program. They're restored when you start ToolBook again and display the Command window.

Note  You can no longer evaluate expressions directly in the Command window. 

1.22. Improved OpenScript performance and efficiency

*	Faster compiler. Write scripts that are up to 10 times faster than scripts in ToolBook 1.5 with the new optimizing OpenScript compiler. Looping and access to program variables are key areas where performance has been improved.

*	Larger scripts. Write more complex programs that use larger variables. Each variable in OpenScript can contain 64K of data, and you can have up to 16MB of variable data (an increase from 32K in ToolBook 1.5).

*	Optional typed variables. Improve efficiency of your programs by using optional typed variables, including types such as int, word, string, object, and many others.

1.23. Improvements to variables

*	Optional typed variables.  Improve efficiency of your programs by using optional typed variables, including types such as int, word, string, object, and many others.

*	Larger variables.  Write more complex programs that use larger variables; each variable in OpenScript can contain 64K of data, and you can have up to 16MB of variable data -- an increase from 32K in Multimedia ToolBook 1.5.

*	New assignment operator.  Assign values to variables and properties more conveniently using the new equal assignment operator (=), which also makes your OpenScript handlers faster to type and easier to read.

*	Arrays.  Access structured data quickly and easily using arrays of up to 16 dimensions. Use fixed arrays for fast, efficient management of data and dynamic arrays to store variable data whose size changes dynamically. Each array element can contain up to 65,536 characters.

1.24. New operators

*	Assignment operator. Assign values to variables and properties more easily using the new equal assignment operator (=), which also makes your OpenScript handlers simpler to read.

*	Embedded graphics. Manipulate graphics embedded in text with the new graphic text operator.

*	Bitwise operators. Manipulate individual bits in numbers using the new bitwise operators. This capability is important when you're working with DLLs and certain algorithms.

*	Variable names. Use the at symbol (@) to distinguish variable names from OpenScript keywords or property names. 

*	Variable as message. Use parentheses with the send command to evaluate an expression as a message.

1.25. Improvements to messages

*	Clicking mouse buttons. Make buttons and other objects respond more like standard Windows controls with the new buttonClick message -- the message is only sent if the user releases the mouse button while the cursor is still over the object.

*	Linking and unlinking system books. Write more reliable system books with the new linkSysBook and unlinkSysBook messages. These messages notify your system book when it is time to initialize or clean itself up, so you no longer need to rely on forwarded enterSystem, enterBook, or enterPage messages.

*	Entering and leaving applications. Track when a book is opened and closed in the Main window with the enterApplication and leaveApplication messages. Because you can now display multiple books concurrently using viewers, you can use these messages in place of enterBook and leaveBook to perform application initialization and cleanup.

*	Pressing Alt+key combinations. Write handlers for the new keyMnemonic message to define your own Alt+key combinations.

*	Sending variables as messages. Send the contents of variables as messages using an enhanced send command. For example:

ask "Send what message?"
send (It)

*	Request notification of messages. Write handlers that are notified when messages reach the current page or background. This allows you to create self-contained objects that maintain their customized behavior when they are copied. 

1.26. Notify handlers

*	Self-contained objects. Build intelligent, self-contained objects using the new notify handlers, which execute in response to messages that are sent to the object's page. For example, you can write a clock object that automatically updates the current time whenever the page receives an idle message, or you can write an animation object that starts playing when the page is entered. You can copy and paste these objects onto any page and they will work with no further scripting.

*	Libraries. Use notify handlers to create libraries of intelligent objects that you and other ToolBook authors can reuse.

1.27. New commands and functions (overview)

*        Page transitions. Add a variety of special effects to page navigation using the new transition command. Choose from blinds, drip, push, slide, spiral, and many others.

*      Number formats. Format numbers as binary or hexadecimal with new options for the format command.

*	Importing books. Import other books with the import book command.

*	Importing pages. Import any single page or range of pages from any other book with the import pages command.

*	Copying objects. Copy objects directly, without the Clipboard, using the copyObject() function.

*	Verify objects. Test for the existence of an object with the isObject() function.

*	Verify formats. Test whether a value matches a format using the isType() function.

*	Sounds. Play .WAV files through your sound board using the playSound() function.

*	Financial functions. Create "money-smart" applications using a wide range of financial functions.

*	Converting coordinates. Convert easily between page units and pixels using new coordinate conversion functions.

*	Popup menus. Display popup menus using the popupMenu() function.

1.28. New commands

ToolBook 3.0 includes the following new OpenScript commands.

Menu commands
Command		Description
disable menu		Deactivates an entire menu.
disable menuItem	Deactivates a single menu item.
enable menu		Activates a menu previously disabled with disable menu.
enable menuItem		Activates a menu item previously disabled with disable menuItem.
remove separator		Removes the line between items in a menu.

Command		Description
align 		Aligns selected objects.
copy resource		Makes another copy of an embedded bitmap, icon, cursor, palette, or 
		menu bar.
drag		Starts a drag-and-drop operation.
sendNotifyAfter		Sends a message that triggers an object's notifyAfter handler.
sendNotifyBefore		Sends a message that triggers an object's notifyBefore handler.

Resource commands
Command		 Description
export resource		Copies an embedded bitmap, icon, cursor, palette, or menu bar to a			DOS file.
import resource		Embeds a bitmap, icon, cursor, palette, or menu bar from a DOS file
insert graphic		Embeds a bitmap or icon resource into a field.
replace resource		Overwrites an embedded bitmap, icon, cursor, palette, or menu bar 
		with another.
remove resource		Discards an embedded bitmap, icon, cursor, palette, or menu bar 
		imported previously with import resource.

Book, page, and background commands
Command		Description
import book		Copies all pages from another book to the current book.
import pages		Copies selected pages from another book to the current book.
save as EXE		Saves the current book with an. EXE shell that starts ToolBook 
transition		Displays a special effect such as fade or wipe between pages.

Viewer (window) commands
Command		Description
activate 		Makes a particular viewer the current one.
close 		Closes a viewer.
hide 		Makes a viewer invisible but still available.
in 		Changes the active window temporarily in a script.
new viewer		Creates a new viewer.
open 		Initializes a viewer and makes its nonpersistent properties 
show 		Displays a viewer opened previously with openViewer.

Other new commands
Command		 Description
fill 		Fills all values in an array with a single value.
seekFile 		Moves to a specified position in an ASCII file after opening the file 
		with  openFile.

1.29. New functions

ToolBook 3.0 includes the following new OpenScript functions. For more details about each function, see the OpenScript Reference Manual or the online Help.

Menu-related functions
Function		 Description
menuEnabled()		Verifies whether a menu is active.
menuItemChecked()	Verifies whether a menu item has a checkmark next to it.
menuItemEnabled()	Verifies whether a menu item is active.
popupMenu()		Displays a popup (tear-off) menu.
setMenuHelpText()	Sets the status bar text that appears when this menu is highlighted.
setMenuItemHelpText()	Sets the status bar text that appears when this menu item is 
setMenuItemName()	Changes the name of a menu item.
setMenuName()		Changes the name of a menu.

Coordinate conversion functions
Function		 Description
clientToPageUnits()	Converts a location in a client window in pixels to page units.
clientToScreen()		Converts a location in a client window in pixels into an absolute 
		      location in the screen.
frameToPageUnits()	Converts a location within a window's frame in pixels into page units.
frameToScreen()		Converts a location within a window's frame in pixels into an absolute 
		     screen location.
pageUnitsToClient()	Converts a location in page units into a location in a client window in 
pageUnitsToFrame()	Converts a location in page units into a location in a frame window in 
pageUnitsToScreen()	Converts a location in page units into an absolute screen location in 
screenToClient()		Converts an absolute location on the screen into a location in a client 
		    window in pixels.
screenToFrame()		Converts an absolute location on the screen into a location in a frame 
		    window in pixels.
screenToPageUnits()	Converts an absolute location on the screen into page units.

Financial functions
Function		 Description
annuityFactor()		Returns a factor of the present value of an annuity.
compoundFactor()	Returns the future value of an interest-bearing account.
ddb()		Returns depreciation of an asset for a specific period.
fv()		Returns the future value of an annuity.
ipmt()		Returns the amount of interest to be paid on an investment.
irr()		Returns the interest rate for a series of cash flow amounts.
nper()		Returns the number of periods required for an investment.
npv()		Returns the present value of an investment based on cash flow 
pmt()		Returns the periodic payment for an annuity.
ppmt()		Returns the payment on principal for an investment.
pv()		Returns the present value of an investment.
rate()		Returns the interest rate per period for an investment.

Resource functions
Function		 Description
chooseResource()	Displays the Choose Resource dialog box from which you can select 
		     a bitmap, icon, cursor, color palette, or menu bar resource.
GDIHandle()		Returns the handle of a resource in a format that can be passed to 
resourceCount()		Returns the number of times a resource is referenced in the book.
resourceHandle()		Returns the handle of a resource in a format that can be passed tO 			    ToolBook.
resourceList()		Returns a list of the resource references for a specified resource type.

Other functions
Function		 Description
clipboardFormats()	Returns a list of formats currently on the Clipboard.
dimensions()		Returns the dimensions of the specified array.
flushMessageQueue()	Clears pending keystrokes, mouse clicks, or messages.
isObject()		Determines if the specified object exists.
isType()		Determines if the specified variable matches a particular data type.
playSound()		Plays a .WAV file.
windowFromPoint()	Returns a reference to the topmost viewer (window) displayed at the 
		     specified location.
windowRefFromHandle()	Returns a reference to the viewer (window) identified by the specified 

1.30. New messages

ToolBook 3.0 includes the following new OpenScript messages.

Menu event messages
Message		Description
align		Aligns selected objects.
color		Toggles display of the Color Tray.
find		Displays the Find dialog box.
graphic		If the focus is in a field and a character is selected, displays the 
		    Graphic dialog box, from which the user can choose a graphic to 	
		    insert into text.
insertGraphic		Inserts a graphic resource (bitmap, icon) into a field.
line		Displays the line palette.
lineEnds		Displays the line ends palette.
normalScript		Removes superscripting or subscripting from the selected text.
pasteSpecial		Displays the Paste Special dialog box, from which the user can 
		     choose the format for pasting an object from the Clipboard 
		    (including creating an OLE object).
pattern		Displays the pattern palette.
polygon		Displays the polygon palette.
printSetup		Displays the Print Setup dialog box, from which the user can choose 
		      the current printer.
readerRightClick		Toggles the sysReaderRightClick property, which determines 
		      whether the right-click menus appear at Reader level.
regular		Changes a font style to regular (no italics or bold).
replace		Displays the Replace dialog box to allow the user to specify 
		     replacement text  when searching for text.
resources		Displays the Resource Manager dialog box, from which the user can 
		      import, edit, or remove resources.
saveAsExe		Displays the Save As .EXE dialog box, from which the user can 
		     specify the name of the .EXE file to create.
sendMail		Displays the Send Note dialog box, from which the user can send an 
		      electronic mail message.
statusBar		Toggles the display of the status bar.
subscript		Formats the selected text as subscripted.
superscript		Formats the selected text as superscripted.
tool		Toggles the display of the tool palette.
toolBar		Toggles the display of the tool bar.

Enter event and leave event messages
Message		 Description
enterApplication		Sent when a book opens in ToolBook's Main window.
enterComboBox		Sent when a combo box receives the focus.
enterDrop		Sent when the cursor enters the bounds of an object during a drag-
		      and-drop operation.
enterDropDown		Sent when a user clicks the combo box pushbutton to display the 
		     drop-down list.
enterMenu		Sent just before a menu is shown.
enterWindow		Sent when a viewer gets the focus.
leaveApplication		Sent when the book in ToolBook's Main window is closed.
leaveComboBox		Sent when a combo box loses the focus.
leaveDrop		Sent when the cursor leaves the bounds of an object during a drag-
		     and-drop operation.
leaveDropDown		Sent when a combo box's drop-down list box closes.
leaveWindow		Sent when the target window changes.

Mouse and keyboard event messages
Message		 Description
buttonClick		Sent when the user presses and releases the mouse button while 
		     remaining over one object.
keyMnemonic		Sent when the user presses an Alt+key combination not already 
		    defined as a button or menu mnemonic access key.

Standard messages
Message		Description
autoScript		Displays the Auto-Script dialog box, from which the user can insert a 
		     prewritten script.
convertPicture		Converts the currently selected picture object to a paint object.
customEdit		Sent when the user clicks the Custom Edit button in an object's right-
		    click menu. If the current system books include TOOLS30.SBK, 
		    this message displays the Property Browser.
debugScript		Displays the Debugger.
editScript		Displays the Script editor.
pageSize		Displays the Page Size dialog box, from which the user can choose a 
		     new size for the current book or background.
showGrid		Toggles the visibility of the grid.
sizeToViewer		Contracts or expands the current background to the size of the viewer 
		      in which it is displayed.
snapGrid		Toggles whether objects snap to the grid.

Notification messages
Message		 Description
linkSysBook		Sent when a book is added to the sysBooks property.
menuItemSelected		Sent when a menu item is selected.
pageScrolled		Sent when the page scroll of a viewer changes to indicate how far a 
		      page has been scrolled.
selectChange		Sent when the user selects an item from a combo box's drop-down 			     list  box.
selectionChanged		Sent when the object selection changes at Author level.
shown		Sent when a viewer is shown.
sized		Sent when a viewer is sized.
unlinkSysBook		Sent when a book is removed from the sysBooks property.

Drag-and-drop messages
Message		 Description
allowDrag		Sent to query whether the object can be dragged.
allowDrop		Sent to query whether the object will allow another object to be 
		     dropped on it.
beginDrag		Sent to the dragged object when a drag-and-drop operation begins.
endDrag		Sent to the dragged object when it is dropped.
enterDrop		Sent to an object when the drag cursor enters its bounds.
leaveDrop		Sent to an object when the drag cursor leaves its bounds.
objectDropped		Sent to the destination object when a dragged object is dropped on it.
stillOverDrop		Sent continuously to an object while the drag cursor is above it.

OLE messages
Message		 Description
insertOLEObject		Displays the Insert OLE Object dialog box, which lists the types of 
		     OLE   servers available.
oleAction		Executes the specified action for the selected OLE object.
oleLinks		Displays the OLE Links dialog box, which allows users to maintain 
		    links for OLE objects.
pasteSpecial		Displays the Paste Special dialog box, from which the user can create 
		   an OLE object by pasting it from the Clipboard.

Viewer messages
Message		 Description
closeWindow		Sent to a viewer when it is closed.
enterMenu		Sent to a viewer when it is activated.
hidden		Sent to a viewer when it is hidden.
leaveWindow		Sent to a viewer when it loses the focus.
menuItemSelected		Sent to a viewer when the user chooses a menu item.
moved		Sent to a viewer when it is repositioned.
newViewer		Displays the New Viewer dialog box, from which the user can create a 
		     new viewer.
openWindow		Sent to a viewer when it is opened.
shown		Sent to a viewer when it is shown.
sized		Sent to a viewer when it is resized.
viewers		Displays the Viewers dialog box, from which users can choose a 
		     viewer to edit or create a new one.

1.31. New properties
ToolBook 3.0 includes the following new properties.

Books, pages, and backgrounds
Property		 Description
hotwordColor		Specifies the default color for hotwords.
hotwordStyle		Specifies the default style (frame, color, or none) in which 	
		     ToolBook displays hotwords.
keepMenubar		Specifies whether the current menu bar should be retained when 
		    opening a new book.
notifyObjects		Lists objects on a page that have requested notification of messages 
		    reaching the page.
percentFreeSpace		Specifies the approximate percentage of free space available on a 
		     page or background.
saveOnClose		Specifies how changes are saved when the book is closed.
shownBy		Lists the viewers currently showing a specified page.
skipNavigation		Prevents ToolBook from displaying the page at Reader level when the 
		   user navigates to it using the Page menu or using a script with 
		    implicit navigation commands (send next, send previous, 
		    and so on).
solidColorsEnabled		Specifies whether a book uses solid colors or dithered colors.
windows		Lists the viewers in a book.

Property		Description
checkedGraphic		Specifies the graphic resource (bitmap, cursor, or icon) that is 
		     displayed when a checkbox-style button is checked.
disabledGraphic		Specifies the graphic resource that is displayed when a button is 
invertGraphic		Specifies the graphic resource that is displayed when an enabled 
		     button is clicked and held down.
normalGraphic		Specifies the graphic resource that is displayed when a button is 
		     enabled and not being held down.

Property		Description
lineEndSize		Specifies the size of a line's arrowhead and other ends.
lineEndStyle		Specifies the style of a line's ends (filled or open arrowheads and tails).

Fields and record fields
Property		 Description
richText		Specifies the RTF version of text, which includes information about 
		       character and paragraph formatting.

Property		 Description
hotwordStyle		Specifies how ToolBook should display hotwords (frame, color, or 

Property		 Description
autoRadioButtons		Specifies whether the radio buttons in a group operate as mutually 
		     exclusive buttons.  

Property	 	Description
authorStatusBar		Specifies whether a viewer will display a status bar by default at 
		    Author  level.
imageBuffers		Specifies the number of buffers (0, 1, or 2) available to store pages 
	    	      and backgrounds for the current viewer.
readerStatusBar		Specifies whether a viewer will display a status bar by default at 
		     Author level.

Multiple objects
Property		 Description
defaultAllowDrag		Specifies whether an object is dragged by default when a user clicks 
defaultAllowDrop		Specifies whether an object accepts a drop by default.
dragImage		Specifies the graphic resource (bitmap, cursor, or icon) that is 
		      displayed when the object is dragged.
enabled		Specifies whether the object can respond to mouse clicks and receive 
		     the focus.
noDropImage		Specifies the graphic resource (bitmap, cursor, or icon) that is 
		     displayed when the object is dragged over an object that does 
		     not accept a drop.
notifyAfterMessages		Lists the messages for which the object has requested notification 
		    with  notifyAfter handlers.
notifyBeforeMessages		Lists the messages for which the object has requested notification 
		    with  notifyBefore handlers.
rgbFill		Specifies the object's fill color using RGB values (instead of HLS 
rgbStroke		Specifies the object's stroke color using RGB values (instead of HLS 

Property		 Description
caretLocation		Specifies the location of the insertion point within a field or record 
startup3DInterface		Specifies whether ToolBook displays dialog boxes using a three-
		      dimensional effect by default.
sys3DInterface		Specifies whether ToolBook currently displays dialog boxes using a		  	      three-dimensional effect.
sysToolBookDirectory		Returns the path from which ToolBook was started.

1.32. New DLL features and Windows messaging interface

*	New functions. Extend your application with new functions in the DOS (formerly File), Windows, and Dialog DLLs.

*	Database functions. Call the Paradox database engine to create and access Paradox database tables and indexes using the new Paradox DLL.

*	Resource handles. Manipulate resources with Windows API functions by getting a handle for the resource with the GDIHandle() function.

*	Windows messages. Extend your ability to intercept Windows messages with an improved translateWindowMessage control structure, which gives you complete control over how and when a message is sent to a window. You can intercept any Windows message and prevent it from reaching its window, and you can add your own custom processing for any Windows message. To make it easier for you to find the right Windows message, ToolBook includes an online Help application called WINCONST.HLP that lists Windows constants.

1.33. New DLL functions

ToolBook 3.0 includes the following new DLL functions.




2.0. Converting books from earlier versions

2.1. How to convert books from earlier versions
2.2. Recompiling scripts created with Early Access versions of ToolBook
2.3. Maintaining old and new versions of ToolBook

2.1. How to convert books from earlier versions

The ToolBook 3.0 file format has changed from ToolBook 1.5. To use your existing 1.5x books in ToolBook 3.0, you must convert them.

Important  Once a book is converted to the new file format, you will not be able to open or otherwise access it in ToolBook 1.5.

To convert your 1.5x books:

1.  Back up all your books before opening them in ToolBook 3.0.

ToolBook automatically backs up a version of each book it converts and gives it the extension .OLD. However, for extra safety you should save your own backup copy of each file.

Be especially careful to back up all system books and other books that are accessed from within your application.

2.  Confirm that you have enough free space on your hard disk to save a duplicate copy of your books. 

3.  Open each book individually. 

     When you open your ToolBook 1.5x books in ToolBook 3.0, your books are automatically converted to ToolBook's new file format. This process may take some time if your book is large.

Recompiling scripts
ToolBook 3.0 features an updated compiler. To bring scripts up to date, ToolBook recompiles them automatically.

If errors are reported during the conversion, check the conversion log file to determine the source of the error. We recommend that you then run the Script Walker utility (SCRWALK.TBK) and open each book to update all your scripts in one pass. Remember to update your system books as well. (You do not need to update system books shipped with ToolBook 3.0, such as TOOLS30.SBK).

Note If your ToolBook 1.5 scripts use syntax no longer supported by ToolBook 3.0, they cannot be recompiled until you fix the syntax errors.

Keyword conflicts
While converting books from ToolBook 1.5x, ToolBook 3.0 automatically adds an at symbol (@) to the beginning of any user-defined property, function, or variable in your scripts that conflicts with a new keyword. This ensures that your scripts will continue to execute correctly.

Note If scripts cannot be converted (for example, if they use syntax no longer allowed in ToolBook), ToolBook marks the script with a special code to indicate that it is an old script that was not converted. Edit the script to remove syntax errors. ToolBook will then automatically detect that it has been marked and add the @ operator to words that conflict with new keywords.

ToolBook cannot automatically add an at symbol to the following keywords because they are used with DLL declarations:


If these words appear in your script as the names of variables or user properties, you must manually add the at symbol as a prefix or change the name.

Books with stripped scripts

ToolBook cannot convert books whose script text has been removed with the Script Remover (REMOVER.EXE) utility provided in the ToolBook 1.5 Developer Utilities. ToolBook recompiles all scripts when it converts books to the new file format, so the original script text must be present. If you open a book whose scripts have been removed, ToolBook converts the objects.

2.2. Maintaining old and new versions of ToolBook

When you install ToolBook 3.0, you can continue working with earlier versions of ToolBook. Keep these points in mind when using more than one version of ToolBook:

*	If you convert a book to ToolBook 3.0 format, you can no longer use it with earlier versions of ToolBook. If you want to use a book with both ToolBook 1.5 and ToolBook 3.0, you must make a copy for each version. 

*	ToolBook executables (.EXE files) and DLLs have new names in ToolBook 3.0 so that they don't conflict with older versions of these files. You can continue to use older file names in the scripts of your ToolBook 1.5 applications; when you convert applications to ToolBook 3.0, update them by substituting new file names. 

*	You can launch the appropriate version of ToolBook automatically when you click on a .TBK file in the Windows File Manager or use the Program Manager Run command to run a .TBK file. If you associate the new utility TBLOAD.EXE with your .TBK files, it can detect which version of ToolBook created the file and launch it.

2.3. Recompiling scripts created with Early Access versions of ToolBook

ToolBook 3.0 features an updated compiler. To bring scripts up to date, ToolBook recompiles them automatically if it detects that the script was compiled using the older compiler. Books created with Early Access will initially experience a slowdown as ToolBook encounters and recompiles scripts not yet updated. We recommend that you run the Script Walker utility  (SCRWALK.TBK) and open each book to update all your scripts in one pass. Remember to update your system books as well (you do not need to update system books shipped with ToolBook 3.0 such as TOOLS30.SBK).

3.0 Features that work differently in ToolBook 3.0

User interface
3.1. Changed keyboard accelerators
3.2. Evaluating expressions in the Command window
3.3. Starting Runtime ToolBook without a file name
3.4. ID numbers of objects during recording
3.5. Change in file format
3.6. Using the TOOLBOOK.INI and ASYM.INI files
3.7. New executable and DLL file names
Objects and properties
3.8. Importing picture graphics
3.9. Visible property of groups
3.10. Changes in wordwrap behavior
Menus and menu commands
3.11. New Author menu
3.12. Author menu item in Runtime ToolBook
3.13. Extended user property and variable references
3.14. Passing null to a DLL
3.15. Stricter OpenScript syntax
3.16. Changes in to get handlers
3.17. Redeclaring variables in handlers
3.18. null vs. none
3.19. Changed error messages
3.20. Changed OpenScript commands, functions, and messages
3.21. Obsolete OpenScript terms

3.1. Changed keyboard accelerators

A number of ToolBook's keyboard accelerators have changed. To view the new keyboard accelerator assignments, browse through the menus.

You can now move the edit cursor one word at a time in a field by pressing the Ctrl+Left Arrow or Ctrl+Right arrow keys. To accommodate this change, ToolBook's new keyboard accelerators for page navigation are as follows:

Navigation	Old accelerator	New accelerator
Previous Page	Ctrl+Left		Alt+Left
Next Page	Ctrl+Right	Alt+Right
First Page	Ctrl+Up		Alt+Up
Last Page	Ctrl+Down	Alt+Down

	Note To move from word to word in the Command window, use Alt+arrow keys.

3.2. Evaluating expressions in the Command window

Because of the new assignment operator (=), you can no longer evaluate expressions by typing them in the Command window by themselves. Instead, enter a full command such as the following:

put sqrt(540)
request uniqueName of this book

3.3. Starting Runtime ToolBook without a file name

You can start the Runtime version of ToolBook 3.0 without specifying a file name in the command line. In ToolBook 1.5, executing TBOOK.EXE without a file name would result in an error message and ToolBook would not start. If you start Runtime ToolBook 3.0 (TB30RUN.EXE) without a file name, ToolBook displays an Open dialog box from which you can choose a book.

3.4. ID numbers of objects during recording

As in ToolBook 1.5, ToolBook 3.0 inserts the keyword selection into a script as you are recording it. However, if you use the right-click menu to change an object's properties while recording, ToolBook inserts the object's actual ID number. You should examine scripts you record with the script recorder in ToolBook 3.0 to be sure that this change does not affect how the recorded script runs.

3.5. Change in file format

ToolBook 3.0 features a new file format for books (.TBK and .SBK files). Files from older versions of ToolBook are converted automatically when you open them using ToolBook 3.0, or when you refer to an object in them.

Important After you convert a book using ToolBook 3.0, you cannot open it using an earlier version. Be sure to make backup copies of books that you intend to use with both versions.

3.6. Using the TOOLBOOK.INI and ASYM.INI files

ToolBook 3.0 keeps startup information in the TOOLBOOK.INI file (in contrast to ToolBook 1.5, which kept this information in a [TOOLBOOK] section of the WIN.INI file).

Information about graphic filters is now stored in the ASYM.INI file, which can be shared with other Asymetrix applications such as MediaBlitz! and Compel. ToolBook 1.5 stored this information in the [ToolBook Filters] section of the WIN.INI file. 

3.7. New executable and DLL file names

The names of the ToolBook executable (.EXE) files and DLLs have been changed in ToolBook 3.0, so you can continue using your ToolBook 1.5 applications without changing names or scripts that link DLLs. 

The old and new names appear in the tables below.

Development version files
Old name	New name
toolbook.exe 	tb30.exe
tbknet.exe 	tb30net.exe
tbkbase.dll 	tb30bas.dll
tbkutil.dll	tb30utl.dll
tbkcomp.dll 	tb30cmp.dll
tbkedit.dll 	tb30edt.dll

Optional runtime files
Old name 	New name
tbkdb3.dll	tb30db3.dll
tbkdlg.dll	tb30dlg.dll
tbkwin.dll	tb30win.dll
tbkfile.dll	tb30dos.dll

Runtime ToolBook files
Old name	New name
tbkrun.exe	tb30run.exe
tbknet.exe	tb30net.exe
tbkbase.dll 	tb30bas.dll
tbkutil.dll	tb30utl.dll
tbkcomp.dll 	tb30cmp.dll

3.8. Importing picture graphics

When you imported any graphic that created a picture in ToolBook 1.5, the graphic was imported at a fixed size, regardless of its natural size. In ToolBook 3.0, graphic files are imported at their true size, which can be as large or larger than the Main window. If you want to import graphic files and create fixed-size picture objects out of them, use a script such as the following:

importGraphic "C:\GRAPHICS\SAMPLE.TIF"
get size of selection
size of selection = 1920,1920*(item 2 of It/item 1 of It)

3.9. visible property of groups

In ToolBook 1.5, if you set a group's visible property to true, the visible property of all the objects in the group was set to true as well, and they became visible. If you set the group's visible property to false, all objects in the group disappeared as well.

ToolBook no longer passes the group's visible property to individual objects in the group. If you hide a group, all objects in it disappear. However, if you show a group, only the objects whose visible property is true appear. If an object's visible property is false, it remains hidden.

This change may affect ToolBook 1.5 applications that show or hide all objects in a group by showing or hiding the group. To work around this problem, you can show or hide the objects of the group. For example, these ToolBook 1.5 statements show or hide all objects in a group:

show group id 23
hide group id 23

To do the same in ToolBook 3.0, use statements such as these:

show objects of group id 23
hide objects of group id 23

If you have nested groups, you must execute these commands on all the nested groups in turn.

3.10. Changes in wordwrap behavior

ToolBook 3.0 wraps text slightly differently than ToolBook 1.5. All text now wraps the same way on the printed page as it does on screen.

If you notice that text in fields or button captions is wrapping and clipping differently, resize your fields and buttons to regain the same wrapping and clipping of text as in ToolBook 1.5.

3.11. New Author menu

The ToolBook 3.0 Author-level menu bar is changed from ToolBook 1.5. Scripts that modify the Author-level menu bar may not work correctly if they refer to menus or items that no longer exist.

In addition, menus are now resources that can differ from book to book. For backward compatibility, ToolBook 3.0 provides the keepMenuBar property that specifies whether the menu bar should be retained when you switch between books.

3.12. Author menu item in Runtime ToolBook

Runtime ToolBook no longer automatically removes the Author menu item from the default menu bar resource assigned to the Main window. To remove it, use the OpenScript remove menuItem command. 

You may want to remove the Author menu item from all menus, even in the full version of ToolBook. Because the F3 accelerator key is always available, you do not require the Author menu item in order to switch to Author level in the full version of ToolBook.

3.13. Extended user property and variable references

ToolBook 3.0 allows you to add the at symbol (@) prefix to the names of user properties, user-defined functions (to get or to set handlers), or variables to distinguish them from OpenScript keywords.

The following statements illustrate using @ to distinguish a user property name from a keyword:

text of field id 0 = "this goes into the text of the field"
@text of field id 0 = "this goes into a user property"
get @text of field id 0

The following example illustrates using @ for variable references. Without the prefix, ToolBook would generate a syntax error because style is a property name:

local @style
@style = 1

There are over 180 new keywords that may conflict with user properties or variable names you used in ToolBook 1.5. For example, one of ToolBook's new keywords is enabled; if you had a user property named enabled in ToolBook 1.5, you must now use the @ prefix to get or set its value:

get @enabled of button "Quit"
set @enabled of button "Quit" to false

Passing null to a DLL

ToolBook 3.0 treats "" and null differently when you use them as string parameters to a DLL function. If you specify "", ToolBook passes a pointer to an empty string ("\0"). If you specify null, it passes a null pointer (0:0). In contrast, ToolBook 1.5 passes a pointer to an empty string in both cases.

This change makes it easier to pass a null pointer to DLLs that distinguish between a pointer to an empty string and a null pointer (for example, the Windows FindWindow( ) function).

To ensure complete compatibility with ToolBook 1.5, change your scripts to use "" instead of null when passing empty strings to DLL functions. If you do not make this change, you may encounter a general protection fault when a script a passes null to a DLL.

If you write your own DLLs, be sure a string parameter is a null pointer before dereferencing it. Otherwise, your DLL may cause a general protection fault when ToolBook passes null to it.

3.15. Stricter OpenScript syntax

ToolBook 3.0 enforces OpenScript syntax more rigorously than ToolBook 1.5 did. When you save your scripts, the OpenScript compiler does not allow some syntax that was allowed in ToolBook 1.5. You may not be able to save some of your scripts without making minor modifications to eliminate syntax errors.

To check the syntax of an individual script, display the script in the Script editor, then choose Check Syntax from the File menu.

To review all scripts in the book in one pass, run the Script Walker utility included with ToolBook 3.0 by double-clicking its icon from the ToolBook 3.0 Program Manager group. Script Walker examines all of the scripts in a converted book and finds those that contain syntax errors.

3.16. Changes in to get handlers

Unlike ToolBook 1.5x, ToolBook 3.0 requires every code path in a to get handler to contain a return statement. If a to get handler does not contain the necessary return statements, its script will not compile when the book is converted. You can fix this by editing the script and adding return statements at appropriate locations.

For example, you might be missing a return statement in a conditions control structure that doesn't have a default branch and has no return statement after it. Even if you provide a return statement for each branch, ToolBook requires that you provide a default return statement of some kind. The following handler is missing a return statement:

to get calcVal x
      when x is 1
         return 2
      when x is 2
         return 3
   end conditions
end calcVal

The following two scripts illustrate corrected versions of this handler.

to get calcVal x
      when x is 1
         return 2
      when x is 2
         return 3
         return 0 --return added to default branch
   end conditions
end calcVal

to get calcVal x
      when x is 1
         return 2
      when x is 2
         return 3
   end conditions
   return 0 -- return added after conditions
end calcVal

You might also be missing return statements in if/then control structures. If the only return statement is inside an if/then control structure that doesn't have an else branch, you must add at least one additional return statement following the if/then control structure.

3.17. Redeclaring variables in handlers

ToolBook 3.0 does not allow you to declare the same variable twice in the same handler. You should delete duplicate variable declarations. If you're using the local statement to clear a local variable, use the clear command instead.

3.18. Null versus none

ToolBook 3.0 does not allow you to use null and none interchangeably, as you could in some circumstances in ToolBook 1.5. For example, these two statements are equivalent in ToolBook 1.5:

set borderStyle to null
set borderStyle to none

The actual value is none, but ToolBook 1.5 automatically converts null to none. In ToolBook 3.0 you must replace such uses of null with none.

3.19. Changed error messages

A number of error messages in ToolBook 3.0 have changed, so an error in ToolBook 3.0 may return a different error message than the same error in ToolBook 1.5. If your application checks for particular error messages, test carefully to ensure that your error checking still operates correctly.

3.20. Obsolete OpenScript properties, messages, commands, and functions

The following OpenScript terms are obsolete in ToolBook 3.0. Some of the terms still work for backward compatibility with ToolBook 1.5, but you should update your scripts to use the new terms. For more information about the new terms, see the OpenScript Reference Manual and online Help.

Term		Replaced with				Still works?
caption book property	caption of mainWindow		yes
captionShown book property	set caption of mainWindow to space	no
icon book property		icon of mainWindow			yes
sysMagnification		magnification viewer property		yes
sysMousePosition		mousePosition viewer property		yes
sysRuler		rulers viewer property			yes

Term		Replaced with				Still works?
align menu event message	align messages		no
palettes menu event 	(use new messages			no
     message		that toggle each individual palette)
printerSetup menu event 	printSetup				no
toggleStatus keyboard 	statusBar message			no
     event  message
windowMoved notification 	moved					no
windowShown notification 	shown					no
windowSized notification 	sized					no

Commands and functions
Term		Replaced with				Still works?
activate menuItem 		enable menuItem			yes
deactivate menuItem 	disable menuItem			yes
menuState() 		menuEnabled, menuItemChecked,
		menuItemEnabled			yes
before|after with		(forward from called handler)		yes

3.21. Changed OpenScript commands, functions, and messages

Command		Change
local 		Declares the dimensions of an array.
system 	Declares the dimensions of an array that is used as a system 	

Function		Change
round()		Accepts a parameter to specify the number of decimal 
	     	  places at which to round.
objectFromPoint()	Accepts a viewer reference.

Message		Change
moved		Sends a message when a viewer is moved.

Appendix G - Annotated File List

This section is an annotated version of the file list (FILELIST.WRI) included with ToolBook 3.0. Annotations added to Asymetrix's are in italics. In addition, some reformatting has been performed and the full list of clipart files is not included.


Distributing Runtime ToolBook

Distributing Clip Art Files

File List

Release Notes
ToolBook System Files
ToolBook 3.0 Utility Files
ToolBook Add-On DLLs
Add-On DLLs with ToolBook 1.5 names (included for compatibility)
ToolBook 3.0 Resource Editor Files
INI Files
New Features Overview
Graphic Import Filters
Online Help Files
Sample Applications
Asymetrix Setup Utility
ToolBook 3.0 Tutorial
Windows 3.1 API Reference (CD-ROM only)

Clip Art

Clip Art Bitmaps (.BMP)
Clip Art Cursors (.CUR)
Clip Art Icons (.ICO)
Clip Art Colour Palettes (.PAL)

1.0  Distributing Runtime ToolBook
Asymetrix allows you, a licensed owner of ToolBook 3.0, to distribute Runtime ToolBook 3.0 free of charge with your ToolBook application. You are required to ship the minimum set of files needed to run Runtime ToolBook, and you may, at your option, distribute certain additional ToolBook files. The required, linked, and optional files are listed below.

The disk space occupied by these runtime files is between 2 MB and 2.5 MB depending on whether your application uses Paradox Engine and other optional DLLs. This compares with approximately 1MB required under ToolBook 1.5.

File Name
Size (bytes)









Linked (optional):








TBLOAD.EXE is given as a "required" file but this is not strictly true. It is only required if you adopt the Asymetrix start up mechanism by associating .TBK file endings with TBLOAD.EXE. An alternative is to omit this file and just explicitly run TB30RUN.EXE with your .TBK file as the command line parameter. e.g. "tb30run mybook.tbk"

While PXENGWIN.DLL and TB30PDX.DLL are optional, you must ship both if you ship either one. This requirement is simply a practical matter as these files work together. You may only distribute these files as part of an application developed with and running in ToolBook.

Your users (i.e. those to whom you distribute Runtime ToolBook) are not allowed to re-distribute any of these files, unless they re-distribute them as part of your whole and unmodified ToolBook application.

2.0  Distributing Clip Art Files
You may use and distribute any of the ToolBook clip art files that are installed in the CLIPART sub-directory located in the ToolBook directory. You may, however, only distribute these files as integral part of a ToolBook application. You cannot distribute any clip art files in the form of a clip art library, and your users may not redistribute these files except as part of your whole application (see above).

3.0 File List

3.1 Release Notes


* This is a Windows Write file that contains all the information in RELNOTES.HLP. You may print this file if you prefer reviewing the Release Notes on paper.

3.2 ToolBook System Files


3.3 ToolBook 3.0 Utility Files


3.4 ToolBook Add-On DLLs


3.5 Add-On DLLs with ToolBook 1.5 names (included for compatibility)


* These files are simply the ToolBook 3.0 DLLs renamed to the ToolBook 1.5 file names. They are included so that your ToolBook 1.5 scripts will execute properly when they link to these DLLs. You should update your scripts to link to the new file names.

3.6 ToolBook 3.0 Resource Editor Files


3.7 INI Files

ASYM.INI (WINDOWS directory, do not modify)
TOOLBOOK.INI (WINDOWS directory, do not modify)

3.8 New Features Overview


3.9 Graphic Import Filters

ISGDI9.DLL (WINDOWS directory)
ISGDI9.INI (WINDOWS directory)

3.10 Online Help Files


3.11 Sample Applications


3.12 Asymetrix Setup Utility


3.13 ToolBook 3.0 Tutorial


3.14 Windows 3.1 API Reference (CD-ROM only)


4.0 Clip Art
4.1 Clip Art Bitmaps (.BMP)

18 256-colour BMP files
11 16-colour optimised BMP files. These 16 color bitmaps use optimized palettes. They will not display correctly under 16 color VGA. See 16OPTMIZ\README.TXT for additional information.
5 NASA 256-colour BMP files.

4.2 Clip Art Cursors (.CUR)

An assortment of 64 cursors.

4.3 Clip Art Icons (.ICO)

arrows and signs










4.4 Clip Art Colour Palettes (.PAL)


Appendix H - Implications for Developers of Upgrading

This appendix reproduces a document which was originally an internal report for the TLTP Economics Consortium. It gives an overview of ToolBook 3.0 and examines strategic, managerial and technical issues involved in upgrading to the (then) new release. In particular, it focuses on the costs and benefits of upgrading given an existing investment in ToolBook 1.5 and highlights areas of potential risk.

For readers of this report currently considering upgrading existing 3.0 software to ToolBook 4.0, the analysis presented here may act as a framework for analysing the unique costs and benefits of doing this for your own project. In fact, many of the issues are entirely independent of any specific release - they are generic issues which arise from the ceaseless superseding of one software tool version by another.


  • 1. Executive Summary
  • 2. Managerial and Strategic Issues
  • 2.1. Managerial Issues
  • 2.1.1. Cost
  • 2.1.2. Time
  • 2.1.3. Quality
  • 2.1.4. Overall Impact
  • 2.2. Strategic Issues
  • 2.2.1. Achievement of Mission
  • 2.2.2. Product Shelf-Life
  • 2.2.3. Skills Base
  • 2.3. Assessing the Options
  • 2.4. The Impact of Risk
  • 2.5. The Decision to Upgrade
  • 3. Technical Issues
  • 3.1. Desirability
  • 3.2. Systems Feasibility
  • 3.2.1. Developer's Hardware Requirements
  • 3.2.2. Student's Hardware Requirements Minimum Student Machine
  • 3.2.3. Software Requirements
  • 3.3. Software Feasibility
  • 3.3.1. Upgradability of Existing Code
  • 3.3.2. Runtime ToolBook
  • 3.3.3. Skills Requirement
  • 3.4. Long-term Development Path
  • 3.4.1. Portability
  • 3.4.2. Upgradability
  • 3.4.3. Maintainability
  • 3.5. Summary of Technical Issues

Note: The original section numbering has been preserved and is independent of the section numbering in the main report.

1. Executive Summary

ToolBook 3 is a substantial upgrade from ToolBook 1.5 in terms of both features and authoring interface.

On purely technical grounds, ToolBook 3 is a highly desirable upgrade for the Economics Consortium and could potentially increase the viable scope of their WinEcon courseware within the available development time.

Upgrading existing courseware to ToolBook 3 from ToolBook 1.5 is technically feasible in terms of system and software upgradability. The continuing royalty-free runtime policy make the upgrade feasible in terms of ToolBook Runtime requirements. The evolution rather than revolution of the OpenScript programming language and the authoring tools make it feasible in terms of compatible skills requirements for authors.

ToolBook 3 has a longer-term development path than ToolBook 1.5 provided that a continual cycle of upgrading to the latest version is acceptable to the project. In doing so, this iterative development path can provide a degree of future-proofing for the courseware against changes in operating systems and hardware platforms over time.

Before taking a decision to upgrade to ToolBook 3 developers should carefully consider the expected payback over the remaining life of the project. Where a project is short-term, or has only a short period remaining, upgrading is unlikely to be cost effective. Projects with a longer time horizon, or with substantial development time remaining are likely to find that the strategic payback outweighs the initial costs. Where projects are adverse to risk, or have very tight development schedules, it is likely that they will choose to audit the performance of ToolBook 3 over the first few months following its release.

2. Managerial and Strategic Issues

2.1. Managerial Issues

From a management perspective the decision to upgrade to ToolBook 3 is a simple matter of weighing the costs against the prospective benefits. Our approach has been to consider the following three issues:

  • Cost
  • Time
  • Quality

These are individually discussed below and the overall managerial impact is expressed by summing the changes in these three variables.

2.1.1. Cost

The direct cost of upgrading is modest (£99 per copy for each of 17 programmers), however the indirect costs are far more substantial. Not least of these costs is the additional staff time that needs to be allocated to upgrading custom features, training and reauthoring. In addition, projects need to assess the opportunity cost of the authoring work which will not be undertaken during this transitional phase. We estimate that the time involved in upgrading and reauthoring an average module is 5 days (assuming each module is approximately 80 pages). In respect of training, experienced authors and programmers we estimate the time required to be 3 days per person.

A further indirect cost is the time required for technical upgrades to system-wide custom tools and features. In the case of the Economics Consortium, significant investment has been made in developing custom system-wide tools and features, and as a result the associated cost of upgrading to ToolBook 3 is relatively high. We estimate the time required for technical upgrading to be 22 days.

Calculating the financial cost of the time required to move the whole project to ToolBook 3 is based on the assumption that programming staff are charged at £70 per day on average. In the case of a project of the size of the Economics Consortium (forty-two staff, of which 17 are directly responsible for programming 26 modules) we calculate the direct staff cost will be £10,640. This figure can be doubled to take account of the opportunity cost of the material that will not be produced during the transitional period of upgrading from ToolBook 1.53 to 3 i.e. £22,880.

Therefore, the total real cost of upgrading to ToolBook 3 is £22,980.

2.1.2. Time

There is obviously a time penalty involved in upgrading to ToolBook 3. This includes both the time required to make technical modifications (e.g. employing resources, viewers and faster execution speed features in our custom system-wide tools) and the time required to modify the authored teaching material. As is detailed above, within the Economics Consortium we estimate that a total of 152 days will be required across the project. This raises the issue of the effect of upgrading to ToolBook 3 on the overall project schedule and the milestones therein. On projects where there is an agreed delivery date this can be a major factor in decision making.

Upgrading to ToolBook 3 may also have an effect on the overall management of the project. Experience suggests that upgrading is used as an explanation for slippage, when in fact the real cause lies elsewhere. These unobserved blockages can mask more serious underlying problems that development teams are encountering.

The effect of these two factors on the project schedule are difficult to calculate with any degree of accuracy. We assume that additional slippage accounted for by the upgrade will be 10% of the total time required to train staff and reauthor material. In the case of the Economics Consortium, we calculate this to be 15 days. At £70 per day, this suggests a cost of £1050.

Set against this are the efficiency gains that upgrading to ToolBook 3 can contribute to the projects development of material. Our initial assessment of ToolBook 3 is that the time required to author a page of our learning material is not that significantly different to that required under ToolBook 1.5. If extensive use is already being made of system wide templates, development time will be decreased by only 10%. This implies an efficiency gain of 13 days. That is, costing at an average of £70, this implies an effective contribution to the overall budget of the project of £910.

Overall the time penalty for upgrading to ToolBook 3 is equivalent to £23,120.

2.1.3. Quality

The issue of quality is more difficult to deal with from a managerial perspective. If we consider only the question of reliability and accuracy of coding, then it is possible to derive some estimate of the impact of upgrading to ToolBook 3. The negative impact on quality will be the additional errors in coding and design that will result from programmers using an authoring system and features that they are less familiar with. In addition, it is inevitable that more errors remain in the code for ToolBook 3 than in release 1.53.

Conversely, ToolBook 3 offers new features (e.g. improved syntax checking, self contained re-usable objects and less need to code tools in C/C++) that add both to the functionality of authored material and its reliability.

Our estimate is that upgrading to ToolBook 3 can provide a net contribution to quality of £2520. This is calculated on the basis that, overall, 180 days are allocated to quality control and testing across the Consortium. We then assume that the new features of ToolBook 3 outweigh the negative effects of lower reliability and additional coding errors, and that these features provide a net reduction in the time required for testing and evaluation of 20%.

2.1.4. Overall Impact

From the above calculations of the effect on cost, time and quality of upgrading to ToolBook 3 we estimate that the overall impact on the budget of the Economics Consortium of upgrading to ToolBook 3 is likely to be of the order of £20,600.

2.2. Strategic Issues

Our assessment of ToolBook 3 has highlighted three key strategic issues:

  • Achievement of Mission
  • Product Shelf-Life
  • Skills Base

These are described below with respect to the Economics Consortium.

2.2.1. Achievement of Mission

The Economics Consortium's mission is to produce an integrated and interactive teaching tool for introductory economics. The improvements and new features available in ToolBook 3 (e.g. viewers) will enable us to more easily achieve this goal.

2.2.2. Product Shelf-Life

By upgrading to ToolBook 3 the Consortium can, to some extent, assist in lengthening the shelf-life of the material being produced by maintaining its link to the latest version of the associated authoring system. Furthermore, upgrading will enhance the maintainability of the material being produced.

2.2.3. Skills Base
In relation to staff development, we believe that it is important that the Consortium upgrades to ToolBook 3, since this will equip our programming staff with more relevant skills. If we accept that not all staff will be retained by the project as we move towards a steady state equilibrium then it will increase their employment opportunities. It is, of course, possible that this might be construed as being a negative point if one assumes that staff with dated skills are less likely to leave the project.
2.3. Assessing the Options

From a purely managerial perspective, the Economics Consortium should not upgrade to ToolBook 3, since the costs outweigh the benefits, at least in the short-term. However, from a strategic perspective there are clear benefits to doing so. Whilst the assumptions made in the calculations may be open to debate, the underlying balance appears robust.

How will projects decide whether to upgrade? From the above discussion it is reasonable to assume that projects which decide to upgrade will be more closely focused on the strategic and long term benefits. Those that remain with ToolBook 1.53 are more likely to be short term projects, and therefore, more closely focused on the managerial costs and benefits.

2.4. The Impact of Risk

The assumptions we have made in assessing the impact of upgrading to ToolBook 3 are clearly subject to modification. For each project the figures calculated in respect of cost, time and quality will vary, as will the relative importance of strategic issues. However, for all projects there needs to be an explicit assessment of risk. This assessment needs to consider to the following questions.

How certain is it that we can successfully move to ToolBook 3? For example, can we acquire the expertise to train staff?

How robust do we expect ToolBook 3 to be, and what are the implications? For example, will there be an early release of version 3.1, and what will the costs be?

How likely are the benefits and the costs to be realised? For example, we may find that the costs we have calculated rise substantially in practice and that the benefits are over stated.

What are the strategic implications of locking in to the development path that Asymetrix choose? For example, do Asymetrix have a strong commitment to maintaining and developing ToolBook? Does their development model see an important role for the educational market?

An assessment of the risk and associated impact of these questions needs to be taken in to account when deciding whether to upgrade to ToolBook 3. This sensitivity analysis will establish an envelope within which it is beneficial to upgrade, outside of this envelope the benefits are negative. The size of this risk envelope is determined not only by the projects own assessment of the risk involved, but also the level of risk that the project is prepared to accept.

2.5. The Decision to Upgrade

Before taking a decision to upgrade to ToolBook 3 developers should carefully consider the expected payback over the remaining life of the project. Where a project is short-term, or has only a short period remaining, upgrading is unlikely to be cost effective. Projects with a longer time horizon, or with substantial development time remaining are likely to find that the strategic payback outweighs the initial costs. Where projects are adverse to risk, or have very tight development schedules, it is likely that they will choose to audit the performance of ToolBook 3 over the first few months following its release.

3. Technical Issues

To a large extent, the technical issues in deciding to upgrade to ToolBook 3 underpin the managerial and strategic issues. These technical issues can be broadly divided into the following areas.

  • Desirability
  • Systems Feasibility
  • Software Feasibility
  • Long-term Development Path

These areas are discussed below followed by a summary.

3.1. Desirability

ToolBook 3 is a substantial upgrade from 1.5 and offers a host of new features. The definition of a desirable feature will differ for each project and it is necessary to examine the extensive list of new features in the in the context of your project.

For the Economics Consortium, the following features are rated as highly desirable in that they will reduce the number of hours required to implement outstanding features of WinEcon or they will increase the quality of existing courseware.

Bitmap resources (to replace our own OpenScript implementation of this and attain speed improvements)
Viewers (to simplify implementing the yet to be written Lecturer's Interface and global Student Tools Popups)
Paradox Engine DLL (to replace a slow DDE link to Microsoft Access for our tests module)
Graphics Buttons (to replace our own DLL/OpenScript implementation and attain increased page to page speed)
copyObject() command (to bypass the Windows Clipboard and increase our runtime resource book speed)
Right Mouse Button Editing (to replace and enhance our own implementation of this)
ToolBook 3 is, on purely technical grounds, a highly desirable upgrade for the Economics Consortium and could potentially increase the viable scope of the WinEcon courseware within the available development time.

3.2. Systems Feasibility

ToolBook 3 is a substantial upgrade from ToolBook 1.5 in terms of features and, indirectly, in terms of system requirements. For an upgrade to be feasible ToolBook 3 must run adequately under both student and develop systems. The system requirements of version 3 can be divided into three sections.

  • developer's hardware requirements
  • student's hardware requirements
  • software requirements

These are presented below followed by an analysis of changes from 1.5 and their impact on the project and an assessment of the feasibility of upgrading in terms of systems requirements.

3.2.1. Developer's Hardware Requirements

Minimum Development Machine

20MHz 30386 SX processor or higher (30386 or higher stated on the box)
8-24MB of free hard disk space (depending on installation options)
At least 4MB RAM (8MB recommended in User Manual, 6MB recommended on box)
1.44MB (3.5") disk drive
Mouse or pointing device
Graphics adapter card (VGA, SuperVGA, or other Windows compatible card)
Sound card (optional)
CD (optional)

ToolBook 3 will run on the hardware described above. However, we consider the editing speed of the base level machine to be too low for time efficient editing of large scripts and complex screens. This was true for ToolBook 1.5 but the extra functionality of 3.0 coupled with the more graphically demanding author's palettes, toolbars and popups further lengthen the edit/run cycle.

The increased number of tool palettes, toolbars and a status bar make the requirement for a screen with a resolution higher than the target screen's resolution more important if these new editing tools are not to obscure the main window. It is not particularly easy to work with all these objects on a laptop where the resolution is typically 640x480 - the same as the student machine for the Economics Consortium; in practice on a 640x480, it is easier to switch off most of the palettes and use the menu equivalents instead.

Under ToolBook 1.5, the Economics Consortium recommended a system based around at least a 25MHz 486 SX as the minimum development machine. However, as a consequence of the changes in hardware requirements, we recommend the following configuration as being the minimum programmer-efficient development machine.

Recommended Development Machine

66MHz 40386 processor or higher
24MB of free hard disk space (plus 9MB extra if WIN31WH.HLP Windows API help is loaded)
8MB RAM or more
1.44MB (3.5") disk drive
Mouse or pointing device
SuperVGA running in at least 800x600 with the required number of colours
Sound card (optional)
CD (optional)

As a consequence our initial purchasing recommendations to Economics Consortium developers, our existing development hardware base is mostly at this configuration and so no further hardware cost is associated with running ToolBook 3.

3.2.2. Student's Hardware Requirements

Minimum Student Machine
20MHz 30386 SX processor or higher
2.5MB of free hard disk space for ToolBook 3 runtimes (plus space for courseware)
At least 4MB RAM (8MB recommended in User Manual, 6MB recommended on box)
1.44MB (3.5") disk drive
Mouse or pointing device
VGA or higher
Sound card (optional)
CD (optional)

Changes in this requirement have the largest impact on the project and are in an area which is least under its control. At the start of the TLTP project, the Economics Consortium took a census of hardware available for teaching undergraduates and of purchasing plans for the following financial year. This revealed a large installed hardware base of 386 SX machines and a slow upgrade trend towards 486 machines. Consequently, we are required to support as low as 16MHz 386 SX machines. Although this is below the floor of 20MHz specified by Asymetrix, it is our assessment that operational speed improvements under ToolBook 3 will give the same or better performance than the same WinEcon courseware under ToolBook 1.5 (largely due to the introduction of system support for resources replacing our own OpenScript implementation of resources). Indeed, in the case of WinEcon, there will be a significant speed increase on lower specification student machines - due to new features rather than any improvements in the graphical speed of 3.0.

There will be a reduction in the file size of the courseware modules as a result of employing bitmap resources (i.e. only one copy of a graphic is stored regardless of how many times it occurs in the book) of around 80% in the case of WinEcon which makes heavy use of graphics buttons and clip art. This substantially reduces the hard disk storage required on student machines - particularly where all 26 modules are installed. The impact of this on the project is that departments need commit less of their storage capacity to WinEcon and the opportunity cost of adopting it for student use is reduced, as the capacity to hold other software is reduced by less.

The Economics Consortium has undertaken to support networked student machines where they exist. We generally do this by downloading ToolBook runtime system files and one of WinEcon's 26 modules from the network's file server onto the student's machine - the software then runs without any network traffic other than access to a tests database and storing of student marks and so it runs at full speed. The size of the runtime system files under ToolBook 3 is more than twice that of 1.5 and so the start-up time for students will be increased. Offset against that is the reduction in the size of courseware module books resulting from the use of resources. Considering that graphics are the main storage overhead in books, this is likely to compensate for the increase in runtime system file size and therefore give approximately the same network start-up delay under 3.0 as under 1.5.

Unfortunately, there are a number of institutions who are committed to diskless workstations (i.e. PCs with no built-in hard disk) and these systems can cause substantial network traffic. The impact of larger EXE and DLLs on these systems will only become fully apparent after trialing. However, there appears to be no significant change in impact of upgrading to ToolBook 3 in terms of the size of RAM disk required where diskless machines have these and download software to the RAM disk. The Consortium in adopting ToolBook in the first place, adopted a strategy which accepts the risk of low performance on diskless workstations.

3.2.3. Software Requirements

These are the same for both developers and students running ToolBook 3.

Microsoft MS-DOS 3.1 or higher
Microsoft Windows 3.1 or higher
This is the de-facto industry and UK educational standard on PC hardware.

In summary, it is feasible for the Economics Consortium to upgrade to ToolBook 3 in terms of systems requirements although there remains a grey area relating to having undertaken no trials on diskless workstations. On balance, considering the relative rarity of such diskless machines in UK economics departments, it is a reasonable risk to take.

3.3. Software Feasibility

In addition to being systems feasible, the upgrade to ToolBook 3 must also be software feasible. Software feasibility depends upon the following issues.

Upgradability of Existing Code
Runtime ToolBook
Skills Requirement

These are analysed below and a summary presented.

3.3.1. Upgradability of Existing Code

ToolBook 3 is NOT binary compatible with ToolBook 1.5. To upgrade an existing ToolBook book requires you to run an upgrade utility included with ToolBook 3. The resultant new book can not then be loaded back into ToolBook 1.5 and so if a parallel development approach to upgrading is planned, it will be necessary to maintain both 1.5 and 3.0 versions of your books. Within the Economics Consortium we judged parallel development impractical to configuration manage with such a large volume of courseware being developed by a geographically distributed team of programmers. We therefore approached upgrading as a permanent commitment to the new version and as an irreversible step. A high degree of certainty about the feasibility of upgrading existing code is required because of this.

Experimentation with upgrading a variety of non-TLTP ToolBook 1.5 books has shown that in most cases the upgrade is fairly straight forward and often requires no manual editing to make the new version work. However, books with advanced OpenScript techniques - particularly those involving DLLs - often report a successful upgrade only to then cause a Windows General Protection fault when run. In the case of the Economics Consortium, this has made it impossible to upgrade a single module to-date. This is due to the fact that all of our courseware is built around a template which employs several advanced Windows and ToolBook programming techniques. All the problems are associated with making our custom tools DLLs written in C to work under the new system (largely due to a change in the meaning of "" and NULL parameters). Fortunately, none of the problems which have arisen in the template have taken very long to solve and it is reasonable to assume that once the template is working, the courseware modules themselves will take relatively little effort to upgrade as none of them directly employs complex programming techniques - all complex programming is encapsulated in the template.

Once the template is upgraded to run under 3.0, it is then possible to replace a number of our custom tools written in OpenScript with the in-built system ones supported by ToolBook 3 (e.g. graphics buttons, bitmap resources and editing enhancements). The cost of doing this is restricted to the cost of taking advantage of these new features within the template itself; no substantial changes to the existing courseware modules is required to take advantage of these new features. Such an upgrade would be far more extensive in its scope for projects without a core template and would reduce the feasibility of fully embracing the new features during the upgrade process.

3.3.2. Runtime ToolBook

Although it is now possible to turn your book into an executable (.EXE) file, ToolBook 3 still requires a set of runtime files to be installed on the target machine as well. As with ToolBook 1.5, these may be distributed royalty-free as part of your ToolBook application and this continues to be a major advantage over other authoring systems charging a royalty on each copy sold for projects intending to generate income through sales. (See the annotated file list in the appendices of this document for further information of the runtime files.)

Under ToolBook 1.5 it was necessary to purchase an installation programme from Asymetrix in order to allow users to install these runtime files and your courseware books. The whole process of building disks and splitting large files was extremely error prone and time consuming; it was also very difficult to entirely automate. Under ToolBook 3, a utility is included which automates the building of distribution disks, compression and splitting of files, creation of Program Manager Groups and running of other programmes after installation.

3.3.3. Skills Requirement

The Economics Consortium has a not inconsiderable investment in training programmers in OpenScript programming for ToolBook 1.5. For the adoption of version 3.0 to be feasible, there must be a high degree of transferability of authoring/programming skills to the new version of OpenScript. Similarly, the authoring interface for screen design must remain fairly compatible with version ToolBook 1.5 if the amount of retraining is not to become prohibitively expensive.

OpenScript 3 is a superset of OpenScript 1.5 and requires minimal training to employ the majority of the new features. Despite this, some features (eg. notification, widget construction, resource object management and palette manipulation) of the new version will remain unintelligable to all but the more experienced computing professionals. However, as long as inexperienced programmers are advised to avoid these features, this is not a problem. For programmers at the other end of the experience spectrum, these advanced features are a welcome addition and enable many functions to be performed in OpenScript which previously required DLL usage or creation. The level of Windows programming experience required to perform complex authoring or to create templates is now lower than before.

The interface has changed substantially from the original 1.5 version but is still recognisable to our programmers - not least because the editing enhancements implemented in our custom system-wide tools are now all standard features under ToolBook 3.

Upgrading to ToolBook 3 is technically feasible in terms of software upgradability. The continuing royalty-free runtime policy and new installation programme make it feasible in terms of the ToolBook Runtime and the evolution rather than revolution of OpenScript and the authoring tools make it feasible in terms of skill requirements.

3.4. Long-term Development Path

For the Economics Consortium's WinEcon software to have a long-term development path it must adequately address the following three areas.


The impact of upgrading to ToolBook 3 on these areas is discussed below.

3.4.1. Portability

Software portability is a critical issue for long term viability of the product of the Economics Consortium or of any other project; if a product ceases to match the hardware and operating system user base then it ceases to be of any practical use. The portability of courseware to new hardware and software bypasses the requirement to reauthor material for each new delivery environment. Failing this, courseware must be reauthored to run under another authoring system in the new environment and multiple versions of the software may need to be maintained in parallel.

As with ToolBook 1.5, Asymetrix has given no indication that ToolBook 3 will be converted to run under other operating environments such as Mac or Unix. Therefore, ToolBook 3 is, and seems likely to remain, a PC specific product in the short term. For the Economics Consortium, its customer base of economics departments has almost entirely PC-based student machines and this is extremely unlikely to change in the short-term to mid-term. The long term, on the other hand, can never be predicted accurately and it is not outside the realms of possibility that UK economics departments will move to non-PC hardware at some point in the future. In such a case, portability would rapidly rise up the Consortium's list of priorities. Consequently, it would be unwise to commit to a new authoring system now if there were a high risk of being permanently locked into a single delivery environment.

However, the hardware base is only part of the portability equation; the other major component is the operating system running on the hardware. Microsoft Windows 3.1 running over the MS-DOS operating system is currently the de-facto industry and educational standard on PC-based hardware. Microsoft has announced its intention to replace Windows 3.1 with Windows 4 - a version which will no longer require MS-DOS as the underlying system on PC compatibles. Also, in the longer term, Microsoft intend to replace Windows 4 with a non-PC specific operating system which may result in an increased diversion of hardware platforms educational software developers need to support.

Projects with a long term planning horizon must then place Asymetrix's product development strategy into the context of this evolving operating system and hardware scenario. Asymetrix have repeatedly stressed a long term commitment to ToolBook as its flagship product and, at present*, there seems little likelihood of this changing in the foreseeable future. Therefore, it seems reasonable to assume that Asymetrix will continue to update ToolBook to work under and take advantage of new operating systems and hardware.

Therein lies the future-proofing of any Windows-based authoring tool such as ToolBook. By developers continually adopting the latest release of ToolBook running under the latest version of Windows, they will have a development path through to new hardware. It is reasonable to assume that ToolBook 3 is intrinsically more portable than 1.5 because it is the latest version - Asymetrix are unlikely to convert ToolBook 1.5 to run under Windows 4.

* Asymetrix have recently released committed a lot of resources to their new InfoModeler database tool with "several large organisations poised to roll-out InfoModeller, including Marconi, Federal Express and the Evening Standard". "Asymetrix now funds a research lab at the University of Queensland" looking at the FORML database object role modelling (sources: recent issues of Computing). The lure of the database market could, in the mid to long-term, push ToolBook into second place within Asymetrix - unless the two products were merged into one. Also, companies (eg. Borland) have run into serious financial problems in trying to move from an established market into another.

3.4.2. Upgradability

ToolBook 1.5 is effectively a frozen product and in the long term this will result in it being an unusable product due to the underlying operating environment changing over time. In the unbelievably unlikely event that it would continue to work entirely unchanged under Windows 4, 5, etc. it is certain that Asymetrix will not be modifying it to take advantage of the new features users will expect to see supported under these systems (eg. OLE-2 which, when added to ToolBook 3, will enable componentware tool add-ons similar to Visual Basic's VBX custom controls).

Although it is possible to argue that there is no need to upgrade to the latest release until something does go wrong, there is no guarantee that it will be possible to upgrade from ToolBook 1.5 to, say, ToolBook 4 whereas it is fairly safe to assume that it will always be possible to upgrade from the previous version to the current one.

3.4.3. Maintainability

The release of the first version of a piece of courseware is only the beginning of a cycle of revisions and maintenance which will fix faults and keep the content up-to-date. This process must continue as long as the courseware is in wide use; indeed it will not remain in wide use unless this process is carried out. How do ToolBook 1.5 and ToolBook 3 differ in this regard? From a technological standpoint there is very little difference between the two versions which would make it easier to maintain version 3 books than version 1.5 books. Improvements in the development environment, whilst leading to easier editing and debugging, are also accompanied by a multitude of extra features for a programmer to master - therefore giving no substantial net improvement in maintainability.

Despite there being little technological difference in terms of maintainability, there is an important strategic difference: it will become increasingly more difficult for projects to recruit staff with expertise in ToolBook 1.5 as time progresses and as ToolBook 3 inevitably replaces 1.5 as the normal version for educational software development. If the project is to be maintainable in the long-term, it must have access to programmers with the required skills and this, by itself, is a strong argument in favour of upgrading.

ToolBook 3 has a longer-term development path than ToolBook 1.5 provided that a continual cycle of upgrading to the latest version is adopted. In doing so, this iterative development path provides a degree of future-proofing for the courseware.

3.5. Summary of Technical Issues

On technical grounds, the Economics Consortium considers that ToolBook 3 is a highly desirable upgrade which is feasible in terms of systems, software and a long-term development path. From a strategic point of view, the long-term development path dominates the technical issues and, given the feasibility of upgrading, is a compelling argument in itself for adopting ToolBook 3.

Whilst there is little doubt that most projects will find ToolBook 3 a desirable upgrade, they must individually assess the feasibility and long-term development path for their own specific circumstances before committing to the upgrade. Projects with little or no existing material to upgrade are highly likely to begin development in ToolBook 3 whereas projects with a substantial legacy of existing courseware must carefully weigh-up the feature advantages of upgrading against the impact on their schedule and their longer term plans.

Appendix I - ToolBook 4.0 Product Information

This appendix is an abridged version of the official Asymetrix press release and product information for Multimedia ToolBook 4.0 and Multimedia ToolBook 4.0 CBT Edition. The descriptions and opinions given here are those of Asymetrix itself, not of the authors of this report.


  • 1.0 Asymetrix Press Release
  • 2.0 Multimedia ToolBook 4.0
  • 3.0 Multimedia ToolBook 4.0 CBT Edition
  • 4.0 Future Directions
  • 5.0 Product Description
  • 5.1 Multimedia Authoring Ease of Use Redefined
  • 5.2 Windows 95, Windows 3.1 and Windows NT Compatibility
  • 5.3 Corporate Uses
  • 5.4 Educational, Healthcare, and Government Uses
  • 5.5 Easily Integrate Video, Graphics and Sound
  • 5.6 More Built-in Productivity Features for Faster Development
  • 5.7 Editing Tools, Windows, and Palettes
  • 5.8 New Palette Optimisation Feature for Accurate Colour Rendering
  • 5.9 Powerful Windows Application Interoperability
  • 5.10 Easy to Use OpenScript Programming Language
  • 6.0 Technical Highlights
  • 6.1 New in Version 4.0
  • 6.2 Existing Features
  • 7.0 System Requirements

1.0 Asymetrix Press Release

Bellevue, Washington—December 5, 1995 -- Today Asymetrix Corporation announced the newest versions of the ToolBook family, the world's easiest multimedia authoring system. The new versions include Multimedia ToolBook 4.0, now shipping, and the Computer Based Training (CBT) Edition shipping January 22, 1996. With the new releases, Asymetrix extends their target audience further into mainstream corporate and educational markets. The latest versions of the ToolBook family stress ease-of-use while keeping the power that multimedia publishers expect. One of the most versatile new features is drag-and-drop support for Visual Basic Controls enabling users to instantly leverage the thousands of Visual Basic applications without programming.

Asymetrix disclosed that future versions of the ToolBook line will further extend their reach to people who are using word processors today, but will be publishing media rich information tomorrow. Asymetrix also described how it is developing ground breaking new technology that will use the Internet to revolutionise the burgeoning Distance Learning Market.

"From individual entrepreneurs to large corporations, the ToolBook family is designed to give people with ideas the ability to deliver their information with the impact of multimedia," said Jim Billmaier, President and CEO of Asymetrix Corporation. "If you have information you need to capture, organise, and disseminate, whether you're trying to effectively market a product, train in-field personnel or publish a CD-title, you need Multimedia ToolBook. It's not just for the multimedia elite, such as professional producers. It's for anyone who's got ideas that need to be powerfully expressed."

2.0 Multimedia ToolBook 4.0

The newest version, Multimedia ToolBook 4.0, has extended ToolBook's intuitive creation process by adding special ease-of-use features and powerful automated utilities. In addition, Asymetrix redesigned the ToolBook structure to utilise an extensible plug-in architecture. This allows users quick access to specific functionality they need today such as Visual Basic Control support. Future capabilities will include animation and HTML interfaces. Performance and quality were a major focus of the development with the result being up to 50% increase in application run-time performance. Specific features include: New Book Specialist automates the common authoring tasks and creates an entire application framework by answering a few simple questions.

  • New Visual Basic Control support works through a visual drag-and-drop interface to instantly give user's access to thousands of existing Visual Basic Controls available on the market. These include the commercially available applications for spreadsheets, database access and financial analysis or custom in-house applications.
  • New Object Browser and Property editor allow quick and easy visualisation and modification of any or all of a user's application contents.
  • Palette Optimiser automatically adjusts an application's visual media creating a polished and unified colour scheme.
  • Script remover utility removes and protects a user's valuable custom developed programs before distribution of finished titles.
  • Shared scripts automatically turn custom scripts into objects. This allows multimedia authors to reuse common functionality, increasing their productivity and insuring application reliability.
  • Windows 95 controls lets the user create applications that automatically adjust their interface to any Windows platform.
  • New Internet features instantly launch Web pages enabling integration with browsers such as Netscape Navigator to build applications that automatically access the vast information resources of the WWW.

3.0 Multimedia ToolBook 4.0 CBT Edition

The Computer Based Training (CBT) Edition of Multimedia ToolBook 4.0 provides a cost effective solution for educators, government agencies, and businesses who need to train personnel and students. Conventional CBT creation can be extremely expensive to develop, design, and maintain. Multimedia ToolBook 4.0 CBT Edition provides a versatile and affordable system that allows teachers and instructional designers to create computer-based training, performance support systems, and other interactive learning applications. In addition to all of the features of Multimedia ToolBook 4.0, the CBT Edition includes: Enhanced Course Management System now includes Bookmarking that automatically tracks a student's progress giving the instructor additional input on student's advancement.

  • CBT Specialists allow an instructor to create an entire CBT application framework by answering a few simple questions.
  • Updated Catalogue of over 200 pre-scripted, drag-and-drop widgets that automatically add interactivity and test student comprehension of material.
  • Professionally Designed Templates increase authors' productivity by allowing them to choose from hundreds of templates. Instructors focus on content, not layout.

4.0 Future Directions

"This is just the beginning of the new ToolBook line," said Raine Bergstrom, Product Manager for Authoring Tools. "We are releasing new versions of our products that focus on the needs of novice computer users wishing to publish more content rich information than they can with today's static information tools. We are also creating versions which will enable individuals and organisations to publish and use CBT content on the World Wide Web (WWW)." The company promises new versions of their products will be even easier-to-use, lower in cost, and have targeted functionality to meet specific user requirements. With new products in the ToolBook line, people will be able to do "Collective Authoring," a technique where teams around the world will contribute to the applications development process. This will enable corporations to more effectively capture and harness the collective knowledge of its key people no matter where they reside. Asymetrix's road map also showed products that deliver interactive information applications over the WWW. "The new Internet products will enable tomorrow's 'Brickless and Mortarless' learning institutions and give corporations the opportunity to re-train employees, even in remote sites," said Billmaier.

5.0 Product Description

Asymetrix Multimedia ToolBook is the leading multimedia authoring system for Windows. Multimedia ToolBook gives you all the tools you need to create graphical Windows applications that combine user interactivity, powerful data and text manipulation, along with multimedia graphics, animation, audio and video.

Multimedia ToolBook is the tool of choice by leading corporations, government agencies, health care and educational institutions for creating a wide variety of computer based training (CBT), simulations, interactive learning courseware, information kiosks, and many more multimedia-rich applications.

5.1 Multimedia Authoring Ease of Use Redefined

Multimedia ToolBook sets the standard for ease of use. It allows you to quickly and easily develop applications with menu bars, dialog boxes, combo boxes, drag-and-drop, graphic buttons, radio buttons, check boxes, 2D and 3D buttons and a host of other Windows objects.

5.2 Windows 95, Windows 3.1 and Windows NT Compatibility.

Windows 95 controls and interface objects are supported in Multimedia ToolBook. Windows controls display differently depending on whether an application is running on Windows 3.x or Windows 95. 3D buttons and inset/raised fields automatically change their appearance to look like the standard controls for that platform.

The exceptional user interface of Multimedia ToolBook along with an array of powerful editing tools provides tremendous leverage to your development efforts in time savings and faster learning. Multimedia ToolBook's Windows interface uses many familiar buttons and icons to perform tasks like creating a button or text box or creating a drawing or multimedia object. Adding, positioning, and resizing objects in your application is as easy as drag-and-drop. If you are familiar with other Windows software, you will find it easy to learn how to quickly create dazzling interactive multimedia applications using Multimedia ToolBook.

A variety of editing tools and palettes are available that can be opened at the touch of a button. These tools set Multimedia ToolBook apart from other authoring packages making multimedia magic accessible to all levels of corporate, government, and educational users.

5.3 Corporate Uses
  • Computer Based Training
  • Product Demonstration Software
  • Information Kiosks
  • Professional Presentations
  • Sales and Marketing Information Management
  • Customer Surveys
  • Market Research Programs
  • Manufacturing, Factory Simulation, and Quality Assurance
5.4 Educational, Healthcare, and Government Uses
  • Computer Based Training
  • Performance Testing, Evaluation and Support
  • Educational Multimedia Titles
  • Simulations, Battlefield and Educational Scenarios
  • Information Kiosks
5.5 Easily Integrate Video, Graphics and Sound

Users expect sophisticated multimedia applications that combine text, graphics, animation, audio, and video. You can deliver them with Multimedia ToolBook. Create path-based animations without scripting. Include powerful video clips, with full Video for Windows run-time support.

Working with multimedia file types is easy, too; you can play both graphics and multimedia in a single window, without rebuilding the window for each media type. Resize and reposition the window at any time with simple, scriptless drag-and-drop.

Multimedia ToolBook gives you built-in sound mixing controls to allow control over sound volumes during clip playback. The mixing controls allow you to effortlessly smooth variations in clips from different sources, and synchronise the sound with time-based video or animation.

5.6 More Built-in Productivity Features for Faster Development

Multimedia ToolBook has extensive features to get you started and make you more productive faster than any other authoring system. The payoff is faster delivery of your application and quicker return on your development efforts.

  • Use Auto-Script to choose from a library of predefined or custom object scripts.
  • Develop and test applications quickly with built-in script editor, syntax checker, and debugger.
  • Simply demonstrate what you want a script to do and the Script Recorder will build it for you.
  • Execute OpenScript statements interactively from the Command Window for faster application development.
  • Object Browser (new in 4.0) displays objects in your book hierarchically, similar to an outline. You can quickly select, edit, or delete objects.
  • Shared Scripts (new in 4.0) can be used to assign the same behaviour to multiple objects. Shared scripts save you time and simplify the maintenance of your applications.
  • Property Editor (new in 4.0) allows you to quickly browse, view and edit object properties.
  • Automated Book Specialist creates entire application framework and automates common tasks for both
  • Easily integrate controls to launch Internet browsers and navigate to URLs from your ToolBook application.
5.7 Editing Tools, Windows, and Palettes
  • Palette Optimizer (new in 4.0)
  • Property Editor (new in 4.0)
  • Object Browser (new in 4.0)
  • Bitmap Editor
  • Line Drawing Palette
  • Media Clip Manager
  • Polygon Shapes Editor
  • Colour and Pattern Palettes
  • Menu Bar Editor
  • Debugger
  • Rulers and Grid Controls
  • Script Editor
  • Icon/Cursor Editor
  • Media Palette Editor
  • Object Tool Palette
    5.8 New Palette Optimisation Feature for Accurate Colour Rendering

    Many multimedia applications experience color shifts when using multiple graphics sources. The new Palette Optimiser utility automatically creates a common palette that contains a blend of the dominant colours from all graphics and video to give your transitions a smooth and polished appearance.

    5.9 Powerful Windows Application Interoperability

    Visual Basic controls (VBX) is a new feature in Multimedia ToolBook 4.0 that lets you extend your application and import standard VBX Window objects - such as enhanced fields and list boxes, clocks and timers, gauges, grid controls, and many others. VBX controls are pre-scripted, enabling you to incorporate sophisticated capabilities into your application with little or no programming. Take advantage of DDE, OLE, and DLL support to seamlessly integrate data and functionality from your favourite Windows databases and applications, using Multimedia ToolBook.

    5.10 Easy to Use OpenScript Programming Language
    • OpenScript is a full-featured programming language that includes commands to accomplish a wide variety of tasks, from creating and managing new objects to linking functions in Windows DLLs.
    • OpenScript is easy to use because of its English-like syntax, its wide range of commands, and its object-oriented nature. Using Multimedia ToolBook and OpenScript, you can program sophisticated Windows applications with a fraction of the time and effort needed to create similar applications in C, C++, or Visual Basic.
    • Put Hyper Text and Database Power into your Multimedia Applications.
    • Most corporate, government, and educational multimedia applications require considerable text and data manipulation. Support for rich-text format (RTF) lets you easily import fully formatted text files from any word processor. Create Hotwords, hyperlinks, and achieve dramatic text effects using colour, inline graphics, superscripts and subscripts. Multimedia ToolBook supports the industry's most comprehensive text search engine. It includes full-text search and retrieval for word and Boolean searches and allows searches on both single words and combinations of words and phrases within user-specified parameters.
    • You can use standard and customisable search interfaces. Also included is a full-text spelling checker, so your applications are letter-perfect.
    • Multimedia ToolBook has more database capability than any other multimedia authoring system. You can easily integrate an application into a wide variety of databases, from product specifications to customer histories and support data. It's the superior choice for computer based training, kiosk and other business support applications where extensive data is collected or manipulated. Multimedia ToolBook includes built-in Paradox and dBASE III database engines. And if you need more extensive connectivity with other databases, the optional ToolBook Database Connection allows easy access and integration with all ODBC compliant databases from your application.

    6.0 Technical Highlights

    6.1 New in Version 4.0
    • Up to 50% faster run-time performance than version 3.0.
    • Create and distribute on any Windows platform with Windows 95 Controls.
    • Extend your application with windowed Visual Basic Controls (VBX).
    • Make your application truly object oriented using shared scripts to assign common behaviour to multiple objects.
    • Palette Optimiser eliminates colour shifts between different multimedia objects in your application.
    • Automated Book Specialist simplifies start-up by automating the new book creation process.
    • Object Browser shows all objects in your application in proper hierarchy, so you can quickly view and modify them on the fly. A real time-saver.
    • Script Remover utility removes the text of your application's scripts, but leaves the executable script code intact. This prevents anyone from editing or viewing your scripts and reduces the file size of your final application.
    6.2 Existing Features
    • Easy drag-and-drop to position and size visual media, including bitmaps, video, and animations.
    • Create customised Windows interfaces, complete with dialog boxes, pop-up menus, scrolling text windows, and custom palettes with only a few clicks of the mouse.
    • Easy to understand Book metaphor that makes it easy for anyone to quickly learn and get maximum productivity.
    • Integrate .WAV and .MIDI sound files into your applications with sound control dialog boxes.
    • Create applications without programming using the Auto-Script library.
    • Take advantage of powerful text manipulation features including rich-text format support, spelling checker, embedded TrueType fonts, and full-text search and retrieval.
    • Create dialog boxes, palettes, tool bars, and application parent-child windows complete with text scrolling.
    • Add drag-and-drop interaction, button graphics, and a wide variety of other unique features to make your applications stand out.
    • Powerful debugger with auto-debugging feature.
    • Easy to learn and use OpenScript programming language for developing custom application features and enhancements.
    • OpenScript manual completely available in extensive on-line help system.
    • Editing resources including audio, icons, cursors, bitmaps, menus, and colour palettes.
    • Build powerful multimedia database applications with built-in Paradox and dBASEIII database engines.
    • Simplify the distribution of your applications with the Media Packager, Setup Utility, and royalty free run-time engine.

    7.0 System Requirements

    • Microsoft Windows 3.1, Windows NT 3.5, or Windows 95 or higher
    • A Windows-compatible computer with a 20MHz 80386 SX or higher processor
    • A hard disk with at least 17MB of free disk space; installation may require more space depending on the options you choose during setup * At least 8MB of random-access memory (RAM); 12MB or more is recommended.
    • A graphics adapter card (VGA, Super VGA, or other Windows-compatible card)
    • A Windows-compatible mouse or other pointing device
    • CD-ROM drive
    • Sound card (optional)

  • [Previous Page] Copyright © 1996. Last Updated: 20/02/96

    Graphics     Multimedia      Virtual Environments      Visualisation      Contents