Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesAdvancing Communications


February 1994 / Reviews / Advancing Communications

Today's telecommunications software offers high speed, scripting, and even ease of use

Howard Eglowstein

Modern data communications software does lots more than just read E-mail messages. If your current communications package is more than a few years old, you're missing out on all the fun.

Today's advanced communications programs promise speed, features, ease of use, and programmability. The one feature that marks an advanced communications package is, in fact, a strong programming language. That language should be easy to program, yet capable. While it may not make coffee and put out the cat while transferring your files, it should be able to automate many of your communications activities.

In this review I look at seven of the communications packages you're most likely to see on a softw are store shelf or hear about around the office. There are literally dozens of full-featured communications packages available; I picked these seven because of their overwhelming market presence. According to the sales charts, folks who use MS-DOS communications software are most likely to run Procomm Plus from Datastorm. Due to Procomm's start as a well-liked shareware package, Procomm Plus is far and away the most popular commercial package. Second place belongs to Telix, a shareware application from deltaComm Development.

If you use a Macintosh, you're sure to have heard of MicroPhone Pro from Software Ventures and White Knight from Freesoft. Both of these packages enjoy fierce loyalty from their respective user bases, and rightfully so. Running close behind these two commercial packages is ZTerm, a popular shareware application. I don't look at ZTerm here, but it's available through most Macintosh shareware sources, and it's well worth a test drive.

Given Procomm's popularity on DOS machines , it's not surprising that Procomm Plus for Windows is one of the two big sellers for the Windows environment. The other is Crosstalk for Windows from Digital Communications Associates. DCA used to dominate in the DOS environment as well, but now it appears to have focused more on its Windows product, with good results.

As far as communications is concerned, the Unix crowd doesn't need much more than it already has. Unix installations come with excellent mail systems built in, and many Unix users are content to send mail directly from their machines via the Internet. For transferring files from system to system, Unix is again years ahead of the other platforms with FTP. So how do Unix people access their BIX accounts or dial into a BBS? Usually through public domain implementations of Kermit, but also with Term, a commercial package from Century Software. Term is also available for DOS, Windows, and the Mac. I look at the Unix version here.

Procomm Plus

Procomm Plus is the commercial version of a package that grew up as shareware. The shareware version practically owned the entire DOS market; copies were included free with just about every modem sold. Many users happily upgraded to the commercial version when it became available. Procomm Plus 1.0 had a better scripting language than the shareware version and a much prettier interface. Procomm Plus 2.01 goes it one better.

The Procomm interface is largely based on control-key combinations to implement functions, which makes sense for a keyboard-oriented DOS environment. You can choose to activate Procomm's menu and use it with a mouse, but most users stick with the keyboard.

Procomm's functions are grouped into several primary menus. The setup menu, for example, gives you control over modem settings, file transfer options, and environment features such as "file done" alerts. Other menus include dialing, macros, and hardware setup. Procomm supports serial port speeds of up to 115.2 Kbps on serial ports COM1 through COM8; the I/O addre sses and IRQ (interrupt request) settings for all ports are fully configurable.

Like all the other communications software programming languages, Procomm Plus's Aspect is a procedural language. You specify a series of events that must occur in a particular order. The sample Aspect script listing shows a simple script for logging on to the BIX on-line service. Aspect has about 240 commands to do everything from watching a service for specific strings to painting custom dialog boxes on your screen.

However, a communications session often has unpredictable events that can disrupt the flow of a purely procedural language. The ability to handle so-called interrupt events is one feature that separates the good packages from the average. Aspect provides a WHEN statement that lets you define up to three interrupt events for a program to watch for and handle while doing other things.

For example, your on-line service might put out a "..more.." prompt at the end of each page and then wait for you to press the return key. Adding the line WHEN 0 "..more.." transmit "up arrow M" anywhere in your script will handle this common situation, sending a carriage return in response to the prompt to provide continuous scrolling.

Surprisingly, Procomm Plus doesn't support devices other than standard 8250/ 16450 and 16550 UARTs and modems. If you have a networked communication device that works through INT 14 emulation, you'll either have to buy the networked version of Procomm or look elsewhere. Being a DOS package may give Procomm Plus the edge when it comes to performance, but it also means that you can't do background file transfers. If you need this ability, you'll want to either run the package under Windows or some other multitasker, use a Windows program instead, or keep some creaky old 286 system around for doing file transfers.

