PackIt
Encyclopedia
PackIt is a software data compression
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....

 utility for archiving and compressing file
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...

s 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
StuffIt
StuffIt is a family of computer software utilities for archiving and compressing files on the Macintosh and Microsoft Windows platforms: it was originally produced for the Macintosh. An old version for Linux and Sun Solaris 2.7 or later is also available...

, 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
Resource fork
The resource fork is a construct of the Mac OS operating system used to store structured data in a file, alongside unstructured data stored within the data fork. A resource fork stores information in a specific form, such as icons, the shapes of windows, definitions of menus and their contents, and...

, 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
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 tar
Tar (file format)
In computing, tar is both a file format and the name of a program used to handle such files...

 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
Data Encryption Standard
The Data Encryption Standard is a block cipher that uses shared secret encryption. It was selected by the National Bureau of Standards as an official Federal Information Processing Standard for the United States in 1976 and which has subsequently enjoyed widespread use internationally. It is...

. 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
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

, and work on PackIt ended.

In comparison, StuffIt supported the newer LZW
LZW
Lempel–Ziv–Welch is a universal lossless data compression algorithm created by Abraham Lempel, Jacob Ziv, and Terry Welch. It was published by Welch in 1984 as an improved implementation of the LZ78 algorithm published by Lempel and Ziv in 1978...

-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
MacBinary
Due to the metadata-rich nature of the Macintosh Hierarchical File System, transferring Mac OS files to platforms that do not support HFS can be problematic. MacBinary was developed as a means of preserving this structure without sacrificing portability. It combines the data and resource forks...

 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.

External links

  • PackIt - Harry Chesley's "home page" for PackIt, including source code
    Source code
    In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

  • UnPackIt source code
  • Archive Formats and Data - contains a section on the PackIt header format
  • macutils, converts between different Macintosh file encodings; supposedly can unpack PackIt archives
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK