This paper discusses the general technique, while focusing on a particular example: Kibitz. Kibitz connects multiple sessions and applications together, providing a means for consulting, group editing, or other cooperative tasks. Kibitz in turn, can be used as a module in building additional programs of this type. Using Kibitz, we demonstrate how cron or backgroup processes to call upon and interact with users, e.g., for guidance or debugging.
Due to program reuse, our approach avoids many portability issues already addressed and solved by existing programs. Kibitz has no special coding for byte swapping, structure encoding, or job control, and requires neither kernal modifications nor setuid or other permissions even though it runs over a network and deals with multiple users, job control, and sophisticated programs such as shells and full-screen editors.