INFOWIN/iX: Pop-up Windows On Your World

NewsWire Test Drive

Review by John Burke

One of the nice things about writing this Test Drive column is that I often get the opportunity to evaluate new products for the 3000 market. Invariably, some of the products are unique, provide a much needed capability and have a real chance to be successful. INFOWIN/iX is one of those products.

What is INFOWIN/iX?
INFOWIN/iX can give a face lift to terminal/host applications on the HP 3000 by adding a versatile pop-up window capability. It operates equally well with character mode or block mode (VPLUS) applications, serial or network connections, and terminals or PCs running terminal emulators. In addition to supporting simple message and radio button pop-up windows, INFOWIN/iX can also be used to provide detailed HELP on any field in the form of a multi-page pop-up window.

It can also retrieve information from an IMAGE database, KSAM, or MPE flat file, sort it and present it to the user as a pick list in a pop-up window. The user can then review, select, or print from the window. When selected, the value is returned to the application, where it can, for example, be inserted into a field on the screen.

INFOWIN/iX supports five types of pop-up window operations: PRINT, MESSAGE, SELECT, TEXT and DATA.

The INFOWIN/iX PRINT function brings up a window that allows you to select a printer and print characteristics. It then performs the equivalent of a PSCREEN to the selected printer, with one important extra: it also prints the function key labels.

The MESSAGE facility accepts text from your application and displays it in the form of a pop-up window overlaid on top of the current screen (Figure 2 contains an example of a pop-up message overlaid on top of a text message).

After the user reads the message, the window is cleared and the portion of the screen that was covered is restored. This feature is useful for brief HELP or ERROR messages.

SELECT allows you to implement a pop-up window with selectable radio buttons (See figure 3).

The tab or arrow keys can be used to highlight the desired "button." The RETURN key selects the highlighted button and the value is returned to the application program for action. SELECT text and button labels can be stored in an INFOWIN/iX database or dynamically passed at run time.

TEXT is stored by the INFOMAIN program in an INFOWIN/iX defined database along with coordinates for positioning and sizing of the window. You set this up ahead of time. Each text window is uniquely identified by a process identifier and an entry number from 1 to 9999. Typically, the process identifier relates to an application program or screen, and the entry number relates to a specific field on a screen. When you enter the text through the INFOMAIN program, you enter it into the window as it will appear when displayed. Figure 1 provides an example of a multi-page text window. This feature is particularly useful for adding detailed HELP to an application.

The DATA window (pick list) function is by far the most complex and powerful feature of INFOWIN/iX. Again, as with TEXT data, you define the size and location of your window with the INFOMAIN program. You also specify the database, KSAM file or MPE file where the pick list data exists. In the case of IMAGE databases and KSAM files, you also define the key. If the data is numeric or represents a date, you can define an edit mask for the display. With INFOWIN/iX you can even define computed items (both numeric and string). INFOWIN/iX is so powerful that, in most cases, the developer will not need to add any special code to generate even complex multi-page pick list windows.

Installation
INFOWIN/iX uses the standard approach of:

The whole process takes less than 10 minutes. No further configuration is necessary. A nice touch: BUILDWIN purges itself when done.

Documentation
INFOWIN/iX is a new product from a small organization. As usual under these circumstances, the documentation takes the minimalist approach, providing basic definitions, a few screen shots and some COBOL code snippets. More examples are needed, such as how to use the pick list feature, the most complex part of the product. It would also help if the source for a complete, working program was included with the product.

Test Drive Experience
To use the SELECT (radio button), MESSAGE and PRINT screen features, you need only add basic code to your programs. To use the TEXT data and pick list (DATA) features, you also need to create and populate a database with pop-up window definitions and the text data to be displayed or the calculation rules and data source for the pick lists. The database can be site, application or even program-specific. The program INFOMAIN maintains the INFOWIN/iX databases (and, by the way, uses most of the pop-up window features as part of its user interface). The actual code that handles the screens is contained in an XL that you reference. The product was designed to work with COBOL and, in fact, has not been used with any other language. It includes three files, one a working storage area and the second a procedure division, both of which should be added to your copy libraries and included in your programs. The third file is an NMOBJ file that contains a subprogram that provides the initial entry point for the main INFOWIN routine (This appears necessary only if you are using COBOL -- see below). This file must be added to an RL or XL that your systems regularly use.

Since I try to avoid COBOL at all costs, at least for interactive screen-oriented programs -- no flames please, it's just a personal preference -- I had to blaze new trails if I was going to test the product. Making the exercise more exciting, the best test programs I had were SPL programs running in compatibility mode! I figured if it can work here, it can probably work with any language.

I was able to successfully use INFOWIN/iX from my compatibility mode SPL program by calling the INFOWIN procedure (switching to native mode in the process) from the INFOXL.PUB.INFOWIN XL with the HPSWTONMNAME CM intrinsic. Of course, I had to also convert the COBOL working storage area to SPL (as far as the INFOWIN procedure is concerned, this is just a byte array passed by reference) and the INFO-CALL-WINDOW COBOL procedure to an SPL procedure. (No more than a passing knowledge of COBOL is necessary.) In discussing my plan with the developer, we determined that the NMOBJ module is necessary only when using COBOL. The bottom line is that INFOWIN/iX should work with any language that can call an XL procedure and pass by reference a storage area.

Conclusion
INFOWIN/iX is well worth considering if you have VPLUS or character-mode applications that you want to enhance with pop-up window support. Once you get past the minimal documentation, you will find the product easy to use and performs quite impressively. At HP WORLD '96 in Anaheim, HP committed to adding a form of pop-up window support to VPLUS. INFOWIN/iX has greater capabilities, works equally well with character mode applications, and is available now.

John Burke is a longtime HP 3000 columnist and contributing editor to the 3000 NewsWire, editing our net.digest column. John has 18 years experience on the HP 3000, works as systems manager for Construction Computer Center, and can be reached at tcdn96a@prodigy.com.


Test Drive Road Report


INFOWIN/iX
Silton Information Systems, Inc.
4219 S. Alameda St., Los Angeles, CA 90058-1601
Tel: 213-846-9823
Fax: 213-846-9833

INFOWIN/iX runs only on MPE/iX systems. It is currently only validated to work with COBOL. However, it should work with any language that can call an XL procedure and pass by reference a storage area. Silton is interested in talking to anyone willing to create (for an appropriate discount) the interface (storage definitions, call sequences and examples that can be incorporated into the product) to other languages.

The full product is priced at $3,000. A version supporting only message and radio button pop-up windows is priced at $500. A demonstration copy is available upon request.


Copyright 1996, The 3000 NewsWire. All rights reserved.