General Guidelines for the User Interface
keep two important principles in mind: keep the user in control, and provide
feedback to the user.
Keep the User in Control
When designing a data access feature or application, keep in mind that the
user should have as much access to the Macintosh computer's abilities as
possible. Design your application so that most of the data access process
whenever the database extension you are using supports asynchronous calls.
Because data retrieval queries can take minutes or even hours to complete,
they should always run in the background.
After issuing a query, return control of the computer to users so that they
may work on other tasks or switch to other applications while the query runs.
Whenever a background task requires the user's attention, follow the
A background task should never take control from the user by posting an alert
box in front of the active application's windows. Any message that you post
should identify the query that requires attention. For example, an alert box
might display the message "The query Get Employee Information was canceled
because the connection was unexpectedly broken.
If your application allows more than one simultaneous connection to data
sources, or allows more than one query document to run, provide a modeless
window that lists the open connections and queries, displays the status of each,
and allows the user to cancel them if necessary.
Allow the user to limit the amount of disk space that must remain free after
any trans action. For example, a user may wish to specify that 1 MB of space
always be free. Cancel any transaction that would exceed the user's limit and
notify the user.
Provide Feedback to the User
Keep the user informed about status, progress, and error conditions, and
allow the user to cancel an interaction whenever possible. Inform the user
before the application becomes modal and the computer becomes un available.
Use the spinning beach ball cursor or the animated wristwatch cursor to
indicate a process that takes several seconds to complete. Use a dialog box to
indicate any process that lasts longer than a few seconds. For example,
connecting to a remote database could take a couple of minutes. In this case
include a Cancel button in the dialog box so that the user can cancel the
operation. When possible, display a progress indicator to show how long a
process lasts. Warn the user before doing anything potentially dangerous or
irreversible, such as deleting all of a user's data files to replace them with
data retrieved from a data source.
When a data retrieval query terminates prematurely, make the data that was
retrieved available to the user with a warning that it is in complete. This
allows the user to evaluate the partial data before deciding whether to run the
query again.