Classic Computer Magazine Archive COMPUTE! ISSUE 136 / DECEMBER 1991 / PAGE 112

Files under pressure. (compressed files) (Column)
by Denny Atkin

You've finally figured out the complexities of downloading a file. That neat shareware game you read about in COMPUTE now sits on your hard drive to play. Or so you think. You type the name of the file and are rewarded with BAD COMMAND OR FILE NAME. What's wrong?

Either your download wasn't successful, or the file you transferred was stored in a compressed format and requires processing before it can be put to use.

Just about all the files you'll find online, games or other kinds of files, have been compressed. You'll recognize these files by their extensions--such as ARC, BXY, LZH, SIT, and ZIP--which help you identify the program that was used to compress the files. Some compressed files are self-extracting; they have a tiny decompression program appended to the beginning of the compressed file. These files can be hard to identify, since they end with a standard EXE extension on MS-DOS machines. (They're even harder to identify on Macs and Amigas.) While it can be disconcerting to type a program name and have it create lots of smaller programs on your disk, at least self-extracting files don't require a separate program to decompress.

Why are program files compressed in the first place? Compressed files are generally about half the size of their uncompressed counterparts, so they can be downloaded in about half the time. On commercial online services or BBS systems where you have to call long-distance, time truly is money. Even on local bulletin boards, where time isn't as much of a consideration, compressed files speed you along so someone else can log on.

Another benefit is that you can transfer a group of related files in a single step. Compressed files are called archives because they can contain more than one file; you can archive a set of related files together. Many programs require a set of data files to run. If you had to download each necessary file individually, not only would you have to spend more time picking downloads, but you'd risk missing vital data files. Also, most modern compression programs will save the original subdirectory structure for all of the files; if your file needs separate directories for data files, keeping its directory structure intact will save you from having to type a series of COPY, MD, and DEL commands.

The final benefit of archives a file or series of files is that the archiving programs will check each file's integrity as it's decompressed. If a file has errors in it due to a download problem, the archiving program will alert you to the problem. The programs generally don't provide a method to fix the errors, however.

Compression programs also provide a sort of file-transfer standard, allowing you to transfer files intact between different computer platforms. For instance, the Macintosh, the Amiga, and OS/2 PCs don't suffer from the MS-DOS eight-character-plus-three-character-extension filename length limitation. But if you wanted to transfer a Mac file named PostScriptOutput to an Amiga using a PC-based BBS as an intermediary, your filenames would be truncated to POST-SCRI.PTO when the file was stored on the PC. By "encapsulating" the file in the safety of an archive, only the archive filename would be truncated; when you finally decompress the original file on the Mac, its filename will be intact.

There is a downside, though--compatibility. Different archive programs are more popular on different platforms. And each platform has more than one archiving format available; you'll find that you need more than one decompression program even if you don't have to deal with files from foreign computers.

The most popular format on MS-DOS computers is the shareware PKZip, by Phil Katz. Katz created the ZIP format, which was faster, more versatile, and better at storing directory structures than ARC, a precursor. ZIP has become the de facto standard on MS-DOS machines.

The only serious challenger has been LHarc, a freeware program from Japan. It offers compression similar in speed and efficiency to PKZip's, but at a lower price--free. Because of the poor implementation of PKZip on the Amiga, LHarc has emerged as the Amiga standard.

Mac files are usually compressed with Stufflt (SIT) for Compactor (CPT). I could devote an entire column to the intricacies of decompressing Mac files on other platforms--you have to deal with Resource and Data Fors, fun stuff--but UnSit will let knowledgeable users extract Mac files on their platforms.

If your file is going to be used by Mac, Amiga, and Atari ST users in addition to MS-DOS folks, your best bet is to use LHarc to compress the file. If the file is of interest to MS-DOS users only, though, stick with PKZip. Avoid self-extracting files if possible. Not only are they potential virus carriers (some virus programmers hide the virus in the extraction code), but they prevent your file from being used on incompatible platforms.