PackIt

PackIt is a software data compression utility for archiving and compressing files on the Apple Macintosh platform. It was the first such program to see widespread use on the Mac, and most Mac software archives accepted uploads only in PackIt format for some time. StuffIt, introduced in the summer of 1987, offered much improved compression, and PackIt quickly disappeared.

PackIt was written by Harry Chesley to support an online magazine he was writing for at the time, MacDeveloper. To distribute code and sample applications, he needed to archive a number of files into one for transmission. In the original version this was done in a simple manner, simply placing the Finder file information, data fork and resource fork, if present, in a single stream and placing the resulting "block" in the archive. No compression was used, the program was purely an archiver, similar to the Unix tar utility in concept. Like tar, the format did not include an archive header of any sort. To extract the nth file, PackIt had to read past all of the n-1 files first.

PackIt II was released in early 1986 and added Huffman encoding. However the encoding was applied after the file had already been "grouped" together, meaning that the compressor had to work on the file as a whole, or not at all. Since Mac files often consisted of text in the data fork and binary data in the resource fork, compressing these separately and then joining them together would likely offer better compression overall. PackIt III, released in mid-1986, added DES encryption. According to Chesley this option was not widely used, but nevertheless PackIt III became the de facto standard compression/archiving system on the Mac through this period. In December 1986 he joined Apple Computer, and work on PackIt ended.

In comparison, StuffIt supported the newer LZW-type compression system and compressed the data and resource forks separately. This led to significantly better compression ratios on almost all files. The files were then stored with a single universal header, allowing the program to quickly list the archive contents, as well as uncompress a single file, without having to "scan" through the archive. This made StuffIt much easier and faster to use in practice.

Archives created with PackIt used the .pit file extension. File extensions are not normally needed on the Mac, but were commonly used on archives because they would typically be stored on some other system that would require them (PC's for instance). These files were generally stored in MacBinary format on such machines, however, making the extension somewhat superfluous. Later versions of PackIt would recognize a MacBinary header if it had been left on, and strip it off automatically.