Os principios fundamentais:
* Antecipação - Não espere o usuário procurar pela informação ou serviço, um bom design de interação é aquele que causa surpresas positivas no usuário, Tente adiantar ao máximo a informação (conhecer bem seu público-alvo é essencial).
* Autonomia - Tudo "pertence" ao usuário. Dê autonomia, mas com regras, limites. Deixe-o pensar que controla tudo.
Use mecanismos de status, para manter usuários cientes informados e manter a informação em fácil localização.
* Cores - Use cores para complementar sua informação. Mas mantenha o visual clean. Cores podem passar mais informação do que parece, tudo depende do contexto social.
* Consistência - O mais importante da consistência é estar de acordo com as expectativas do cliente.
* Defaults - os defauts devem ser "inteligentes" e relacionados com o contexto.
* Foco no usuário - Olhe para o usuário, não para o computador. Mantenha o usuário ocupado. Deixe mensagens para ajuda, e faça-as ajudar a solucionar o problema.
* Interfaces Exploráveis - Não dê toda informação. Prenda o usuário, mas mantenha fácil e acessível. O usuário gosta de se sentir em casa. Sempre habilite "retroceder".
* Lei de Fitt - "O tempo para atingir um alvo é uma função a distância a e tamanho do alvo." O tempo que você vai levar para atingir seu objetivo depende diretamente do tamanho desse objetivo e quão longe ele está de você.
* Objetos Humanos de Interface - São todas as coisas que podem exercer influência no usuário, podem ser vistas, ouvidas, tocadas, ou percebidas de outra maneira.
* Aprendizagem - Todas as aplicações e serviços, não importa quão simples, indicarão uma curva da aprendizagem.
* Metáforas, O Uso de - Metáforas podem criar figuras visíveis na mente, e elas deixam o processo de entendimento da interface mais fácil. Sempre uma comparação do cotidiano é melhor do que apenas a explicação da teoria.
* Proteja o trabalho do usuário - Assegure-se de que os usuários nunca percam seu trabalho em conseqüência do erro em sua parte, geralmente erros são "imperdoáveis" por parte dos usuários.
* Leitura - Deixe a leitura em seu site o mais fácil possível. Ler em tela geralmente é chato, tente minimizar a chatice dessa tarefa ao máximo.
* Navegação Visível - evite a navegação invisível, é mais para sites dinâmicos, por exemplo blogs, onde todos podem entrar e comentar (a famosa onda de interatividade, web 2.0) é bom sempre ter um controle da informação que está correndo no seu site, para evitar "prejuízos" futuros, já que esse conteúdo é de sua responsabilidade.