Thoughts about web and app design

General Principles

The objective of design is to help people achieve something in an efficient, easy and satisfactory way. It all depends on the user experience and the holistic cohesion of every team involved in the creation of a product to make it the best it can be.

To achieve that, websites and applications should be user-centric. Users use them because they need to solve a problem, even if it's not easy to identify. Thus, products must have a sharply defined “purpose” that is focused on helping users accomplish their goals while removing all the obstacles and efforts from the way.


Product definition:

What is the product? What is the product goal? Who is the user? What is the need of the user? What features are necessary to fulfill the user need? When and where will the user use the product? What is the objective of the business? Keep it simple, and solve a specific problem somebody has. Complete this sentence: "The user is a ... who wants to ...". Talk to potential users, ask open ended questions about usage, frustrations, and observe real usage. Show empathy for the user, think: "What would mom do?".


  • Interviews
  • Usage observation
  • Personas
  • Scenarios


a) Information architecture:

There has to be a logical grouping of information. Consider how users think about information, what is the flow of information and how is digested. Put it easy to scan for the user. Don't make him think nor memorize. Limit choices. Minimize the interaction cost by reducing the need for typing and required actions to achieve their objective. Be very clear about what’s important and what isn’t. Write text as if you’re explaining it to your parents: simple, short, clear and easy to understand. Good navigation should feel like an invisible hand that guides the user along their journey.


  • User flow
  • Card sorting
  • Sitemap tree test

b) Visual design:

Create a consistent and simple look and feel. Don't blindly copy common user flows, try and test options that define the ideal user experience. Design should be backed up by data, research, and analysis. Use accent colors for actions and attention. Use different shades of the text color for hierarchy. Use recognizable patterns and symbols. Use motion to help users understand what is going on. Introduce subtle delightful actions. Have one primary and clear CTA action per screen. Work cheap and quick, paper and code can be the best approach.


  • Wireframes
  • Mockups
  • Prototypes


Analyze user behavior and usage. Measure the important metrics. It is efficient to use? Is it delightful to use? Is the application fast and reliable? Spend time with users. If something isn't used as expected, don't rage on users, understand why they don't get it and fix it. Remember your job is to help users achieve their goals. Rely on high-contrast tests to improve the user experience.


  • Tasks tests
  • User journey map
  • A/B testing
  • Analytics
  • Surveys
  • Performance tests