This document discusses different types of client-server computing. It describes three categories of clients: non-GUI clients like ATMs that require minimal human interaction; GUI clients that use graphical user interfaces; and OOUI clients that allow direct manipulation of objects. It also outlines the needs of clients from an operating system, including communication with servers, multitasking capabilities, and secure execution of mobile code. Trends are discussed as well, such as the growing diversity of client devices and the rise of application servers.