90. UIをロックしない

Don’t Lock The UIs

GUI では、1. ユーザーのアクション → 2. プログラム処理 → 3. 結果の表示、の繰り返しで作業が進められる。UIがロックされるとは、2 に時間がかかって 3 がなかなか起こらず、UIが次のアクションを受け付けない状態になること。数秒以上UIがロックされているとユーザーはアプリケーションを自由にコントロールしている感覚を失ってしまう。

重たい処理は非同期化/並列化するなど実装を工夫し、UIがロックされるのをできるだけ避ける。

Mac のレインボーカーソルの図

Mac では、アプリケーションが一定以上の時間(3秒程度)UIをロックしていると、OSが自動的にマウスポインターをこのようなウェイティングカーソルに変える。