Game Development Reference
Responsive UI During
Complexity is a sign of technical immaturity. Simplicity of use is the real
sign of a well designed product whether it is an ATM or a Patriot missile.
Daniel T. Ling
It is fairly common to use applications that fail to repaint their windows, display-
ing an empty or partially empty frame on the screen. Or you may use applications
that execute a long-running task, ignoring you until the task completes. In some
instances, you may even wish to abort the task rather than wait for completion,
which is not supported by these applications. A responsive user interface is very
important, so it is crucial that you design your application so the user knows the
current state of the application: whether a message sent to the application has been
received, and that the application has not stalled when processing a complex task
or operation. Users want to feel in control of the application, so be sure that the
user can always control the flow of the application.
To fully understand the importance of a responsive user interface, a few common
problems will be addressed that users typically come across. The first problem is a
window that takes a long time to repaint during a time-consuming operation.
During this operation, the application does not give any CPU cycles to the user
interface, which results in the user waiting for the window to update or for key-
board and mouse events to be processed. These wait times make the user interface
seem sluggish, or even cause the application to be unusable.