Allan Day
aday@gnome.org

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Diretrizes e conselhos em geral sobre design.
Georges Neto
georges.stavracas@gmail.com 2014,
Rafael Fontenelle
rafaelff@gnome.org 2017-2021

# Princípios de design

Os princípios de design a seguir constituem um conjunto de regras gerais que, quando seguidas, permitirão que você produza uma experiência de alta qualidade para seus usuários.

# Dê ao seu aplicativo um foco claro

Objetivos claros e definidos detalhadamente são a chave para um bom design. Identifique um conjunto de coerência conceitual de funcionalidade que você deseja fornecer, e tenha cuidado para evitar atrasos na missão. Um aplicativo que tenta fazer muitas coisas diferentes acabará sendo complexo e potencialmente confuso para outros.

Lembre-se: o melhor aplicativo fornece uma solução elegante para uma área de tarefa específica.

# Mantenha a complexidade da interface de usuário em um mínimo

Todo controle e pedaço de informação que você adicionar a seu aplicativo cria trabalho adicional para usuários, e aumenta a complexidade de seu aplicativo – potencialmente tornando-o mais difícil de menos agradável de usar. Portanto, inclua apenas controles e informações essenciais em sua interface de aplicativo.

Ao adicionar um novo controle ou pedaço de informação, sempre pare um momento para questionar se é necessário.

# Use divulgação progressiva para mostrar controles quando forem necessários

Mostrar todos os controles possíveis a todo momento dificulta o uso de um aplicativo, já que usuários têm que navegar por controles que geralmente não são relevantes. Em vez disso, mostre apenas controles quando eles forem necessários. Isso simplifica o uso de aplicativos, mesmo se a mesma quantidade de funcionalidade for fornecida.

Há várias formas de divulgar progressivamente os controles, de usar diferentes visões ou modos, a mostrar controles transitórios ou flutuantes quando itens de conteúdo em particular forem selecionados.

# Exija o mínimo possível de trabalho do usuário

Um aplicativo que é trabalhoso de usar pode se tornar uma fonte de irritação. Então, esforce-se para fazer seu software trabalhar para seus usuários, e não o contrário. Toda vez que seu aplicativo precisar de entrada de usuários, seja usando controles seja fornecendo informações, pergunte-se se é possível fazer isso funcionar para eles.

Tente evitar a necessidade de uma tela ou assistente de instalação manual, e facilite voltar para conteúdo recentemente usado.

# Crie uma hierarquia clara

As pessoas tendem a “ler” uma interface da esquerda para direita, de cima para baixo. Os itens que são encontrados primeiro são vistos como sendo dominantes sobre aqueles que vêm depois. Use essa hierarquia implícita para comunicar com partes de seu aplicativo que são as mais importantes.

Posicione os controles mais importantes no sentido superior-esquerdo de suas janelas e coloque os controles dominantes antes de outros controles que eles afetam. Veja as diretrizes de layout visual para mais detalhes.

# Priorize o conteúdo

Aplicativos geralmente apresentam o conteúdo, independente de ser imagens, texto, mensagens ou dados mais complexos. É este conteúdo nos quais seus usuários estarão interessados e muitos controles e elementos de interface de usuário retirarão o foco de sua atenção.

Dê ao conteúdo quanto espaço for possível em sua interface de usuário, reduzindo o número de controles. Não afaste o objeto de interesse primário com informações secundárias.

# Antecipe erros

Pessoas cometem erros. Antecipar esses erros evitará consequências danosas, e vai tornar seu aplicativo mais agradável e satisfatório de usar. A primeira linha de defesa aqui é projetar seu aplicativo de forma que erros não possam ser cometidos. Em segundo lugar, se for possível cometer erros, facilite a recuperação.

Corrija automaticamente entradas potencialmente inválidas, e sempre possibilite desfazer operações destrutivas.

# Evite interrupções

Interrupções causam frustração e incômodo, e evitam que pessoas tenham foco no que elas estão interessadas. Projete seu aplicativo de forma a ficar fora do caminho quando ele não estiver sendo usado, e a não surpreender quando estiver sendo usado.

Use notificações com restrição, sempre evite aparecimento espontâneo de diálogos sem que seja a intenção do usuário, e evite mecanismos de feedback interruptivos como diálogos de mensagem.

# Forneça um pesquisa rápida e efetiva

Pesquisa é um mecanismo poderoso que possa ser usado para localizar rapidamente conteúdo. Forneça-a quando você apresentar grande quantidade de conteúdo, seja na forma de lista ou de grades. Quando você fornecer uma função de pesquisa, é vital que esta seja mais imediata possível, e que ela retorne os resultados que são pesquisadas por seus usuários.

GNOME 3 também fornece um recurso de pesquisa integrado. Integrar a pesquisa de aplicativo nele dá às pessoas uma forma rápida e fácil de acessar o conteúdo fornecido por seu aplicativo.

# Use opções de configuração com moderação

Adicionar opções geralmente parece ser uma simples correção de design. Porém, a maioria das pessoas nunca verão ou usarão opções de configuração. Em vez de adicionar opções, tente fazer o comportamento padrão de seu aplicativo funcionar para a maior número de pessoas possível.

# Dê a seu aplicativo um nome instrutivo e um ícone atrativo

O nome e o ícone do seu aplicativo são duas das coisas mais expressivas dele, então projeta-as de forma a comunicar sua função e identidade. Certifique-se de que as pessoas vão entender o propósito de seu aplicativo a partir de seu nome. Certifique-se de que você tenha um ícone de aplicativo bonito e reconhecível, para dar ao seu aplicativo uma identidade visual atrativa e distinta.

# Use emoção e humor (moderadamente)

Usados efetivamente, emoções e humor podem aumentar a experiência fornecida por seu aplicativo, e ajudam a desenvolver um relacionamento positivo com seus usuários. Mas tenha cuidado para não extrapolar no uso dessas técnicas – é muito mais efetivo pegar um número pequeno de momentos para usar emoções, em vez de sair espalhando-os por toda interface de usuário.

Seja receptivo quando seu aplicativo é usado pela primeira vez. Usar humor quando as coisas dão errado é uma outra técnica efetiva.