Interface Humano-Computador

Ricardo Dias
Contexto Delimitado
7 min readJul 25, 2019

A área de Interface Humano-Computador tem tomado uma proporção cada vez maior entre as empresas de desenvolvimento de software, principalmente na construção de aplicações mobile.

Até conhecer o assunto de fato, confesso que não dava muita importância e achava até desnecessária uma engenharia especificamente voltada à criação de interfaces. No entanto, ao deparar com a importância de tal estudo, aprofundei nos conceitos que permeiam a disciplina e me surpreendi.

Por esse motivo, tenciono compartilhar esse conhecimento, para que mais pessoas possam se conscientizar da importância e considerar a elaboração de interfaces mais assertivas, para atingir os objetivos e agregar valor competitivo aos softwares de qualquer empresa.

Afinal, o que é Interface Humano-Computador?

A Interface Humano-Computador (IHC) é uma área da computação que busca, sobretudo, entender como as pessoas usam os computadores e fazer a investigação de outras formas de interação.

Segundo Appel et all (1999), a IHC “tem como objetivo proporcionar uma comunicação entre usuário e sistema computacional mais natural, semelhante à comunicação entre seres humanos. Um conceito fundamental no desenvolvimento de IHC é a usabilidade, que diz respeito a todas as características que permitem ao usuário interagir com o computador com satisfação … deve ser levada em consideração primeiramente a opinião do usuário, além das opiniões dos outros profissionais envolvidos no desenvolvimento do sistema de software”.

Em outra palavras, a interface de um software deve ser elaborada levando em consideração as características cognitivas e emocionais do ser humano.

A “não interface” é a melhor interface

Para interagir com um software, primariamente utiliza-se a interface, onde é possível acessar as opções e informações que possibilitam gerenciá-lo. Se existir dificuldade para entender as informações da tela e for necessário procurar suas funcionalidades, o software não será tão útil.

Os pesquisadores Nielsen (2000), Rocha e Baranauskas (2003) e Norman (2006), relatam que uma boa interface é a não interface, ou seja, o ideal seria ter uma interface tão simples e fácil de utilizar, que as pessoas iriam, naturalmente, interagir com ela. Uma interface realmente simples abstrai a preocupação de entender como fazer as ações, pois a própria interface conduz as pessoas para o próximo passo.

Grande parte dos usuários consideram um sistema ruim com base no fato de não conseguirem utilizá-lo. Geralmente eles desconsideram fatores como a velocidade de processamento, a quantidade de funcionalidades e a forma como as informações são armazenadas. Para o usuário leigo, todas as características do software consistem na interface. Se as pessoas não conseguem utilizar a interface, elas tendem a desvalorizar todo o potencial da aplicação.

Com a afirmação acima, não estou dizendo que devemos nos preocupar apenas com a interface! Somente uma boa interface não é suficiente para um software de qualidade, pois também é necessário que ele seja rápido no processamento e seguro no armazenamento das informações. De nada adianta uma interface perfeita em um sistema que trava ou que expõe informações sigilosas.

Segundo Donald A. Norman, para desenvolver uma boa interface é preciso seguir quatro princípios básicos.

  1. Visibilidade e affordances: as pessoas precisam ver apenas o que é importante, ou seja, se a pessoa não é uma administradora do sistema, não deverá ver as funcionalidades deste contexto, mesmo que estejam desativadas para ela. Quando algo é bloqueado para uma pessoa, isso não deve ser exibido! Isso ajuda a manter a interface limpa e fácil de entender. A interface deve possuir um design que forneça “pistas” de como deve ser usada, ou seja, cada objeto deve ser percebido e seu objetivo naturalmente entendido. Quando há preocupação com a affordance, o usuário sabe o que deve ser feito somente olhando, ou seja, não é necessário apresentar rótulos ou instruções.
  2. Bom modelo conceitual: o usuário deve perceber, naturalmente, como fazer a ação e o que vai acontecer depois que ela for feita. Quando não há um bom modelo conceitual, as ações são feitas aleatoriamente, sem saber se o resultado será satisfatório ou não. Dessa forma, enquanto as coisas ocorrem corretamente tudo está bem, mas, caso ocorra algum problema, as pessoas não saberão o que fazer. Um exemplo de bom modelo conceitual pode ser encontrado no formato de uma entrada de alta definição para televisores (HDMI), ou de um carregador para celular (Micro USB). Ao olhar a forma geométrica, naturalmente se entende que tipo de cabo deverá ser conectado para o correto funcionamento do dispositivo.
  3. Bons mapeamentos: são aqueles naturais que aproveitam analogias físicas e padrões culturais, levando o usuário ao entendimento imediato. Um exemplo de ótimo mapeamento é o volante de um carro, pois mesmo quem nunca dirigiu sabe que o volante pode ser girado para a direita e para a esquerda, sendo impossível outros movimentos. Quando o movimento é realizado o resultado é imediato, ou seja, se virar o volante para a direita o carro irá para a direita, o mesmo acontecerá para esquerda, por isso esse mapeamento é facilmente aprendido.
  4. Feedback: o usuário precisa receber respostas do sistema depois que alguma ação foi realizada. Esse conceito assemelha-se ao feedback que recebemos ao escrever com lápis em um papel, pois podemos ver o que está acontecendo naquele exato momento. É muito frustrante usar sistemas que, simplesmente, não exibem feedbacks, deixando as pessoas perdidas, sem saber se uma determinada ação foi realizada com sucesso ou não. O feedback deve ser objetivo, mostrando que algo foi realizado com sucesso ou, qual foi o erro e onde o erro aconteceu, apresentando, também, uma maneira de solucioná-lo.

