This document discusses the InputMethodKit (IMK) framework in Mac OS X, which provides APIs for developing input methods (keyboards). IMK uses a client-server model where the input method acts as the server and text input applications are clients. It describes key classes like IMKServer, IMKTextInput protocol, and IMKCandidate for displaying candidate words. The document also covers topics like loading input methods as bundles, handling keyboard events, and compatibility with Xcode for debugging.