ファットクライアント
クライアントサーバ型アプリケーションを設計する場合、タスクのどの部分をクライアントで実行し、どの部分をサーバで実行するかを決定する。この決定はクライアントとサーバのコストに重大な影響を与え、アプリケーション全体の頑健性とセキュリティにも重大な影響を与える。さらに、後の修正や移植を設計する際の柔軟性にも影響を与える。
ユーザインタフェースの特性が設計における選択肢を狭めることが多い。例えば描画パッケージなら、サーバから画像をダウンロードした後は全ての編集をクライアント上でローカルに実施でき、編集の完了した画像を再びサーバに戻すという形になるだろう。この場合、クライアントはファットクライアントでなければならず、結果として(描画データの転送を行うため)開始時と終了時は遅いが、編集は速いという特徴を持つようになる。
逆にシンクライアントなら、画像の各パーツをサーバからダウンロードし、それらに修正を加えるたびにサーバに送信することになる。したがって開始時は速いが、編集は遅くなる。