Criar uma interface do usuário
Esta seção descreve em detalhes algumas das tarefas associadas à criação de uma interface do usuário para um aplicativo do Windows.
Introdução
A criação da interface do usuário pode ser dividida em três elementos essenciais: funcionalidade, estética e desempenho.
Na maioria das vezes, o foco principal durante o desenvolvimento de aplicativos é a funcionalidade. O aplicativo é utilizável? Ele permite que os usuários concluam tarefas? Porém, a funcionalidade é apenas uma parte da história.
A estética descreve como as coisas são mostradas e apresentadas, o estilo em que as coisas são comunicadas ao usuário. A estética é muito subjetiva e muito mais difícil de quantificar do que os requisitos funcionais e as métricas de desempenho. A estética frequentemente se resume a escolhas simples (como as cores se complementam ou como os elementos da interface do usuário transmitem seu significado) que geralmente afetam a forma como uma pessoa se sente sobre algo e influenciam o sucesso de usá-lo.
O desempenho é medido não só pela velocidade, mas também pela confiabilidade. Se um aplicativo tiver uma ótima aparência, for fácil de usar, mas travar repetidamente, provavelmente não terá muito sucesso. O aplicativo deve fornecer ao usuário total confiança em sua confiabilidade.
Veja a seguir algumas tarefas da fase de criação que podem contribuir para uma interface do usuário bem-sucedida de um aplicativo do Windows.
Requisitos funcionais
Considere as seguintes sugestões no início da fase de design e otimize a experiência do usuário para o maior público possível:
Siga as diretrizes de criação da interface do usuário.
Familiarize-se com as Diretrizes de interação da experiência do usuário do Windows e consulte-as frequentemente à medida que a criação, a implementação e os testes da interface do usuário do aplicativo avançam.
Certifique-se de que a interface do usuário seja acessível.
Certifique-se de integrar a acessibilidade à criação da interface do usuário desde o início do ciclo de vida do produto. A adaptação da acessibilidade pode ser extremamente cara, pois parte do desenvolvimento da acessibilidade requer atenção no nível arquitetônico. Para obter mais informações, baixe o eBook Engineering Software for Accessibility.
Suporte no marketplace internacional.
O Windows inclui tecnologias que permitem o suporte para muitas culturas e idiomas escritos em um aplicativo do Windows. Se o aplicativo estiver direcionado ao marketplace internacional, será importante incluir o suporte à internacionalização na criação da interface do usuário desde o início do projeto. Para obter mais informações, consulte Internacionalização para aplicativos do Windows.
Análise do usuário
Uma etapa crítica na criação de uma interface bem-sucedida é obter uma compreensão básica do que os usuários precisam e desejam de um aplicativo antes de escrever qualquer código. Lembre-se de que os usuários em potencial de um aplicativo já estão fazendo seu trabalho de alguma forma e as ferramentas e processos existentes devem ser compreendidos da forma mais completa possível. Não crie sem considerar totalmente essas questões.
A abordagem mais simples e informal é conversar com os usuários-alvo do produto. Obtenha informações diretamente da fonte, evite usar gerentes ou executivos como proxies para consumidores reais. Considere fazer com que pequenos grupos de desenvolvedores e gerentes de programa façam visitas informais aos usuários em seus locais de trabalho, onde há oportunidades de discutir como eles trabalham e coletar detalhes dos problemas que enfrentam com suas ferramentas atuais.
Lembre-se, não faça perguntas tendenciosas, pois isso afetará diretamente a qualidade e a validade do feedback do usuário. Lembre-se do seguinte ao elaborar perguntas durante esta fase:
- Quem são nossos usuários? Que habilidades e conhecimentos eles têm?
- Que diferentes fontes de dados podemos usar para compreender sua experiência?
- Para quais objetivos e tarefas eles usarão nosso produto?
- Que suposições estamos fazendo e como podemos verificá-las?
- Quais fontes de dados temos? (Estudos de usabilidade e avaliações heurísticas são bons pontos de partida.)
Declarações de problemas
Depois que todos os comentários do usuário forem coletados, analise e sintetize-os em questões e requisitos relacionados. Evite pensar em soluções neste momento. Certifique-se de que os problemas sejam totalmente identificados, não apenas os sintomas.
Geralmente, é bom elaborar uma lista de declarações de problemas de uma frase (da perspectiva dos usuários) para cada questão ou requisito. Por exemplo, "Redimensionar a largura da caixa de edição para 15 caracteres" não é um problema. Mas "É muito difícil digitar termos de pesquisa longos" é uma declaração de problema válida. A diferença é marcante. Tente não definir a solução e o problema ao mesmo tempo, pois muitas vezes o problema real se perde. Neste exemplo, pode haver muitas outras formas de resolver o problema dos termos de pesquisa, incluindo a alteração do tamanho da caixa de edição. Sempre considere soluções alternativas.
Veja a seguir exemplos adicionais de declarações de problemas:
- É difícil navegar entre as seções do site.
- Os usuários precisam esperar muito tempo para que o software seja carregado.
- Nossas mensagens de erro de segurança são difíceis de entender.
- A página de registro tem muitas perguntas e os usuários geralmente a abandonam.
- É muito difícil encontrar um produto específico no índice do site.
Se as declarações dos problemas forem amplas o suficiente, provavelmente haverá muitas formas inovadoras e criativas de resolvê-los.
Prioridades
O ato de pegar uma lista de itens e classificá-los por prioridade define uma versão. Sem prioridades claras, as equipes podem brigar e discutir sobre o que deve ser feito e o que deve ser cortado. O trabalho envolvido na definição de prioridades deve ser mais fácil com a pesquisa feita, mas é sempre um desafio.
Definir prioridades exige a capacidade de avaliar pelo menos três critérios: cronograma, equipe e negócios. Pode haver um cronograma predefinido para o projeto, o que limita o tamanho e a escala do trabalho que pode ser feito. Um problema que provavelmente exigirá reescrever metade da base de código não deve ser abordado durante um ciclo de lançamento curto.
A composição e a natureza de uma equipe definem que tipos de trabalho podem ser realizados. Que outros compromissos a equipe tem? Há um designer ou engenheiro de usabilidade na equipe? Quais habilidades com Web ou criação de interface do usuário a equipe tem? Por último, e mais importante, estão as considerações comerciais. Quais são as metas de receita para este projeto? Quem são os concorrentes? Quais são os benefícios de solucionar determinados problemas? Que parcerias podem ser estabelecidas? Quaisquer outras considerações também devem ser identificadas antes da priorização da lista.
Uma vez priorizada, a lista de declarações de problemas define a direção do produto e garante que o desenvolvimento seja direcionado para as áreas certas.
Design conceitual
Normalmente, a interface do usuário não é abordada na fase de criação conceitual. Porém, esta fase exige um modelo de negócios amplo, com perfis de usuários e cenários de uso completos, o que é essencial para uma experiência de usuário bem-sucedida.
Design Lógico
A fase de criação lógica é quando os protótipos iniciais que dão suporte à criação conceitual são desenvolvidos.
As tecnologias específicas de hardware e software a serem usadas durante o desenvolvimento também são identificadas nesta fase, o que pode determinar os recursos da interface do usuário no produto final. Para obter mais informações, consulte Tecnologias de interface do usuário.
Além das ferramentas de desenvolvimento, os diversos requisitos de hardware e fatores forma que serão alvos do aplicativo devem ser identificados.
Design físico
A fase de criação física determina como uma criação de interface do usuário deve ser implementada para o hardware e os fatores forma específicos que foram identificados na criação lógica.
É durante essa fase que as limitações de hardware ou fator forma podem inserir restrições inesperadas na interface do usuário que exigem refinamentos significativos na criação.