The Macintosh at that time had no generalized inter-process communication (IPC) system. Kleiman created an IPC init for the Mac to allow MacFrames to communicate with other processes, in particular, HyperCard. This allowed HyperCard to be used as a visual programming front-end for MacFrames. Another goal of MacFrames was to build distributed processing right into the object system. Instead of using an RPC API, one simply set the object's property with the desired value and callback for the results. MacFrames was used by Apple's QA group to create an automated black-box testing system.