<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="design-principles" xml:lang="pt-BR">

  <info>
    <credit type="author">
      <name>Allan Day</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
    <desc>Diretrizes e conselhos em geral sobre design.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Georges Neto</mal:name>
      <mal:email>georges.stavracas@gmail.com</mal:email>
      <mal:years>2014,</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Rafael Fontenelle</mal:name>
      <mal:email>rafaelff@gnome.org</mal:email>
      <mal:years>2017-2021</mal:years>
    </mal:credit>
  </info>

<title>Princípios de design</title>

<p>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.</p>

<section id="focus">
<title>Dê ao seu aplicativo um foco claro</title>

<p>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.</p>

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

</section>

<section id="complexity">
<title>Mantenha a complexidade da interface de usuário em um mínimo</title>

<p>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.</p>

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

</section>

<section id="progressive-disclosure">
<title>Use divulgação progressiva para mostrar controles quando forem necessários</title>

<p>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.</p>

<p>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.</p>

</section>

<section id="work">
<title>Exija o mínimo possível de trabalho do usuário</title>

<p>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.</p>

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

</section>

<section id="hierarchy">
<title>Crie uma hierarquia clara</title>

<p>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.</p>

<p>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 <link xref="visual-layout">layout visual</link> para mais detalhes.</p>

</section>

<section id="content">
<title>Priorize o conteúdo</title>

<p>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.</p>

<p>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.</p>

</section>

<section id="errors">
<title>Antecipe erros</title>

<p>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.</p>

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

</section>

<section id="interruptions">
<title>Evite interrupções</title>

<p>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.</p>

<p>Use <link xref="notifications">notificações</link> 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.</p>

</section>

<section id="search">
<title>Forneça um pesquisa rápida e efetiva</title>

<p><link xref="search">Pesquisa</link> é 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.</p>

<p>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.</p>

</section>

<section id="options">
<title>Use opções de configuração com moderação</title>

<p>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.</p>

</section>

<section id="name-and-icon">
<title>Dê a seu aplicativo um nome instrutivo e um ícone atrativo</title>

<p>O <link xref="application-basics#application-names">nome</link> e o <link xref="icons-and-artwork#application-icons">ícone</link> 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.</p>

</section>

<section id="emotion">
<title>Use emoção e humor (moderadamente)</title>

<p>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.</p>

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

</section>

</page>
