Blooper 16: Not showing busy cursor

    From GUI Bloopers, by Jeff Johnson (Morgan Kaufman Publishers, 2000). Used without permission.

    Busy cursors (also known as "wait cursors" in most GUI platforms (left) and on Macintosh (right))

    Why show a busy cursor?

    • Changing a cursor is a great way to show users the status of a GUI because the pointer is almost always where users will be looking
    • The busy cursor must be displayed by application software when it begins executing a function that will take a noticeable (by users) amount of time and blocks other user activity.
    • It's a form of feedback, and feedback is important.

    Design Rule: Show busy cursors for any function

    • In general, interactive applications should be highly responsive to users. This means
      • keeping up with users' actions
      • keeping users informed of program status
    • Display busy cursors for any function that blocks further use of the application, even if the function normally executes instantaneously. The rule is that any function that could ever take longer than 0.1 second to complete should display a busy cursor.
    • Display progress indicators (e.g., progress bars) for functions that will take more than a second.
    • Spawn threads whenever possible to free the user interface so users can work on other things while waiting for the function to complete