Quais habilidades você precisa para um design adequado de UI/Interação/Funcional em aplicativos da Web?

StackOverflow https://stackoverflow.com/questions/21869

Pergunta

Quando você desenvolve aplicações web do zero, quais são as habilidades necessárias para produzir produtos utilizáveis ​​e ricos em interação?

  • Você faz o UI Prototype primeiro?
  • Você usa histórias de usuários?
  • Alguma metodologia ágil ou prática recomendada que você recomendaria ou defenderia ativamente?

Resumidamente: Quais habilidades fazem você transcender da coleta de requisitos para o AmazingWebApp™?

Finalmente:Algum livro que você recomendaria?

Foi útil?

Solução

Um bom senso de design.Isso é algo difícil para um programador entender.Às vezes, um programador terá uma boa noção do que funciona, mas não de como criar o que realmente funciona melhor ou bem.Principalmente, requer a capacidade de pegar tudo e estar disposto a movê-lo gratuitamente até que algo funcione.

A maneira como faço isso é descobrir como se alguém pudesse fazê-lo, qual seria a ideia mais lógica e comum de como uma tarefa seria realizada online ou offline, e então ver como replicar isso.Pense curto, breve, claro, acessível e lógico.Se você pode entregá-lo a alguém sem nenhuma orientação e ele pode fazer tudo o que você deseja e muito mais, funciona.Se eles precisam de instruções para fazer tarefas cotidianas em seu aplicativo, é um design ruim.

Eu também diria para dar uma olhada em outros aplicativos que agradam a você em um nível que você talvez nem perceba, mas apenas funciona por algum motivo e tente replicar isso.

Outras dicas

Acho que a melhor coisa que você pode fazer é simplesmente usar o software.

Quando estou trabalhando em aplicativos, costumo enviá-los por e-mail para casa no final da semana (às vezes antes), sair do "modo de trabalho", instalá-lo normalmente (ou seja,não execute a partir do seu IDE) e depois use-o.

É difícil sair do “modo de teste” e realmente “esquecer” que você conhece o aplicativo.Mas uma vez que você entra no ritmo, pode ser REALMENTE útil e muito revelador (e sim, às vezes comovente quando você percebe que aquele "pequeno recurso legal" na verdade é uma merda e precisa ser reimplementado!).

Meu chefe diz que sou "analista" em relação à usabilidade.Eu gosto disso :)

Algum tipo de prototipagem visual (mesmo que seja feita com HTML e CSS) é melhor, eu acho.Minha tentação é começar a codificar e me preocupar com a interface mais tarde, e isso geralmente é o que leva a algo realmente ruim (para mim, pelo menos).Eu desenvolvo isso ©FUNCIONALIDADE MARAVILHOSA e acabo apressando a interface para poder ter rapidamente as ferramentas para acessar meu código.

Esqueci onde ouvi isso, mas, para o usuário final, sua interface É sua aplicação.Se você está tentando agradar o usuário, você deve começar com a interface e deixar que ela dite a funcionalidade que você fornecerá.

As melhores práticas dependem dos talentos dos membros da equipe.

Primeiro, sempre escreva histórias de usuários (faça um evento de equipe, se possível), carregue-as no LighthouseApp.com ou em seu sistema de ingressos favorito - apenas os primeiros 10-20 são tudo que você precisa para começar.

Se você tiver um designer de UI, um protótipo das páginas pode ser útil.Mas, se o desenvolvedor de software tiver habilidades decentes em HTML/CSS, prefiro chegar a um protótipo funcional com UI/HTML/CSS limpo o mais rápido possível.Esta saída pode ser entregue a um "web designer moderno" que pode retrabalhar/decorar o HTML/CSS.O designer deve trabalhar na mesma base de código do desenvolvedor por meio do sistema de controle de origem.

Alguns "designers mais antigos" ficariam ofendidos com a sugestão de "decorar o site" e insistiriam em entregar a um programador um arquivo de Photoshop.Isso pode ser adequado para um site de marketing simples, mas não gosto do processo de construção de um AmazingWebApp™

a galera aqui está dando dicas excelentes.

há uma distinção entre “visualmente bonito” e “funcional” (ou facilidade de uso).você pode realmente ter um sem o outro.este fórum é um bom exemplo, tem uma usabilidade muito alta, mas francamente é feio - desculpe, mas ainda te amo :)

a realidade é que você precisa habilidade para fazer boas interfaces.isso vem com anos de prática.normalmente sou contratado para projetar toda a interface do usuário para um novo aplicativo.Raramente vejo programadores ou designers gráficos com esse tipo de habilidade (é um mercado restrito).descobri que na universidade tinha uma perspicácia natural para HCI, design de UI e análise de usabilidade.desenvolvi ainda mais essas habilidades lendo bastante e adquirindo experiência fazendo muito design de interface do usuário. então, tudo o que estou dizendo é: prepare-se para um trabalho árduo se você realmente quer se tornar bom em design de interface do usuário.você pode fazer o que quiser, mas se estiver gastando tempo estudando design de interface do usuário, isso significa que não estará gastando tempo aprendendo ágil com Ruby on Rails ou qualquer que seja a tecnologia mais moderna.

