next up previous
Next: F. Failure? Fix on Up: Design Principles Previous: C. Constrain

E. Expect error

This obvious principle is often forgotten, perhaps because it is so difficult to handle well. To the best of their ability, designers need to anticipate the inevitable errors that a user will make. Of these, those that can be prevented by design should be. Those that remain should be handled gracefully with feedback to the user so that they are at least aware of the error and have some chance for recovery.

In Quail, the previous principles have been applied to the design with the hope that error is minimized. Commonly used functions (e.g. scatterplot) will prompt the user for missing arguments. Example files providing tutorial instruction and an interactive help system help educate the user on proper use of at least the programmatic interface to Quail. When all else fails, errors at execution time bail out to the default error handling facility of the underlying Common Lisp system - not always the most helpful place to leave a user.




2000-05-17