Principles

Design is political. Here are some fundamental principles I (try to) follow when designing and building software.

  1. Be honest
    Be honest about what you can accomplish, be honest about intentions, be honest about shortcomings.
  2. Simple is better than complex
    When there is a simple solution to a problem, use it. Complexity is never something to be proud of.
  3. Aim of openness
    You won’t think of everything. Open solutions allow others to add what you missed.
  4. Have opinions
    If you try to make things everyone likes, no one will love them. Have an opinion, take a stand, even if that means someone will be unhappy.
  5. Make it last
    Your creating should last. Make sure to use solutions which are sustainable and don’t rely on others who have different objectives.
  6. Don’t follow trends
    Just because everyone else is doing it, doesn’t mean it’s right.
  7. Ship only when it’s ready
    Only release the product when it’s fully baked. The world has to deal with enough mediocrity already.
  8. Stay independent
    Don’t become dependent on frameworks, platforms, or investors.
  9. Think of everyone
    Good design is accessible design. Think about others, think globally.
  10. Creativity is human
    Machines and software are tools for us to express ourselves. They can never be allowed to substitute human creativity for algorithms..