Telix

Telix grew up at about the same time as the shareware version of Procomm, and it shows: Telix has a look and feel remarkably similar to Procomm's (see the sc reens on page 104), and many of the function keys do precisely the same things they do in Procomm. I've included Telix here because every DOS communications software user I spoke with either has tried or is currently using Telix. Why? Largely because it's still shareware and it costs only $39 to register.

Telix offers two distinct programming languages, Script Application Language for Telix, or SALT, and Salt Implementation, or SIMPLE. SALT programs look very much like C code. A typical program is a series of IF statements nested within a large WHILE loop. Perhaps I might have gotten into SALT programming more if I was a C programmer, but I found the C syntax unnecessary and the lack of event support (such as Procomm's WHEN statement provides) frustrating.

SIMPLE is a higher-level language that uses an English-like sentence structure to represent many of the SALT functions. The SIMPLE compiler generates SALT code that you can either run directly or modify and compile with the SALT compiler. delt aComm expects you to use SIMPLE largely as a tool to learn SALT; I expect that most Telix users could just use SIMPLE as their primary scripting language.

White Knight

White Knight from Freesoft is another package that started as shareware. Up through version 10, it was known as Red Ryder. Now in version 11, White Knight does just about everything you'd expect a world-class communications package to do. Mac software in general does a good job of adhering to Apple's Macintosh interface standards, and White Knight is no exception (see the screen).

I've used Red Ryder/White Knight for years on my old Macs (a 512K and an SE). In all this time, I can't remember ever opening the manual, and I'm sorry now that I didn't. Not only is the manual easy to understand, the foreword is downright fun to read. After reading that, I skipped over the user stuff and started reading through the scripting language specification. (In all this time, I've never found the need to work with White Knight scripts.)

White Knight's scripting language supports about 170 different functions. With them you can build scripts (or procedures) that add functions to the menu bar, for example, or that define macros triggered by on-screen buttons and icons. White Knight can also access external programs written as RCMDs (special plug-in code resources) that will do just about anything you like. One provided sample RCMD lets your procedures access MacInTalk (available separately from Apple) to give you spoken messages.

A White Knight script is a straight-line procedural program that starts at the top and executes to the end. The functions mostly mimic those available from the menus, but a few conditional statements let you compare strings and branch around in your program. Unexpected events are referred to as ALERTs, and White Knight can handle three of them at any time.

A typical procedure establishes a connection, sends some preliminary log-in strings to a host computer, sets ALERT conditions to handle an unexpecte d line drop, gathers up your mail, and then logs you off the host. Compared to some of the other scripting languages in this review, I found White Knight's procedures somewhat primitive but still functional.

MicroPhone Pro

Software Venture's MicroPhone Pro is available in both Macintosh and Windows versions. I looked at only the Mac version here. Like White Knight, MicroPhone Pro manages to be a full-featured communications package behind a user interface that conforms well to Apple's interface standard. I had no trouble learning all MicroPhone Pro's main features simply by examining the menus. I won't dwell on the user interface here because I'd be describing just about every Mac package you've ever seen.

MicroPhone supports fewer script commands than White Knight (only about 70), but it includes support for Apple Events and external programs (including MacInTalk support). Through Apple Events, you could have an Excel spreadsheet start up MicroPhone Pro, run a script to log into an on-line s ervice, and grab current stock prices into Excel, for example.

MicroPhone Pro handles interrupt conditions through an elaborate WHEN statement. It doesn't set a resident condition handler like White Knight's ALERT, but rather suspends the script execution until the conditions match one of those specified in your WHEN statement. Possible conditions include specified incoming strings, some amount of wait time, a specified period of silence, a button press, or some expression coming true.

In theory, this should work just as well as the resident ALERT. In reality, I found it difficult to get some of my MicroPhone Pro scripts working the way I wanted, despite the excellent documentation. Developing scripts to access on-line services can be tricky, and I expect that getting MicroPhone Pro to handle unusual conditions will become easier as I spend more time with it.

Crosstalk for Windows

Crosstalk for Windows may not be the most popular Windows communications package, but the people who use i t defend it passionately. During this review, it quickly became obvious why so many people (including a number here at BYTE) like it so much.

Crosstalk emulates most standard terminal types, handles a number of file transfer protocols (including a few that no other package handles), supports DDE functions, and allows connections through a network. The network support includes redirected BIOS access through INT 14, NASI (NetWare Asynchronous Services Interface), NCSI (Network Communications Services Interface), and the ACS (Asynchronous Communications Server) interface. The ability to access shared resources over a network is quickly becoming a required feature in most software packages. A few other Windows packages permit this, including the new version of Procomm Plus for Windows.

Configuring Crosstalk for a variety of communications sessions is simple because of the straightforward way DCA designed the setup interface. One menu choice brings up the settings dialog box, which has a number of su bfunctions. Each of these is accessed through an icon button that--unlike most Windows icons--is clearly marked with text describing its function.

The toolbar (or Crosstalk's QuickBar) has a number of icons that are supposed to make using the package more convenient (see the screen). I found that few of them made any sense, and on a notebook display they were practically unreadable. If you like toolbars in other Windows programs, however, you may find them useful. I ended up turning them off and using the menus.

Besides strong network support, the other standout feature that makes Crosstalk worth consideration is its programming language, CASL (Crosstalk Application Scripting Language). CASL is an extension of the language used in earlier versions of Crosstalk. Programming in CASL is straightforward, and I found that programs generally work the way you expect them to. The sample CASL script listing is a routine for logging into a system. The CASL documentation is fat and daunting, but don't let that scare you.

Procomm Plus for Windows

Procomm Plus for Windows came onto the scene riding the coattails of its popular DOS cousin, Procomm Plus. The Windows version is more than a Windows interface glued onto the DOS program, however. Datastorm enhanced the Aspect programming language, for example, to support windows, bit-mapped graphics, and other Windows features. Procomm's Action Bar is one of the few comprehensible toolbars I've seen on a Windows package. It has only 10 icons, and about half of them actually make sense.

From the menus and dialog boxes (see the screen), you can manage your dialing lists, write and compile scripts, transfer files, and configure the program for any combination of modems and serial connections. I found both strong and weak points to the interface. The setup menu, for example, brings up a dialog box with a series of buttons. When you click on the Connection button, you can select from the predefined connections; double-click on it, and you can define new on es. While the double-click trick is convenient, it's not obvious; you must read the documentation. It would be nice if the selection menu also offered a New option.

If you often find yourself downloading GIF files, you may like Procomm's automatic GIF viewer. As soon as Procomm recognizes a GIF graphics file, it opens a window and displays the graphic as it downloads. Procomm also provides DDE server support. You can, for instance, have your spreadsheet open a communications session, dial an on-line service, grab warehouse inventory data, and return it to your spreadsheet.

If you ever find yourself reconfiguring your current package's Zmodem for different on-line services, you'll appreciate Procomm's ability to create new Zmodem options in the transfer menu with assigned names. For example, with some services you may want crash recovery; with others, you may not.

Term

Selecting the most popular communications product for Unix was tough. Unix enjoys a rich heritage of public domain soft ware, so many application areas are fully addressed by software you can get for free. Communications is historically one of those areas. The most prevalent communications package in use on Unix systems is Kermit, available free from just about everywhere. In some cases, however, you may want technical support by phone, and that's where commercial products fit in. Century Software's Term is one of the few commercial products on the market.

Term is a standard communications package with terminal emulation, a selection of file transfer protocols, and a scripting language. When you establish a connection, you specify one of the devices provided on your system, typically one of the modems in your modem pool. I installed my copy of Term onto bytepb, our 486-based Unix System V release 3.2 system, which has two modems attached to it. The idea was to install the software there, and then telnet into bytepb and access Term to dial out to other systems.

Unfortunately, that didn't work. Term provides termin al emulation, but it also expects your terminal to support some emulation so that the program can control your screen. All the systems in BYTE's Unix Lab run graphics screens with X Window System, and Term doesn't support X. When I specified the terminal type as SCOANSI and ran from the system console, however, it ran fine. If you plan on using Term, check with the company to make sure the package will work in your environment.

Term's interface is perfectly usable, although it has an outdated feel to it (see the screen). Perhaps because of Term's stark character screens, it felt like I was running on an old LSI/11 from years ago. Still, configuring Term to access my test BBS went easily, and file transfers worked well. Term doesn't support Zmodem, and the BBS doesn't support Kermit, so I ended up using Ymodem for the file transfer tests.

Term's scripting language is powerful, with lots of functions, yet it still feels primitive compared to some of the other languages I used during this review. T he programs end up resembling Aspect or CASL programs, only with shorter, more cryptic keywords.

Communications Solutions

I've used Procomm (the DOS version) on my DOS/Windows machines for several years now, and White Knight on my Mac ever since I bought it. Based on my evaluation experience, I might take a closer look at MicroPhone Pro. I didn't find Telix to be any better than Procomm--although it's just as good. If you are about to run out and buy a DOS communications package, download Telix first and try it.

Neither of the two Windows packages convinced me to stop running Procomm in a DOS window. Under Windows, the DOS version of Procomm manages better throughput at 2400 bps than the Windows communications programs, runs in the background, and has a simpler interface. When I need to transfer files faster than 2400 bps (that is, if our town, Peterborough, ever gets a faster Tymnet node), I'll have to choose between running the DOS Procomm package alone, without the speed restrictions of Wi ndows, or clogging up my hard drive with a slower, fatter Windows package to get background communications. Perhaps by the time I need a faster Windows package, something better will have come along.

Besides working with Term on the Unix system, I installed the DOS version. It may take you some time to get used to the interface, but the wide support of Term on Unix, VMS, DOS, Windows, Macintosh, and BTOS systems may make it the perfect solution for your environment.

You shouldn't overlook the cheap and free options, either. Kermit is available for just about every computer made. There are also a number of interesting DOS solutions besides Telix, and Macintosh communications enthusiasts are just as likely to suggest ZTerm as any commercial solution. Explore your local BBSes and on-line services first. But if shareware isn't what you want, one of these commercial packages could be just what you're looking for.


The Facts



Crosstalk for Windows 2.0         $179
Digital
 Communications Associates, Inc.
1000 Alderman Dr.
Alpharetta, GA 30202
(800) 348-3221
(404) 442-4095
fax: (404) 442-4366


MicroPhone Pro 1.0                $295
Software Ventures Corp.
2907 Claremont Ave.
Berkeley, CA 94705
(510) 644-3232
fax: (510) 848-0885


Procomm Plus 2.01                 $129
Procomm Plus for Windows 1.02     $179
Datastorm Technologies, Inc.
3212 Lemone Blvd.
P.O. Box 1471
Columbia, MO 65205
(314) 443-3282
fax: (314) 875-0595


Telix 3.21                        $39 (shareware)
deltaComm Development, Inc.
P.O. Box 1185
Cary, NC 27512
(800) 859-8000
(919) 460-4556
fax: (919) 460-4531


Term 6.2                          $495
for Interactive Unix 
single-user version (tested)
Century Software
5284 South 320 West, 
Suite C134
Salt Lake City, UT 84107
(800) 877-3088
(801) 268-3088
fax: (801) 268-2772


White Knight Telecommunications
Software 11.14                    $139
The Freesoft Co.
105 McKinley Rd.
Beaver Falls, PA 15010
(
412) 846-2700
fax: (412) 847-4436


Listing: A sample Aspect script from Procomm Plus that logs onto BIX.



proc main
clear                  ; clear screen
locate 0 0             ; locate cursor at 0,0 
box 0 0 4 22 14        ; draw box
atsay 2 2 14 "Logging onto BIX..."  ; put message in box
locate 6 0             ; cursor to row 6


if not fromddir        ; if not a linked dial directory script
  dial TYMNET_ENTRY    ; dial TYMNET
endif
transmit "up arrow M"          ; send a carriage return
waitfor "identifier"   ; wait for TYMNET prompt
transmit "A"           ; send an A
waitfor "log in: "     ; wait for TYMNET prompt
transmit "bix up arrow M"       ; say you want BIX
waitfor "Name? "       ; wait for BIX name prompt
transmit NAME          ; send your name
transmit "up arrow M"          ; followed by a carriage return
waitfor "Password: "   ; wait for password prompt
transmit PASSWORD      ; send your password
transmit "up arrow M"          ; followe
d by a carriage return
endproc




Listing: A sample CASL script from Crosstalk for Windows that logs onto MCI Mail.



label LOGIN
/* Try to log in to MCI Mail for 50 seconds. If not successful, then hang up and exit. */
trys = 1
while online and trys less than 5
  watch 10 seconds for
      quiet 2 seconds    : reply
      "name:"            : wait 5 ticks : reply UserID
      "password:"        : wait 5 ticks : reply Password
      "sorry, inc"       : wait 5 ticks : reply : bye : bye
      "COM"              : alarm 1 : message "MCI logon complete" : end
      "call Customer Service" : ALERT "Connection refused", OK : end
  endwatch
  trys = trys + 1
wend


Communications Software Performance



Transfer rate between each software product and a BBS running on a 50-MHz 486 with a Microcom DeskPorte Fast modem, connected at 115.2 Kbps. The rate shown is the effective character rate in bits per second, allowing for Zmodem file tr
ansfer overhead, connect speed, and telecommunication software overhead. The uncompressed data rate is for a selection of text files. The compressed data rate is based on transferring files already compressed with PKZip. The faster transfer rates are the result of the modem's data compression and will vary according to the different programs' ability to handle fast data streams. Higher numbers indicate faster throughput. However, comparisons between platforms are meaningless because of hardware differences.
(N/A = not applicable.)


PRODUCT               UNCOMPRESSED   COMPRESSED   UNCOMPRESSED   COMPRESSED
                           DATA         DATA      (PARALLEL)     (PARALLEL)


DOS software*
  Procomm Plus 2.01        59000        30000         N/A        N/A
  Telix 3.21               64000        30000         N/A        N/A
Macintosh software**
  Microphone Pro 1.0       53000        29985         N/A        N/A
  White Knight 11.14       57600        30520         N/A        N/A
Wi
ndows software***
  Procomm Plus 1.02        18740        18300         48500      29750
  for Windows
  Crosstalk for            18900        18340         40900      32900
     Windows 2.0
Unix software****
  Term 6.2                  8800         5890         N/A        N/A


*    Connection was made to a Microcom modem at 115.2-Kbps DTE speed;
     the modem-to-modem speed was 28.8 Kbps with MNP 10.
**   Connection was made to a Microcom modem at 57.6-Kbps DTE speed;
     the modem-to-modem speed was 28.8 Kbps with MNP 10.
***  Connection was made to a Microcom modem at 19.2-Kbps DTE speed;
     the modem-to-modem speed was 19.2 Kbps with MNP 10.
**** Connection was made to an ATI V.32bis modem at 9600-bps DTE speed;
     the modem-to-modem speed was 9600 Kbps. File transfer protocol was Ymodem.




Screen: Procomm Plus's dialing directory lets you pick from 200 prestored numbers. Each number has an associated COM port setting, script file, and usage statistics.
Screen: Telix's dialing directory is functionally similar to Procomm's even though it's laid out differently. Like the rest of Telix, the dialing directory clearly shows some heavy Procomm influence.
Screen: Crosstalk for Windows supports more file transfer protocols than most other packages. Besides those shown here, Crosstalk supports DART, CompuServe B, and Crosstalk. The icons are too small and obscure to be truly useful.
Screen: MicroPhone Pro comes complete with a handy script editor. You can select functions from a pick list instead of typing them from memory. After you finish writing your script, the editor can check it for errors, saving you lots of debugging time.
Screen: Term's Spartan interface leaves most of the screen available for your communications session. This screen is from the DOS version 6.3.4, functionally and cosmetically similar to the upcoming Unix version 6.3.
Screen: Procomm Plus for Win dows is one package that provides a modem status window while making a connection. It's very handy for figuring out why a connection won't go through.
Screen: When White Knight sees an incoming Zmodem transfer, it automatically starts up the file transfer. The efficiency is calculated based on the DTE modem speed (in this case, 38.4 Kbps), not on the carrier speed.
Howard Eglowstein is a testing editor for the BYTE Lab. He can be reached on the Internet or BIX at heglowstein@bix.com .

Up to the Reviews section contentsGo to next article: Life at 28.8SearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network