A cultura do público alvo e sua importância

Outro fator importante, que deve ser considerado para compreender como as pessoas pensam, agem e interagem, é a cultura. A cultura é tudo aquilo que uma determinada pessoa aprendeu por meio de leitura, arte, história, música e experiências. Todas as coisas que ela teve acesso durante a sua vida influenciaram, diretamente, na formação da sua cultura.

Portanto, considerar a experiência, a linguagem, as crenças e os valores dos indivíduos no desenvolvimento de sistemas permite maior identificação, interesse e facilidade na interação com o software.

Um exemplo de identificação cultural pode ser encontrado no sinal “X”. Em algumas culturas, o “X” representa que uma opção foi selecionada, ou seja, por meio do “X” você seleciona as opções que concorda ou que quer manter, no entanto, em outras culturas, como no Japão, o mesmo sinal representa a exclusão, ou seja, é usado para marcar as opções que se deseja remover (ROCHA; BARANAUSKAS, 2003). Por causa disso, o sinal de “X” não é usado nos softwares com o objetivo de selecionar itens, sendo substituído pelo “V” (o sinal de visto) encontrado nas caixas de seleção (checkbox) de páginas web.

Outros exemplos de aspectos culturais:

  • Direção de leitura: em alguns países (como no Brasil), a leitura acontece da esquerda para a direta, tonando a parte esquerda da interface uma área privilegiada, onde se costuma posicionar o menu principal do sistema. Entretanto, em outros países (como no Japão), a leitura acontece da direita para a esquerda, tornando a parte direita mais propensa para menus;
  • Cores: no ocidente, é costume usar cores claras, especialmente o branco, para simbolizar pureza e delicadeza. Porém, em alguns lugares do oriente a cor branca significa tristeza. Nos casamentos orientais, por exemplo, é comum usar o vermelho para vestir as noivas, diferindo do ocidente, onde o branco é predominante.

Por isso tudo, é importante levar em consideração a cultura do público alvo de um software, para que ele não acabe sendo descontextualizado e consequentemente, rejeitado pelas pessoas.

A interface vende o software

Quando um cliente faz uma pesquisa para adquirir algum software, ele encontrará diversas opções no mercado, mas acabará escolhendo aquele que possuir uma interface mais intuitiva e fácil de usar.

O diferencial de um software não está na quantidade de funcionalidades que ele pode oferecer, mas na forma como elas podem ser usadas. Pouco útil será um sistema com todas as opções necessárias, se elas forem difíceis de entender ou utilizar.

Podemos constatar a importância desta “facilidade de uso” no surgimento das primeiras interfaces com gerenciamento de janelas, cujo objetivo foi tentar “traduzir” os objetos do dia a dia dentro da interface do software. Termos como “Área de Trabalho”, “Pastas”, “Arquivos”, “Lixeira”, entre outros, eram e continuam a ser usados até hoje. Essa utilização de objetos e ações do cotidiano das pessoas levou ao surgimento de um conceito muito discutido e importante atualmente, as “metáforas de interface”. Segundo Rocha e Baranauskas (2003), as metáforas são partes integrantes de nosso pensamento e da nossa linguagem.

Nesse contexto, podemos afirmar que a interface está diretamente relacionada com a qualidade de um software. Para o usuário final, se a interface é boa e fácil de usar, consequentemente, todo o sistema (hardware + software) também será considerado bom.

Se a interface não for elaborada levando em consideração as características cognitivas e emocionais do ser humano, todas as implementações e a arquitetura do software, por melhor que tenham sido construídas, serão ignoradas pelo usuário e todo um trabalho poderá ser perdido.

Por isso, arregacemos as mangas e passemos a incluir a IHC em nossos projetos para que os clientes, satisfeitos, possam ser o principais canais de divulgação e sustento de nossas empresas.

Leia também o próximo artigo sobre o assunto:

Leia todos os artigos desta série:

Referências para aprofundamento

NORMAN, D. A. O Design do Dia a Dia. Rio de Janeiro: Rocco, 2006.

RAMALHO, B. L. Educação como exercício de diversidade. Brasília: UNESCO, 2005.

ROCHA, H. V.; BARANAUSKAS, M. C. C. Design e avaliação de interfaces humano-computador. Campinas: NIED/UNICAMP, 2003.

APPEL, A. P. et al. GACIV - A Realidade Virtual Apoiando o Desenvolvimento de Interfaces com a Participação Efetiva do Usuário. In: XIII SBES - Simpósio Brasileiro de Engenharia de Software. out. 1999, Florianópolis, 1999

--

--

Ricardo Dias
Contexto Delimitado

Apaixonado por padrões, programação clara, elegante e principalmente manutenível. Trabalha como desenvolvedor deste 2000, incrementando a cada ano este loop…