Guidelines for good software

From gvSIG CE Wiki

Jump to: navigation, search

Here you will find a list of design principles that we'd like you to keep in mind when designing new features for gvSIG CE or reviewing/improving existing ones.

  • Eliminate Distractions:The user interface should not distract the user from the task he/she wants to accomplish
  • Minimize Steps: The steps to accomplish a task should be kept to a minimum.
  • Increase Beauty and Elegance: Make the program beautiful and elegant by using design principles that are visually appealing as well as functional.
  • Increase Options to Customize: Strive to have user preference settings for all aspects of the program.
  • Create Multiple Work Flow Options: Multiple ways of doing tasks are usually better than one fixed way that all users must follow.
  • Improve Clarity: Make all aspects of the program clear, even seemingly inconsequential aspects.
  • Allocate Screen Real Estate by Importance: Have the most important aspects of the program occupy the most important screen real estate and minimize the space used by less important aspects of the program.
  • Avoid Redundancy: The more features, the more opportunities for bugs to crop up. Do not duplicate functions that are already available elsewhere. Rather improve the ones that exist.
  • Eliminate Bugs: This is obvious. But sometimes the rush to add new features leaves a wake of features that are buggy, or a bug is given a low priority because it doesn't crash the program but to the user it is important because it negatively impacts his/her experience.