Guiding Principles for Design Tools

A tool should be easy to use, meeting the user at his or her point-of-view rather than requiring the user to gain expertise about the tool itself.

A tool should be open-ended, allowing any possible output.

A tool should make the user’s iterative process visible and navigable.

A tool should expand rather than limit or corral the user’s thinking.

A tool should help the user to develop an intuition for the problem space, its inherent constraints and the relationships between properties.

A tool should help the user to break the problem down and work through its components while keeping the whole in mind.

A tool should be adaptable to the user, capable of being transformed by its own design process.