It is very frustrating to have to wait for an inadvertently launched program to load, and then perhaps go through a protracted dialogue in order to quit it.
The writing of this pattern was occasioned by the author watching a colleague attempting to use Microsoft Exchange version 5 on a Macintosh. It exemplifies an anti-pattern, and is explored here.
My colleague was not sure if he was registered on the system yet, and
so launched it to find out. After launching the program and entering
details in the initial modal dialogue box, the response from the system
was:
The required instructions are at the bottom of the panel, and — once you find them — are rather counter intuitive! Carrying them out takes an appreciable period of time, as the remainder of the program must first load, before it can be unloaded. The user has been forced through a protracted and perverse sequence of manipulations. In this case, making the cancel button on the initial user name and password entry modal dialogue actually cancel the program (perhaps relabeling it "quit"), and giving an explicit "work off-line" option, together with a quit option on the "logon credential supplied were incorrect..." modal dialogue, would deal with the problem.
As this example illustrates, when the user wishes to quit a program, they wish to do it in the most intuitive and rapid way possible. They may even wish to quit during the initial loading process of the system!
Therefore:
At all times ensure that the option to quit a program is immediately and obviously available (if possible even during the initial loading of the program) and that access to the option is not masked by modal dialogues.
If the option to quit is exercised after work on data manipulated by the program has been completed, the option to SAVE THE WORK (#) done so far should be presented . . . .