Authorware's programming language is embodied in its “object authoring” metaphor, in which icons represent both data and instructions. Authorware's icons are designed for subject matter experts who wish to concentrate on content and user interface design, rather than on the mechanics of the implementation and the idiosyncrasies of scripting languages. Whole sections of code can be easily relocated to other areas of the application, or even stored as models for later use and reuse.
Specialized tasks, such as trigonometric calculations, are handled by System functions and variables, which are used inside Calculation icons. These are more comparable to classic programming language function calls or variable assignments. Skillful use of these functions and variables requires familiarity with programming concepts, but all function calls and variable names are copied directly from self-documenting dialog windows, so the author is not required to key them in manually. Typically, Calculation icons contain less than half a dozen lines.
Authorware Professional for Windows can launch other applications, and share data with them by writing to and reading from external files. Authorware can call DLLs from within a Calculation icon. To do this, the author first loads the DLL from within the authoring environment. If a standard DLL is called, the author must declare calling conventions; however, Authorware supports an extension to DLLs which allows the calling conventions (data types, arguments) to be read in directly if this information is found in a specific place within the DLL's header. This approach frees non-programmers from dealing with programmer-level issues; instead the author can call the DLL without worrying about declaring the calling conventions.
Syntax-checking for functions and variables within Calculation icons is automatically enforced before the author can close the icon. It is therefore impossible to produce an error message as a result of running an application. Logic errors leading to unanticipated behavior, however, are possible. To assist in this area, start and stop flags are provided to enable the author to isolate sections of logic without running from the top. Variables can be displayed on-screen and perpetually updated in real time to provide an understanding of how the application is manipulating data.
Authorware excels at providing a clear representation of linkages between areas of the program. Links can be activated by any of the nine user interaction types, or can be controlled by program logic and triggered based on the value of variables, or even at random. “JumpOuts” to external applications such as Word, Excel, or ToolBook are also supported.
All components of the application—displays, erases, pauses, interactions, decision loops, calculations, sounds, movies, video sequences—are represented by iconic objects in the flow line. These, as well as interaction types, can be edited within the application's logic map at any time.
Authors can choose to work in either standard 16-color VGA or 256-color VGA-Plus. The 256-color palette is identical to that used on the Macintosh, so bitmaps created using Macintosh design tools such as Studio/8, PixelPaint Professional, or PhotoShop can be displayed under Windows.
Authorware can import either 16-color or 256-color bitmaps into display icons. All bitmaps are translated internally into Authorware's own PIM (Platform Independent Media) format; bitmaps copied onto the Clipboard are exported as DIBs.
Authorware can import graphics via a dialog box designed to support a virtually limitless number of plug-in filters that can recognize and import metafiles, DIBs, BMPs, TIFF, EPSF, and PICT graphics created by applications such as Corel Draw, Micrografx Designer, and Arts and Letters. The Windows Clipboard is also fully supported.
Authorware provides tools for creating polygons, lines, arrows, ellipses, circles, and other graphic objects. Display modes for graphic objects include opaque, transparent, inverse, and erase.
Authorware's Display icon includes a text tool that allows you to lay down free-form blocks of text with margins and tabs that can be interactively adjusted. Any piece of text, down to a single character, can have a distinct font, size, style, and color.
Variables, whether system-generated or user-defined, can be displayed on screen and freely integrated with standard text. Thus, it is possible to dynamically change a word or phrase within a display, and continually update it. ASCII text files created with popular word processors such as Word or WordPerfect can be read into variables and manipulated as data.
PCM audio files can be loaded into Sound icons and played back at varying speeds. Dialog box settings enable the author to specify that audio plays concurrently with other events, and specify the number of times it should repeat. The use of variable flags to start and stop audio is also supported. Although the author has a high degree of control, tightly synchronized audiovisual events are difficult in version 1.0.
Authorware offers four types of animation. The most direct fashion is to use an Animation icon to move one or more displays. The displays can be moved point-to-point, on a path, or within an X/Y region. Moreover, the animation paths can be scaled and linked to values in variables. Thus, it is possible, for example, to increase or decrease the speed of a piston in a running engine using this data-driven animation capability.
Clip-frame animations (or Movies) can also be created using an animation editor provided with Authorware. Movies typically depict objects changing state and are stored in Movie icons for playback within a scene. Running Movies can be moved using the Animation icon: for example, the Movie might depict a jogger running, while the Animation icon would move the running figure along a specified path.
Animations created on the Macintosh with MacroMind Director can be played back from within Authorware using the Animation player DLL. Moreover, color PICS animation files loaded into Authorware's Movie icons on the Macintosh can be transported to the Windows environment for playback directly within the application.
An application developed with Authorware can play music concurrently with other events in the application by accessing the MIDI functions of Multimedia Windows—including the MIDI sequencer, instrument patches, and the synthesizer driver for generating music via the synthesizer chip on the Level 1 hardware. This software can be accessed via a DLL call in version 1.0. If a MIDI file is loaded and played, the file is passed to the sequencer.
A record file, containing “bookmark” information about its status when last exited, is automatically maintained for each application. Authorware can capture a wide variety of data pertaining to user interaction and responses, and write this data to files and folders in any designated location. These files can be formatted as tab-delimited or comma-delimited data fields for use with databases and spreadsheets. New files and folders can be created and deleted from within an application: it is possible to create folders and maintain performance data for each individual user. Data files can also be read in and manipulated, although keyword searching, sorting, and indexing is not supported.
Authorware can write text data to external ASCII files as plain text, or tab/comma-delimited record fields. It can read ASCII data files from other applications into variables. Graphics of various formats can be imported during authoring, including DIBs, BMPs, metafile, and Macintosh PICT. Authorware graphics stored on the Clipboard are available to other programs as DIBs, BMPs, or Metafiles.
Authorware for Windows can import files created by Authorware for Macintosh. All logic, variables, and content, including graphics, animation and sound, is translated for Windows presentation. The imported Macintosh file is fully editable as a Windows application.
Browsing is handled through interaction with clickable objects and buttons within the application. Authorware makes it easy to build a wide range of navigation metaphors, including ones which do not specifically rely on Windows or Macintosh conventions. Searching is performed within text strings only; though these strings can contain the contents of entire files read in from disk. Authorware has functions for finding patterns and words within these strings. Wildcard pattern matching is supported for user-entry text.
Authorware's ability to call DLLs enables it to interface to data management functions. For example, a query can be performed using a function in a DLL and its results returned to a variable, which is displayed on the screen. Authorware can be thus used to build sophisticated multimedia front-ends to databases, spreadsheets, and publishing engines; the returned data can be further transformed, graphed, or even used to drive animated sequences. This methodology has been used to develop executive information systems and document management systems with Authorware front-ends.
Authorware's visual programming metaphor greatly simplifies update and maintenance of its interactive documents. An author who has never seen the application's logic before can open up the editable version, examine the sequences of icons, and within a very short time comprehend the design. All objects can be interrogated for their content. Moving or rearranging sequences is done by dragging icons; new icons can be inserted just as easily. All logic is out in the open and accessible.
While authoring, a running presentation will pause and bring up the appropriate tools for entering information whenever it encounters an empty icon. Variables are created automatically whenever first called, and can be globally renamed from a single dialog box. In creating an interaction, the software defers to the initially selected type, so that the author can quickly create a series of buttons, click/touch areas, or other user-interface devices, all sharing the same settings.