On the other hand, clients on the Internet can expect lower levels of service. Moreover, there is a wide variance in network quality of service across Internet clients. While some clients are connected across dialup telephone lines, others could be connected over cable modems, DSL, or better services. Network service plays an important role in the design of any distributed application. Highly interactive applications place greater demands on network bandwidth and well as latency.
Low bandwidth requires settling for a less interactive interface.
Clients such as applets and application clients that can take over presentation responsibilities, may be better adapted to work in low bandwidth situations. Consider a browser-based client that displays a hierarchy of information as a tree, for example, a navigational menu or a list of mail folders. If the network is fast, it may be acceptable to make a request to the server every time the user selects a node to see a list of the node's children. The server then dynamically generates a new screen reflecting the expanded node. However, if the network is slow, a better approach might be to have the client cache the node hierarchy.