Blog‎ > ‎

Design Principles

posted Jun 13, 2014, 5:00 PM by Taylor Peterson   [ updated May 20, 2015, 9:35 PM ]

  • Favor minimal material removal
  • Where possible, design parts to allow for single-side machining
  • Consider maintenance
  • Be conscious of fine vs. coarse threads - fine are less likely to vibrate out
  • Let design dictate the pattern, not the other way around
  • be wary of premature optimization and generalization
  • One of your jobs is to think like a total idiot and figure out how this product is going to be misused. -- Charles Fleddermann
  • Avoid blind holes - user through holes or leave extra space (over-length screws, wrong tap, gunk in the bottom, etc. can introduce difficulties)
  • Good information software reflects how humans, not computers, deal with information.
  • Feedback should be instantaneous - autocompleting/responding to things as you type them, etc. 
  • Read Tufte on the visual display of information
Source: The Design of Everyday Things by Donald A. Norman
  • The designer has to pay attention to the user!
  • The appearance of the device must provide the critical clues required for its proper operation - knowledge has to be both in the head and in the world. 
  • The design must convey the essence of a device's operation; the way it works; the possible actions that can be taken; and, through feedback, just what it is doing at any particular moment. Design is really an act of communication, which means having a deep understanding of the person with whom the designer is communicating. 
  • Constrain the options so that the user can only do the right thing. 
  • When instructions have to be pasted on something, it is badly designed. 
  • Appropriate actions should be perceptible and inappropriate ones invisible. 
  • Natural signals are naturally interpreted, without any need to be conscious of them (e.g. vertical plates on the side of doors to be pushed). 
  • Added functionality generally comes at the price of added complexity
  • If an error is possible, someone will make it. The designer must assume that all possible errors will occur and design so as to minimize the change of the error in the first place, or its effects once it gets made. Errors should be easy to detect, they should have minimal consequences, and, if possible, their effects should be reversible. 
  • Knowledge in the world acts as its own reminder. It can help us recover structures that we otherwise would forget. Knowledge in the head is efficient: no search and interpretation of the environment is required. In order to user knowledge in the head we have to get it there which might require considerable amounts of learning. Knowledge in the world is easier to learn, but often more difficult to use. And it relies heavily upon the continued physical presence of the task environment. 
  • Don't think of the user as making errors; think of their actions as approximations of what they desire. When someone makes an error, there is usually a good reason for it. 
  • Put the required knowledge in the world. Don't require all of the knowledge to be in the head. Yet do allow for more efficient operation when the user has learned the operations, has gotten the knowledge in the head. 
  • Design should: make it easy to determine what actions are possible at any moment (make use of constraints), make things visible, including the conceptual model of the system, the alternative actions, and the results of actions; make it easy to evaluate the current state of the system; and follow the natural mappings between intentions and the required actions, between actions and the resulting effect, and between the information that is visible and the interpretation of the system state. In other words, make sure that the user can figure out what to do and that the user can tell what is going on. 
  • If a skill is easily automated, it isn't essential.