Powertools/CUA
Vector 7:1, page 54
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 54
Introduction¶
This review is specifically of the CUA component of the Powertools product. This is part of their ‘Forms Processor’, and the handling of menus and mice are an extension of existing functionality. The review is mainly based on the CUA workspace which includes examples of all the common types of interaction.
Systems Intelligence is a new name for an old firm; they have a good pedigree as suppliers of add-ins to the APL*PLUS/PC system, dating back to a listing as ‘APL Software Technology’ in Vector 2.2 (October 1985).
Objectives of the CUA Package¶
One of the by-products of the published IBM SAA standards is a set of recommendations called Common User Access (CUA); these cover the whole gamut of devices, from the dumbest of dumb mainframe screens to the very latest in mice and windows. Both OS/2 Presentation Manager and MS Windows are based on these guidelines. Powertools/CUA is designed to enable the APL*PLUS/PC developer to build applications which comply with the most advanced guidelines: those which cover the Graphical User Interface (GUI).
If you already base your screen management on the Powertools Forms Processor, you should find that you have a simple upgrade path to full CUA compatibility.
Installation and System Requirements¶
Powertools must be copied into the APL working directory. It requires APL*PLUS/PC and a MicroSoft Mouse. The installation was fairly painless, with the following minor problems:
- don’t be tempted to load the CUA demo workspace without having first started Powertools in the approved fashion. I note from the comments in the
⎕LXthat the workspace is supposed to give up with an error message if you do this; in my case it simply hung the system! - your interpreter must be called APL.EXE. Mine is called APLn.EXE (where n is the version number); I feel that this should be a parameter when you start Powertools from DOS.
- if your mouse is running from COM1: you must start Powertools (i.e. APL) with e=256 to disable buffering of the COM1: port. If you don’t, you kill off the mouse permanently, not just for the duration of the APL session. The lack of any notes on this is an unfortunate omission from the documentation.
Powertools is remarkably parsimonious in its use of workspace: you will lose a mere 35K of ⎕WA as a result of loading the entire toolset. Smaller versions can be custom-assembled if required. Note that APL objects over 64K are not supported.
Features¶
The Systems Intelligence flyer which went out shortly after the last Vector is a good place to start. Essentially, the demo workspace allows you to run entirely in graphics mode, with a screen that looks very much like Windows-2. There are functions supplied to support pull-down menus, dialog boxes (complete with a variety of buttons), window scrolling and so on. The menus can be driven from the keyboard (using Alt-letter combinations), or with the mouse. They support ‘greyed’ options and option-grouping in the approved style. Obviously, you get the CUA recommended colours by default, but you can over-ride these as required.
You can set up the system for a variety of output devices, from text-mode to Super-VGA. Obviously the graphic modes are necessary if you really want that GUI look and feel; the text mode is useful if you have an old-style system, or need speed rather than beauty.
Performance¶
On my new 386SX, the GUI demo is almost acceptable; on anything less than a 16MHz 386 it would be like wading through treacle. This is not a criticism of the package as such, just a common consequence of doing all your screen-handling in graphics mode, where the application is working at the pixel level, and thus sending about 128 times as much information to the screen. I have seen just these comments about Word for Windows (as opposed to Word 5); I don’t think that Powertools pays any more than the usual penalty for the advanced features.
If you run in text mode, the contrast in speed is dramatic; windows full of text whizz by; and the menus are far more responsive. On the other hand the mouse is largely unusable, as the mouse cursor jumps about in whole character chunks, and I found it really hard to hit the right bits of screen. You also sacrifice some of the nice features of the windows (like a scroll bar at the side to show you which bit you are looking at). As always, you pays your money and takes your pick.
Documentation¶
This is by far the weakest element in the whole package: it really is bad, going on dreadful. It is in a small typewriter face on A4 sheets, with the APL bits shown using STSC’s old keyword mode (#is for assign and so on). It is mostly just a catalogue of functions; fine as a reference manual but quite inappropriate as a user-guide. You can pick up much more by hacking through the CUA workspace then you will ever find in the manual!
I don’t think I am just being fussy about this; the cost of using a package is the cost of buying it plus the time spent learning it. It is grossly unfair to penalise your purchasers with documentation as bad as this.
Summary¶
If your company insists on CUA compliant applications, and you want to write them in APL, then you should buy this package. If you just want to dabble a bit with mice and see how a GUI feels, the CUA workspace is a good introduction. Buy the package, set fire to the documentation, and hack the workspace!
Before you do either of the above, stop and ask yourself if this approach is really sensible in the long term. Why on earth are clever programmers wasting their time re-inventing tools that already exist in the Windows environments? Surely the only sensible way of doing this is to run under Windows, and use its toolset from within APL. APL*PLUS/PC has always had an unfortunate tendency to ignore its environment; tools like the Powertools/CUA package (however technically brilliant) can never be more than a short-term fix, a veneer of respectability rather than a true integration into the GUI world.
Availability¶
Powertools/PC release 6 is available from:
Systems Intelligence (UK) Ltd
Craven House
121 Kingsway
LONDON WC2B 6PA
Tel: 071-831 3978