Game Development Reference
Certain interface abstractions, such as accelerator (hot) keys, are quite useful in
achieving interface transparency, but the best way to design a transparent interface
is through iterative user testing throughout software development.
Watching how a user operates a tool and witnessing how quickly he learns an
interface is an excellent way to gain an idea of what should be redesigned to
improve the transparency of an interface.
Principle of Feedback
This concept applies to the controls and activity of your tool, and is about the
importance of providing adequate feedback to users. Users expect feedback while
using an application, so they are aware of the current state of the application. It is
a typical action and reaction situation, where something should happen when a
user does something.
For example, when a button is clicked, it first draws itself in a depressed state, and
then draws itself in a normal state when the mouse button is released. This is a
method of user feedback that informs the user that he successfully clicked the but-
ton. If this visual appearance did not occur when the button was clicked, the user
generally understands that he did not actually click the button and should do so
again until the visual feedback is witnessed. You can imagine the frustration of
your users if buttons in your application did not display this visual feedback when
they were clicked.
As another example, a checkbox control changes its appearance when it is select-
ed or deselected to inform the user whether the checkbox is checked or not. Again,
this visual feedback is important to show users the current application state.
With any tool, there are instances when an operation occurs that takes longer than
a few milliseconds to complete and requires visual feedback to inform the user that
the application is performing a lengthy operation and did not actually lock up.
When brief delays are to occur, one of the more popular methods is to change the
mouse cursor into an hourglass. If a longer operation will occur, use a progress bar
control so that users can see how long the operation will take to complete. An
hourglass cursor will not suffice for a lengthy operation because users will still
think that the application has locked up.
Lastly, every screen should be designed so the user knows what steps have been
performed, especially any critical steps that have been performed.