元ネタはこれ scotthurff.com Webアプリケーションを作ったことがある人ならわかる話だが、アプリケーションは確実に予想外の状況に晒される。サーバーはレスポンスを返すのに時間がかかるし、ユーザーの環境がメモリ1G以下のこともあれば、完全に想定外の使いかたをするユーザーもいる。デザイナはそれらの現実に起こりうる可能性を全て考慮に入れてデザインをする必要がある。 2004年にBasecamp(当時は37signals)はThe Three State Solutionという提案をしていて、その内容は「全ての画面設計は3つのステート(Regular, Blank, Error)を考慮するべきだ」というものだった。その当時はまだAjax黎明期だったし、もちろんスマートフォンも存在していなかった。けれども、新しいテクノロジーが生まれるにつれて、インターネットを利用する環境は恐ろしく多様に
![ユーザーインターフェイスにおける5つのステート - Runner in the High](https://cdn-ak-scissors.b.st-hatena.com/image/square/9c8caeb79d4a26c5fef638f6253f90d4f6797275/height=288;version=1;width=512/https%3A%2F%2Fwww.scotthurff.com%2Fcontent%2Fimages%2F2019%2F06%2Fui-stack.jpg)