Classic Computer Magazine Archive CREATIVE COMPUTING VOL. 11, NO. 1 / JANUARY 1985 / PAGE 64

Framework; a delightful writing - organizational tool. (evaluation) Susan Glinert-Cole.

Iam going to start this review on an unusual note by reviewing the reviews of Framework. I have read six or seven of them to date, and they all rail against the product for various and sundry reasons. One reviewer whines that the program designers force the user to accept a particular human interface (a "desktop metaphor").

The reviewer goes on to state that an application program's metaphor should be user-customizable. This is, I think, hard lines on a programmer. For example, what if a user's effective working metaphor is tossing memos out of a Fokker during a World War II dogfight? Is the programmer responsible for providing details of the cockpit, or merely supplying bare metal and a blowtorch?

In any case, with all the complaints, silly or otherwise, regarding Framework, not one of the reviews cites what I consider to be the biggest problem with the product (I'll put all the negative stuff up front). Let me state right here that the Framework desktop metaphor is elegantly implemented and fit may hand like an exquisitely designed Parisian glove. Regardless of all the attention paid to human design, however, Framework did not run properly on any of the three IBM computers I have at my disposal: (a) an early vintage PC, (b) a PC with an IBM expansion chassis, and (c) a PC/AT. In effect, having gone to considerable lengths to design, package, and advertise this interface, the company proceeded to manufacture it in exactly one size, and woe betide users who deviate. Ashton-Tate claims to have fixes for (a) and (c); folks with (b) are on their own. It is nice that fixes are being provided on a timely basis, but given the fastidious nature of Framework, I would be nervous about adding anything to a working configuration, lest my $800 program cease to function.

Part of the sensitivity problem appears to be their execrable copy protection scheme, which requires a Framework System disk be present in drive A when the program is started. I find this to be such an annoyance that, if the program weren't so outstanding, I would toss it into the corner with Other Exasperating Programs I Have Known. Ashton-Tate is said to be working on an alternative method of copy protection which I hope will cause the allergenic tendencies of Framework to evaporate.

To describe Framework in a sentence: it is a writing/organizational tool that is a delight to use. With a few caveats, it is beautifully documented and speedy. As mentioned somewhat obliquely above, the human interface is superb. Despite the weight of two volumes of documentation and five disks, an hour or so will suffice to orient you to the basic command structure. There are few keystrokes to memorize, and these are well assigned. I found the on-line help to be more than adequate in most cases, and every command is accompanied by meaningful prompts. It is difficult to get lost or confused inside Framework. The Package

The package contains five disks: a main system disk with one backup, a secondary system disk, a utilities disk, and a tutorial disk. The tutorial is well done and is particularly impressive in light of the fact that it was written in Fred, the Framework programming langauge. Framework requires a minimum of 384K to run effectively and, although you can operate with floppy disk drives, a fixed disk is very convenient.

The utilities disk contains several auxilliary programs not mentioned in the manuan which, having been written in Fred, demonstrate the power of this programming language. Programs are provided to convert WordStar document files, VisiCalc DIF files, and Lotus 1-2-3 files (this last program is a regulation .COM file). Also included is a mailmerge program for printing customized form letters and mailing labels and a clever program for composing music.

If your machine has an 8087, Framework will sense it and use it. Addition, subtraction, multiplication, and division however, do not benefit from the additional hardware. The manual says that most other functions will realize greater execution speed. The Concept of Frames

Framework is based on the concept of "frames," each of which can hold outlines, spreadsheets, databases, or other frames. A simple example is shown in Figure 1a. This is a bare Framework outlines shown in "outline view." Each of the numbers corresponds to a frame which can be expanded to display its contents. If frame 1 is expanded on the screen, it will be shown to contain frames 1.1, 1.2 and 1.3. The letter E that follows some of the frames indicates that that frame is empty. Figure 1b shows the same outline after some entries have been made in the frames.

A document can also be viewed in "frames mode" by pressing F10. In this case as many frames as will fit are contained on the screen. The frames can be sized and dragged according to your whim (see Figure 2).

The screen is organized as a "desktop." The lower righthand corner of the desk is reserved for the "trays." This is where the document is placed hwne not in use. A file can be removed from the tray and opened by moving the highlighted cursor to the desired choice and pressing Return. Conversely, closing the file is accomplished by positioning the cursor on the outermost frame of the document and hitting Return. There are no restrictions on the number of open files; just as in real life, your desk can imitate a jumbel sale, or it can be a model of orderliness.

The top line of the screen has a menu line accessed by pressig Ins and navigated with the cursor keys. The advanced user can bypass this sequence by pressing the Ctrl key and the first letter of the desired option. When a menu item is selected, a frame opens and displays the choices available. The chosen function can be executed either with the highlighted menu bar, followed by Return, or by typing the first letter.

For example, the Crate option offers you the choice of creating an outline, an empty frame, a spreadsheet, a database, rows/records, or columns/fields. The width and height of the latter two can also be sized from within this menu option.

The function keys are assigned to the most commonly used functions such as Help, Zoom (enlarge a frame to full screen), Edit Formula, recalc, Extended Select, Move, Copy, and Size and Drag (frames). Another file on the utility disk, MACLIB.FW, contains 15 macros for other often-used command sequences, such as date, time, split frame in two, and record a macro. Ten of these are assigned to the Alt-function keys.

With a fes exceptions, I found the key assignments sensible and intuitive; a seasoned user can really make the keyboard smoke during an intensive Framework session. I don't happen to like the choice of the Ins key to access the command menu, but I rarely use it anyway, preferring the speedier Ctrl key access. Documentation

Two hefty volumes comprise the documentation: one is an extensive tutorial and the second, a reference manual. Although it is handsomely bound and printed, it could use some improvement. In particular, short shrift is given to advanced facilities such as macros and the highly touted Fred programming language. If you want to take advantage of Fred, you will have to either spend hours experimenting or wait for the avalanche of books that is sure to appear.

Ashton-Tate claims that Fred and other advanced features, were deliberately left out of the manual so as not to confuse the novice user. This is silly; novices often mature into experts, and programmers who want to develop applications with Fred will also be purchasing the program.

Given the high cost of Framework, it is outrageous to require an additional expenditure for a Fred Programmer's Manual. Furthermore, almost everyone who has had some exposure to integrated packages wants a simple, easily implemented (and documented) macro facility. The explanation of macros in the manual is confusing and certainly inadequate for the beginner, who will most likely want to simplify complex command sequences by using macros.

User-defined fred functions are placed in libraries; when invoked from a program, Framework will search the desktop for a file with a .LIB extension. One such library is provided on the utilities disk. Word Processor

The word processor is not fancy, but it is more than adequate or letters and short to medium length articles. I found it pleasant and unobtrusive. It has an excellent range of cursor movement and can right/left justify and center text. Left and right margins can be selected with the Words menu option, and the Print menu offers several other choices. A wide range of formatting functions is available; these are constructed as formulas and embedded in the frame border. For example, the formula:

@hc("Framework Review"),

@fl("10/2/84") sets up a centerd header and a left justified footer. Because these formulas can be placed only in frame borders, to change formats in the middle of a document requires that you set up a subframe containing the appropriate new formatting command.

Several of the word processing features, like typeover mode and search/replace, can be accessed only through menu line options. This didn't bother me because I always use insert mode anyway and rarely search text. Some may find the access to these features awkward. With the color graphics adapter, the high-resolution graphics screen is used and text designated as bold, underlined, and italic shows up as exactly that. On a monochrome screen, however, italic text is underlined. Spreadsheet

The spreadsheet, like the outlining feature, encourages modularity by defaulting to a small size. You can, of course, enlarge the spreadsheet at will, to a maximum of 32,000 by 32,000 cells, but the amount of RAM is the real limiting factor; a 5000 cell spreadsheet requires about 256K. Because spreadsheets can be linked conveniently, it is often more sensible, especially in view of the recalculation speed (see below), to set up two smaller sheets rather than one large one.

Cells can hold numbers, formulas, or text and can be referred to by position (e.G., B2) or by name (e.g., Expenses.1984). Cell width is adjustable. Information can be hidden by placing it in a zero-width cell; hidden data does not print. Text and numbers can be styled with the Words menu for bold, underlined, and italic. Seven differenct number formats are available in the Numbers menu.

Numbers from a spreadsheet can be inserted directly into a spreadsheet or database frame, but not into a Words frame. I find this a curious omission, because most people using integrated packages want to be able to sprinkle spreadsheet data in a textual explanation. There are a few ways around this problem, however. The spreadsheet can be saved as an ASCII file and then manipulated at will. Alternatively, a separate frame can be set up with a concatenation formula (see Figure 2). The containing frame, Whole Nine Yards, holds a spreadsheet, two segments of text (Mumble and More Mumbling), and a calculated value (Total Sales). The All Together Now frame contains a formula that concatenates Mumble, More Mumbling, and Total Sales. If a value in the spreadsheet is altered, the change is reflected in both Total Sales and All Together Now.

There are some features that I wish were available. The spreadsheet cursor cannot be set for automatic advancement; it takes two keystrokes to advance the cursor. Curiously, there does not seem to be any way to move directly to a specific cell. This isn't too serious with small spreadsheets, but as the size of the spreadsheet increases, so does the time spent banging on the cursor keys. Database

The single-file database facility isn't very sophisticated, but suffices for simple applications. Not surprisingly, dBase II and dBase III files are compatible with Framework, and transfer facilities are provided for converting between them. Wlthough dBase II and DBase III files can be loaded directly into Framework, they undergo considerable expansion when converted: each byte of a dBase file occupies about ten bytes of Framework memory.

A database, like an outline or a spreadsheet is created with the Create option on the main menu line. The screen can be shown in "tabel view," which is the database version of the zoomed (F9) frame. Fields are listed at the top of the form, with each record occupying one line underneath. Alternatively, the "forms view" (F10) can be used to display fields inside individual frames; they can be dragged and sized just like regular word frames. Fields, like cells, can hold text or formulas. The latter can reference either fields or spreadsheet cells.

Records can be sorted on one field, and the database can be searched with a user-defined filter formula specified in the frame border. A filtered database hides records which do not conform to the formula. The hidden frames can be "opened" again by invoking the "open all" function from the Frames option on the menu line. Sorting is done entirely in memory and is very fast. Graphing

The graphing facility is impressive in both speed and ease of use. Data to be graphed are selected with a function key, and the graph type chosen from the Graph options menu. You have a choice of bar, stacked bar, pie, line, X-Y, exploded pie, and marked points. A graph can be linked to a spreadsheet or a database, sized, dragged, and, of course, printed. While a graph cannot be placed directly into text, it is fairly easy to fake it by designing the layout in frames view (Figure 3), printing the text, backing up the printer, and printing the granp (Figure 4). The entire procedure can be assigned to a macro.

The telecommunications module, MITE/MS, is loaded as an optional utility. It is entirely menu-driven and looked easy to use. Unfortunately, I was unable to test it because of installation problems (see below). Summary

Framework is not quite bug-free. While the access to DOS, and the ability to run other programs as child processes is convenient, it doesn't always work correctly. Word Perfect, for example, runs fine as a child. When control is returned to DOS, however, the machine locks up and requires a cold reboot. During installation of the telecommunications module, the program did something odd to the Prolocked disk, such that the program was no longer recognizable as a legitimate copy and refused to load. I was thus left with one backup disk and a mild cold sweat lest something happen to it before a replacement arrived. I was also able to crash the program occasionally while loading the macro library MACLIB.FW.

The word "fun is rarely used in conjunction with a serious applications package, but there is no denying that it is applicable to Framework. The design is slick, the response rapid, and the potential enormous for vertical, customized applications. I found the frame concept easy to absorb, and the flexibility it offers in the area of idea processing has had a remarkable effect on my ability to produce a document. Serious spreadsheet and database users, however, may find Framework too limited for their needs.

Products: Borland Framework (Integrated software)