MultiFinder

MultiFinder was the name of a piece of extension software for the Macintosh available in System 6.0.x. (It, however, had been on board the Macintosh system since System 4.2.) It added the ability to co-operative multitasking|co-operatively multitask between several applications at once, a big improvement over the system without MultiFinder, which could only run one application at a time. With the advent of System 7, MultiFinder became a standard integrated part of the operating system.

MultiFinder was an obvious response to the needs of users, but it had an interesting history. The first Macs had such limited memory that it was decided early on to abandon the multi-tasking that Apple had developed for the Lisa. To allow some degree of freedom, the Mac added Desk Accessory|Desk Accessories, but these were deliberately limited so that they would not use up too much of the very limited RAM available. Each new Mac model increased the amount of RAM available, with 1MB as standard on the Mac Plus. By this time there was sufficient RAM to support some kind of multitasking, and the first effort was a neat system called Switcher, written by Andy Hertzfeld. This worked by offering a number of fixed "slots", into which an applcation could be loaded. The user could then switch between these applications by clicking a small button on the top of the menu bar - the current application would horizontally slide out of view, and the next one would slide in. This approach was interesting, but rather false. However, it did fit well within the current scheme for Mac OS memory management|memory management, and applications needed to have no special programming to work with Switcher. The early work on Switcher led to MultiFinder.

MultiFinder extended the system in a number of significant ways. Apart from giving each application time, it provided a way for windows from different applications to co-exist by using an application layering model - when an application was active, all of its windows were brought forward as a single layer. This approach was necessary for backward compatibility with many of the windowing data structures that were already documented. It also provided a way for applications to supply their memory requirements ahead of time, so that MultiFinder could allot a chunk of RAM according to need. In fact this scheme was severely limited, and caused many problems for users - see Mac OS memory management for more details. The integration of MultiFinder into System 7 did not fix any of these shortcomings.

While MultiFinder as a separate entity disappeared with System 6.0.x, its legacy remained through to Mac OS 9. Only with the change to a modern preemptive multitasking UNIX-based OS in Mac OS X did the idiosyncrasies and disadvantages of MultiFinder finally get dealt with.