My Design Principles

This list is based on the original Google design team’s UI principles, which I helped draft in 2004-ish. Google updated its UI principles and published them around 2008, when Irene Au started working on publicly promoting the team and its work outside of Google. Personally, I don’t find the new ones to be as memorable or as actionable; I’ve continued to stick with these when doing design work or talking other designers. I’ve added and removed a few over the years; and different jobs usually require a few tweaks depending on their particular corporate culture. 
Special props to Lilly Irani, who helped on the original list.


  • When in doubt, take it out. 
    It’s easier to add features later than remove them.

  • Only one thing can be the most important. 
    If you make everything big and red, nothing stands out. Give the user only the minimal and necessary information they need to make a decision.

  • Minimize carpal tunnel syndrome. 
    It’s easier to click a bigger target than a smaller one. Minimize the number of physical manipulations it takes to perform any given action. Don’t use a dropdown when you can use radio buttons or links. Autoposition cursors. Drag-and-drop is not always the best solution.

  • People can’t make a mistake if you only give them one choice. 
    One or two thoughtful options are better than every possible choice. The more choices you give someone the more time it takes them to decide.

  • Make the computer do the work, not the people. 
    Make the computer guess what the user wants - don’t make the person guess what the computer wants. Don’t make users structure their own data: automate, prefill, guess, and parse. Just because we can’t perfectly handle every weird address format that someone might enter doesn’t mean that we can’t speed up the lives of the 98% of people who will enter something recognizable.

  • Make the easy things easy, make the hard things possible! 
    Design for the most common use case. The UI does not need to specially handle or make users aware of all the corner- and 0.01% use cases that the server and backend need to handle.

  • It doesn’t need to be perfect — it just needs to be BETTER. 
    Something is better than nothing. A good launched product that enables computer support for tasks that previously were tedious and manual helps the world more than an unlaunched perfect UI. Make sure the user can accomplish their main goals and can’t make any catastrophic errors, and then LAUNCH! You don’t have to perfectly optimize every single interaction.

  • Pretty is important. 
    We all spend our time to look extra nice when we need to persuade someone: first date, job interview. Taking the time to look nice is a way to show respect; it always has been in human culture, and it always will.

  • Speed matters. 
    Do you want to drive on the freeway at 45mph or 75mph? Do you want to wait 5 seconds for your email or 0.5 seconds? Users have better things to do with their time than wait for our website - respect them.

  • Users matter more than we do. 
    What’s right for our users is more important than what’s right for us, our roadmap, or inter-team harmony. Make decisions based on user happiness, not internal politics.