GUI Clients (Cont.) Allow the user to cancel blocking operations, without causing a complete abort, or losing data for the user (e.g. if the user filled a dialog box and pressed the 'save to server' button, the 'Cancel' button should NOT close down that dialog box, forcing the user to re-fill it). If there is a connectivity problem - let the user know that, via some visual queue (e.g. placing a 'disconnected' button at the application's status bar), so the user will know not to try working things up, and will also know that the view they see might be out of sync.