Frontender
by
Shawn M. Gordon
President
S.M.Gordon & Associates
Introduction
What’s interesting about this product for me is that I had just been trying to talk a couple people into writing something like this around the middle of 1992 before I saw the ad for it. Needless to say I was VERY interested in trying this baby out. So what am I talking about? The product is FrontEnder, the company is Zebra Software; what does it do? It does what the name says it does, it allows you to create your own front end to an HP 3000 application under MS Windows. Imagine it, no more having to put up with some applications ugly interface.
If this software actually did what it said it would mean you would have a generic interface builder, heck you might even be able to make money selling interfaces to people.
So this is the system I was using to run the software. A 25Mhz 486 with 12 Meg of RAM, a 320 Meg HD, 512k Paradise Super VGA and Windows 3.1. I tested the interface across a direct connect and a 2400 modem connection to an HP 3000 Series 70 running Platform 2P of MPE V. The first version of FrontEnder that I had was 1.0 and would only run with Business Sessions for Window, or AdvanceLink. During the review I received version 2.1 that also worked with Reflection for Windows, this version was more powerful because of the capabilities found in Reflection, so I completed the review using Reflection for Windows.
Features
I originally used Business Sessions for Windows to test the product, but if you want to interface to anything other than a V/Plus application the software requires that you write Sessions scripts and attach them to the various events. This was a bit tedious, so when the newer version came that supported Reflection for Windows (which didn’t require all the script file stuff) I decided to switch to that. The main reason is that Reflection can be made to wait for a specific string as opposed to having to make it wait until the execution of a script file completes. So anything that I refer to that is terminal emulator specific will be referring to Reflection for Windows version 4.0 or later.
The first thing that you probably want to do is go through the manual and the tutorials so you have an idea of how the software works. The next step (which I will cover in this review) is to pick an application program that you would like to put a new front end on. Now figure out if you have more than one screen involved in the application, if you do then it complicates the process, but I will cover that later. Next you need to know the row and column screen locations of the fields that you will be inputting data to and receiving data from. Frontender! needs to know this so it can transmit data correctly and monitor for certain events. Especially if you have an error line or instruction line that is displayed to a user then you want that information to display on the frontend screen as well.
Once you know what fields and displays you are going to use you can then use the ZTool Box and ZControl Panel (see figure 1) to start designing your screen. So step one is to open the ZControl Panel and enter Design Mode. Next open the ZTool Box window. The ZTool Box window is used to select the screen objects that will be used to build front-ends. The ZTool Box contains ten buttons that represent ten different types of screen objects, along with six additional buttons that are used to configure those screen objects. Here is a summary of the ten objects.
1) ENTRY FIELD – Adds a single line input/display field to a front-end. May be used to display and/or transmit any ASCII character(s). They support edit masks, hot-linking to other Windows applications, and may contain up to 256 characters.
2) TEXT BOX – Adds a multi line input/display field to a front end. It is basically the same as an ENTRY FIELD, but can handle multiple lines, it is displayed with a scroll bar to allow you to scroll through the data, and may contain up to 32k characters.
3) COMBO BOX – Creates an object that combines an ENTRY FIELD with a LIST BOX. It allows a user to type in a selection or select from a drop down list. A COMBO BOX has the same characteristics and limitations as the ENTRY FIELD. List data may be supplied by the designer and permanently saved with the front-end or dynamically loaded from the Host application.
4) LIST BOX – This is similar to the COMBO BOX, with the exception – all input must come from the supplied list. The user many only enter data supplied in the drop-down list.
5) LABEL – This is used to create static text on a Frontender! screen.
6) BUTTONS – Creates a 3D button on the screen. It is used to send key strokes to the Host application (enter, return, tab, etc..), run scripts on the emulator, send commands to the emulator, or load other Frontender! screens. Buttons can contain text and/or graphics.
7) CHECK BOX – Creates a check box object that can be either checked or not checked. If the user checks the box, the associated data is sent to the Host.
8) RADIO BUTTON – This is like a CHECK BOX except that RADIO BUTTONS are mutually exclusive, only one can be active at a given moment.
9) GAUGE – Can be used to create a horizontal, vertical, semi-circle, or complete circle gauge. This is useful for graphically representing numeric data from the Host.
10) PICTURE BOX – Adds a picture box to a front-end. Used for displaying graphic images on a screen. It is not linked to a Host, but may be hot-linked to other Windows applications.
So using these tools we can now start to place our fields and labels on the screen. This a pretty intuitive process, just select the type you want from the ZTool box, and then place it on the screen. Moving fields around is also a pretty intuitive process, and quite easy to do.
Once you have a screen laid out the way you want you need to start linking screen objects, set up lines to be monitored by the Status and Option lines, control how data is sent to the Host, and set the title for the Frontender! window. This is all done with the ZControl Panel.
To link fields on your Frontender! screen with fields on your Host application you use the ZData Link tool from the ZTool Box. A link will need to be set up for each screen object that will be exchanging data with the server. Links are defined as a rectangle area of the emulators display that will be read from and/or written to. This rectangle area is defined when the starting row/col and ending row/col of the data is supplied. The links are not limited to the data physically displayed on the emulators screen; any area within the display memory of the emulator can be defined. Figure 2 shows and example of the ZData Links screen
The ZData Link window is used to configure all interactive screen objects except the 3D button. The Button object is not linked to a specific screen location on the emulator, rather it is used to send key strokes to the Host, sendcommands (TermTalk/RCL) to the emulator, load Frontender! screens, or any combination of the above.
The manual walks through linking via ZData Links and ZButton very well. I found it quite simple to understand and to implement. The only thing I wasn’t really able to test was setting up HotLinks to other Window applications. I imagine it was because I got a pre-release of the manual and it didn’t have that section finished yet. If I understand the concept, you should be able to utilize features found in other Window applications via DDE or OLE. I am not sure which direction the information is supposed to flow however.
That pretty much covers the functions that are involved in putting together a Frontender! front-end. As you can see it isn’t particularly difficult, you will find that making a Windows application requires a very different mind set than the typical VPlus screen design phase.
Usability (also installation)
The product use’s the standard MS Windows installation procedure. This went smoothly enough as I didn’t encounter any problems. The software is far from an intuitive process, but it is very usable. It obviously takes some work to figure out what the corresponding screen positions are and what your ‘call/response’ is going to be to the programs.
Reliability
Performance
Lucky for us that Visual Basic 2.0 came out recently, since the product use’s Visual Basic from Microsoft. The newer version helped to speed up the program quit a bit from what I understand, as well as adding new functionality. I had used programs written in Visual Basic 1.0, and they could be mind numbingly slow to start up. The response of Frontender! on my 486 however was very good.
Supportability (including Doc)
I actually had the opportunity(?) to see three different revisions of the documentation (such are the woes of reviewing a brand new product), and the last set that accompanied version 2.1 was very good. Actually even the set that came with version 1.0 wasn’t too bad, had plenty of examples and explained things rather well. The support from Zebra is very good, it’s a small shop but you tend to get quicker response from a small outfit usually, and I found this to be the case with Zebra.
Summary
Every time I got a new version of this software it got more powerful and easier to use. There is a lot of interest and talk going on about developing client/server applications, but to actually develop one is a LOT of work. Sure, some of the 4GL’s are starting to offer this kind of thing, but you have to re-write your application if it wasn’t already written in their language. Frontender! gives you the ability to put the interface you want onto any program you want (theoretically). If you think about this, it means you can go beyond your in-house applications and start attacking third party applications whose interface’s leave a little something to be desired.
While you don’t need to have the source code to a program or even know how to program to put a new frontend on an application, it does require that you understand EXACTLY what prompts get issued and what responses are required. You also need to be intimate with the layouts of the screens. Once all this is done you should have very little problem in putting together your own frontends.
I liked this program a lot, I hope that it continues to grow and survive in the market. It could make some software companies Window front end projects come to life much quicker than they originally thought. You could be a hero at your shop if you walked in one day with this beautiful MS Windows interface to one of your main in house systems without anyone ever asking you to do it. With the ability to create ‘Hot Links’ to other Windows applications, you really have the ability to create a powerful EIS tool even. The modest cost certainly makes it a must see in my opinion.
At-a-Glance box
Frontender! For Windows version 2.1 from Zebra Software Development Co.
2108 Lewood Circle
Austin TX 78745
(800) 597-7735
Product is priced at $435, support is free, run time is available for $175 – site licensing is also available.