segunda-feira, 11 de outubro de 2010

As Principais Áreas Do Desenvolvimento de Uma Web

Neste momento, proponho uma classificação das principais áreas do desenvolvimento web. Esta classificação não foi extraída de algum órgão oficial (como W3C), nem de algum livro especializado ou mesmo alguma celebridade do mundo da internet. Na verdade, esta classificação sou eu, mesmo, quem estou fazendo, baseado em minha experiência.

E, como se trata de uma classificação feita por um ser humano, que possui limitações naturais e intrínsecas, obviamente que não é algo perfeito. Tanto que, se tiverem alguma consideração a fazer e/ou correções/sugestões, basta comentarem e tentaremos debater mais a respeito.

Por esta classificação, portanto, as principais áreas do desenvolvimento web são:

  • Desenvolvimento front-end e back-end
  • Arquitetura da Informação
  • Usabilidade
  • Web Design
  • SEO
  • Base de Dados
  • Marketing Digital
  • Acessibilidade

Percebam que, na prática, alguns dos itens apresentados como principais áreas do desenvolvimento web “estão contidos” dentro de outros. Por exemplo: “Usabilidade” e “Web Design” estão intimamente relacionados e ambos fazem parte de profissionais da área que actuam com “Desenvolvimento front-end“. Mas, para fins didáticos, pensei ser interessante esta classificação. Através dela, é possível observar, separadamente, os principais segmentos de atuação do desenvolvedor web dos dias de hoje.

Também, como já foi comentado, é bem possível que uma pessoa possa trabalhar e se desenvolver bem escolhendo algumas destas áreas, “genericamente” falando, para actuar – mas, como vimos, não é possível em todas. Eu, mesmo, por exemplo, estou mais focado em SEO e Usabilidade. Entretanto, quem é focado especificamente em algum destes, certamente consegue actuar, especificamente falando, com mais qualidade – porém não conseguindo, amplamente, desenvolver-se em todas as áreas citadas no decorrer de um projeto.

segunda-feira, 4 de outubro de 2010

As 10 regras heurísticas de Nielsen (Usabilidade)

A usabilidade hoje em dia e cada vez mais é importante nos websites, para uma boa experiencia do usuário. Por isso também o SEO tem que levar em conta as regras heurísticas de Nielson que são o príncipio básico da usabilidade que qualquer consultor web deve ter.

1. Feedback:
o usuário deve ser informado sobre o que está acontecendo. As pessoas não conseguem esperar muito para uma página carregar. O tempo máximo que conseguimos captar o foco do usuário sem nenhum evento aconteça na página é 10 segundos.

2. Compatibilidade: o modelo lógico do sistema deve ser compatível com o modelo lógico do usuário. Nada de ser compatível só com o modelo lógico dos programadores, que estão acostumados com fórmulas e enigmas o tempo todo, ou de nenhum outro nicho específico (a não ser que o sistema seja destinado apenas a um determinado grupo de pessoas, como páginas especiais para operadores da bolsa de valores ou um site destinado a médicos cardiologistas, por exemplo).

3. Controle do usuário e liberdade: o sistema deve possibilitar que o usuário pare de executar uma tarefa quando quiser, bem como desfazer operações e retornar ao ponto onde estava. Não pode haver dúvidas sobre o que fazer para sair daquela tarefa. O usuário tem que sentir que está no controle do sistema, senão ele se sente inseguro e vai embora.

4. Consistência e padrões: o sistema deve ser consistente quanto à utilização. Se o menu se comporta de uma forma em uma página do site, é de se esperar que ele se comporte dessa mesma maneira em todas as páginas. Se um link é azul e fica rosa quando o usuário passa o cursor sobre ele, é importante que esse comportamento se repita em todo o site. Essa heurística deve ser a preferida dos designers, que adoram falar de consistência. Não é pra menos: é muito importante que o usuário não tenha surpresas nem tenha que aprender de novo como se usa determinado componente do site.

5. Prevenção de erros: os erros devem ser previstos. Certamente essa heurística é a que precisa de mais experiência por parte do avaliador, pois precisa que ele enxergue a página como um usuário comum. É necessário prever aqui onde as pessoas podem se confundir e para isso é necessário um grande conhecimento sobre pessoas e seus comportamentos. Nesse passo, caso sinta dificuldade, faça um pequeno teste com algum usuário, algo simples, só para saber se realmente não há nada obscuro ou difícil de entender na interface.

6. Reconhecimento ao invés de lembrança: o funcionamento do sistema deve ser intuitivo, sem a necessidade de o usuário ter que lembrar dos comandos a toda tarefa que for executar. Não devemos sobrecarregar a memória das pessoas fazendo-as pensar em “como eu faço mesmo para encontrar aquele menu”. Ele vai se sentir jogando Street Fighter pela primeira vez e tentando lembrar como faz mesmo o raduken. Isso deixa a pessoa nervosa, e a faz sentir que está sendo avaliada de alguma forma. Deixemos a cuca do usuário fresca para pensar em coisas mais importantes, como por exemplo “compro ou não”.

7. Flexibilidade e eficiência de uso: o sistema deve servir tantos para os usuários iniciantes quanto para os mais experientes. Ofereça atalhos para os heavy-users. Eles vão agradecer por isso. Essa etapa o Excel faz muito bem. Ele oferece um comando de menu para realizar a tarefa de colar ou salvar, por exemplo. Mas oferece também atalhos de teclado, para aqueles usuários mais experientes que utilizam o Excel o dia todo economizar tempo e realizar suas tarefas complexas mais rapidamente. Mesma coisa com o link para a home na logo do site, por exemplo. Pode até existir esse link no menu, mas os usuários com mais tempo de internet vão para o logo do site sem pensar duas vezes. Esteja preparado para recebê-los e não decepcioná-los.

8. Estética e design minimalista: o site deve conter somente informações relevantes a realização de tarefas. Coisas irrelevantes desviam a atenção do usuário. E usuário distraído é usuário que não converte. Tente deixar a página limpa e livre de interferências pelo menos perto do elemento de conversão (o botão de comprar ou o formulário de inscrição, por exemplo).

9. Ajuda aos usuários no reconhecimento, diagnóstico e correção de erros: as mensagens de erro devem ser expressas em uma linguagem clara, que evidenciem o que aconteceu, para que o usuário possa tomar as previdências necessárias. Quando o formulário não foi preenchido completamente, por exemplo, deixe claro para o usuário quais campos ele não preencheu de forma adequada e que forma adequada é essa. Ele não vai querer ficar adivinhando o que aconteceu e vai abandonar a página antes de você terminar de falar “conversão”.

10. Help e documentação: o sistema deve apresentar informações fáceis de serem encontradas; já devem vir contextualizadas e bem resumidas. O ideal é que nenhum site necessite de ter uma página ou uma área destinada a ajudar os usuários, já que tudo tem que ser óbvio. Porém, existem casos onde isso é necessário. Em formulários, por exemplo (sim, adoro formulários, por isso dou exemplo sobre eles o tempo todo), em algum campo que necessite de alguma formatação especial, como CPF ou CEP, é importante que esteja claro para as pessoas qual formato elas devem usar. De novo, usuário não gosta de adivinhar. Então é importante jogar limpo com ele.