Tri-mode 4GLs are the key to
extremely rapid software development
Fourth Generation Programming Languages (4GLs) greatly reduce the amount of time required to develop applications from the times required of their parent 3GL languages. Typically, they will reduce total project time requirements by 75% to 90%.
4GLs do this by structuring the process of collecting text and of reporting the analysis of collected text -- the most time-consuming part of building any application. Typically, 4GL tools can reduce presentation-layer development times by as much as 95%.
Historically, most system developers in the MultiValue environment have either built their own 4GL products, or have relied upon commercially produced 4GL products. The most popular of these products were System Builder, Blacksmith, and Via Vision, in that order. All of these older products have limits, typically being limited to Green Screen and GUI (event driven) presentation methods, or to Green Screen only. In addition, most commercial products were priced very high.
Newer development tools have what we call Tri-mode presentation layers: the ability to make an application present and collect data in Web, GUI or green screen modes from the same template definitions. They achieve this level of compatibility principally through recognition that all screens are just that (i.e. "screens" of data) and that all can nominally be expressed as a simplified grid. For instance, in preparing a web application, one can think in terms of an 80x25 presentation table and then computationally express this as a lesser set of cells that are either right-, left- or center-justified.
Why Tri-mode collection is important
Each of the various presentation methods (Green Screen, GUI, HTML) has strengths and weaknesses -- thus, it is important to be able to choose the best one for the environment.
For heads down operators, Green Screen is by far the fastest method of data entry because operators only consume the motion expended on a keyboard. Even in a highly skilled operator, the movement to mouse and back again is likely to cost more (wasted) motion and focus than 30 to 40 character clicks. Similarly, Green Screen provides for sparser transfer and display of information, thus speeding local client or remote server responsiveness to data entered. But conversely, green screen takes the longest of any methodology to learn. Thus, we see Green Screen most widely used (and even desired by employees) in companies with low staff turn-over.
Conversely, web applications are the simplest for users to learn, because there is a very limited number of data types, and because most users eventually will use some sort of web application and know the fundamentals of web data entry. But web applications, like the old IBM 3270 block mode screens, are really a screen-scrape technology. To use them, the user fills in all the blanks, and then hits the submit key, so that the remote server can validate all the data. As a result, web applications often have less than 10% of the data thru put of a green screen application when used by heads-down clerical operators.
Event-driven (sometimes called GUI) applications are an interesting balance between green screen and web. They have the field interaction of green screen app's and also the flexibility of mouse interaction. Thus, they are somewhat easier to learn than green screen applications, but if properly written do not have to have much thru put degradation relative to their green-screen sisters.
Tri-Mode permits delivery by any means
Developing an application and figuring out how to deliver and market it are two different things. In fulfillment and marketing, the issues are of controlling production costs and of providing the product by a method most desired by users. For instance, some applications can be most effectively delivered as web services. Conversely, some users may wish to "possess" their applications and have them run on their personal PCs. Finally, there may be advantages even to delivering green screen, be these lesser costs, more control of workers, or the ability to run an identical application in disparate environments such as Windows, Mac, and Linux.