algumas dicas gerais:

  • se você estiver criando aplicativos de software da web (em oposição a sites de presença de pequenas empresas), a prototipagem lo-fi é excelente.reúna um grupo de pessoas, uma pilha de papel pardo e marcadores coloridos, e você ficará surpreso com quantas telas você pode esboçar em poucos dias.

  • seu software deve ser autoaparente.seu software não deve precisar de um manual do usuário.o CMS que desenvolvi não tem manual do usuário, tenho algumas dezenas de clientes que o utilizam e nenhum deles nunca me pediu manual.

  • observe o que os 'garotos grandes fazem'.se o ebay tiver sua caixa de pesquisa assim:'[......] (Pesquisar)' então faça o seu também (em vez do não padrão, mas ok:'Procurar:[......] (Ir)'.).isso é conhecido como disponibilidade.você está usando a familiaridade das pessoas com outros sistemas para dar-lhes um impulso inicial sobre como seu próprio sistema funciona.

Eu recomendaria esse livro:

também tenho alguns artigos no blog que devem ajudar:

Algumas das coisas que fazemos:

  1. Muitos protótipos, explorando diferentes conceitos tanto no papel, no Photoshop e às vezes em implementações reais
  2. Corte as coisas, seja iterativo.Não tente fazer o aplicativo inteiro e aperfeiçoá-lo na primeira vez (porque você sabe em seu coração que isso não vai acontecer)
  3. Clareza em vez de inteligência, esta é uma das coisas mais recentes que me pergunto ao fazer um trabalho de experiência do usuário. Certos ícones e coisas giratórias podem parecer ótimos, mas são claros e concisos
  4. Concentre-se nos objetivos do usuário. É uma tendência bastante comum dos desenvolvedores focarem em uma tela por vez, uma tarefa por vez.Lembre-se de que não é assim que alguém que usa seu aplicativo pensa, eles têm um objetivo em mente, então tente entrar nisso o máximo que puder
  5. Use o software que você está construindo tanto quanto possível; não há melhor maneira de ver suas falhas, deficiências e problemas do que experimentá-los você mesmo.

@Brian Warshaw - acho que foi de uma palestra que Aza Raskin deu, esse vídeo eu acho

Projetar uma UI completamente inovadora é muito difícil para a maioria dos programadores (sou só eu?).O que considero útil na construção/projeto de UI para aplicativos da web é sempre procurar interfaces de usuário agradáveis, fáceis de usar e elegantes que você encontra enquanto navega na Internet ou usa qualquer outro aplicativo de desktop.Se você apenas encontrar a UI mais eficiente (projetada por outra pessoa, em algum outro lugar) para a tarefa em questão, poderá fazer um bom trabalho de implementação e criação de uma melhor experiência do usuário para seu aplicativo.Por exemplo, enquanto digito esta resposta, gosto da maneira como ela mostra uma visualização em tempo real da resposta, com a opção de 'ocultar a visualização' - eu definitivamente gostaria de usar um tipo semelhante de interação ao construir uma interface de fórum de usuário .

Descobrir o que você está construindo e o que seu produto representa é uma grande chave para construir um aplicativo de sucesso.Recentemente escrevi um post sobre coleta de requisitos que fala um pouco sobre isso.Você pode lê-lo aqui:Como melhorar suas habilidades de coleta de requisitos.

Além disso, aqui estão alguns princípios de alto nível que sigo para ter certeza de construir o produto certo com uma experiência agradável:

Saiba a diferença entre o usuário e o cliente.Os empresários que aprovam o projeto brilhante geralmente são os clientes.No entanto, um erro devastador é a tendência de confundi-los como usuários.O cliente geralmente é a pessoa que reconhece a necessidade do seu produto, mas o usuário é a pessoa que realmente usará a solução (e provavelmente reclamará mais tarde sobre um requisito que o seu produto não atendeu).Vá para mais de uma pessoa

Porque somos todos humanos e tendemos a não nos lembrar de cada detalhe doloroso.Você aumenta sua probabilidade de encontrar requisitos perdidos à medida que conversa com mais pessoas e faz verificações cruzadas.

Evite promoçõesQuando um usuário solicitar algo muito específico, tenha cuidado.Sempre questione os preconceitos e veja se isso realmente tornará o seu produto melhor.

ProtótipoNão espere até o lançamento para mostrar ao usuário o que você tem.Faça protótipos frequentes (você pode até chamá-los de versões beta) e obtenha feedback constante durante todo o processo de desenvolvimento.Você provavelmente encontrará mais requisitos ao fazer isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top