# Interface do utilizador

A interface do utilizador ou interface de usuário , no campo de desenho industrial da interação homem-máquina, é o espaço onde a interação entre humanos e máquinas ocorre. O objetivo desta interação é a operação e controle efetivos da máquina no lado do usuário e o feedback da máquina, que auxilia o operador na tomada de decisões operacionais. Exemplos deste amplo conceito de interfaces de usuário incluem os aspectos interativos dos sistemas operacionais do computador, ferramentas de mão, controles de operador de máquinas pesadas e controles de processo. As considerações de design aplicáveis ​​na criação de interfaces de usuário estão relacionados ou envolvem disciplinas como ergonomia e psicologia.
A interface de usuário inclui componentes de hardware (físico) e software (lógico). As interfaces de usuário existem para vários sistemas, e fornecem um meio de:
* Entrada, permitindo ao usuário manipular o sistema;
* Saída, permitindo ao sistema produzir os efeitos (as respostas) das ações do utilizador
Geralmente, o objetivo de um design de uma interface de usuário é produzir uma interface que torne simples, eficiente e agradável (para o usuário) para operar a maquina de modo que produza o resultado desejado. Isso, em geral, significa que o operador da máquina precisa oferecer o mínimo de entrada para alcançar uma saída desejada, e que a máquina minimalize saídas indesejadas para o usuário.

## Introdução

Para trabalhar com um sistema, o utilizador precisa ter controle do sistema para acessar seu estado atual. Por exemplo, quando dirigindo um carro, o motorista utiliza o volante para controlar a direção do veículo e os pedais de marcha, freio e aceleração para controlar a velocidade. O carro fornece ao motorista sua velocidade atual no velocímetro. A interface do utilizador do veículo são todos os instrumentos que o motorista tem acesso para poder dirigir o veículo. Enquanto o volante e os pedais são dispositivos de entrada, o painel constitui um dispositivo de saída do sistema.
O termo interface do utilizador entretanto é usado mais frequentemente no contexto de computadores e outros dispositivos eletrônicos. Para máquinas industriais ou veículos geralmente é usado o termo interface homem-máquina.
Um sistema pode expor diferentes interfaces de utilizador para diferentes tipos de utilizador. Por exemplo, um banco de dados pode fornecer uma interface para gestores (mais simplificada e fácil de usar) de uma instituição e outra para engenheiros (todas as opções disponíveis, otimizada para a eficiência).
Em algumas circunstâncias o sistema pode observar o utilizador e reagir de acordo com suas ações sem comandos específicos. Para isso são necessários sensores adicionais para obter mais informações sobre o estado do utilizador, seja na forma de uma câmera de vídeo ou eletrodos por seu corpo.

## Usabilidade

O projeto de uma interface de utilizador afeta a quantidade de esforço que o utilizador precisará para prover as entradas ao sistema e para interpretar sua respectiva saída, além de quanto esforço ele precisará para aprender o procedimento. A usabilidade é uma área do design que leva em consideração a psicologia e a fisiologia dos utilizadores para tornar os sistemas mais efetivos, eficientes e satisfatórios. Ela está principalmente associada as características da interface do utilizador, mas também pode estar associada com a funcionalidade do produto.

### Fatores humanos

As capacidades físicas e mentais do utilizador influenciam o projeto de uma interface. Por exemplo, a memória de curto prazo humana é limitada: um ser humano não consegue lembrar instantaneamente de muito mais que sete itens, de modo que é preciso evitar apresentar informações em excesso em uma interface.
Utilizadores cometem erros, especialmente sob estresse. Sistemas que não funcionem bem e apresentem mensagens podem estressar ainda mais os utilizadores, levando-os a cometerem mais erros.
Utilizadores podem possuir diferentes capacidades. Uns podem enxergar melhor que outros, podem ser daltônicos ou terem dificuldades para manusear objetos. É preciso que o sistema esteja preparado e seja acessível para lidar com a variedade de utilizadores.
Ademais, utilizadores têm preferências. Alguns podem preferir lidar com imagens, outros com texto, por exemplo. A preferência do utilizador-alvo de um sistema deve ser levada em consideração.

### Princípios de projeto

Como guias iniciais para o projeto de interfaces com o utilizador, foram pesquisados princípios de projeto.

#### Familiaridade do utilizador

As interfaces devem, dentro do possível, serem definidas em termos e conceitos cotidianos ao utilizador. Por exemplo, um ERP deve se referir a itens de estoque, folhas de pagamento, transferências bancárias etc. mas não a tabelas de um banco de dados relacional ou exceções de software.

#### Consistência de interface

Os diversos componentes de uma interface devem ter a mesma aparência, o mesmo formato e um modos de funcionamento análogo entre si. Isso permite que a aprendizagem do uso de parte da interface possa ser aplicada em outras partes.
A consistência entre sistemas diferentes também é positiva. Por exemplo, carros de passeio possuem aceleradores e freios, que sempre são pedais que o motorista deve pressionar. Aplicativos que atendam uma mesma funcionalidade podem possuir teclas de atalho diferentes para a mesma funcionalidade, ou teclas de atalho iguais para funcionalidades diferentes. Um utilizador que trabalhe com ambos os aplicativos pode ficar confuso.

#### Surpresa mínima

Se ações em um contexto são diferentes de ações em outro contexto, o utilizador pode ficar confuso ou irritado. É importante, então, que ações semelhantes tenham resultado semelhante. Por exemplo, se em uma casa alguns interruptores acendem lâmpadas ao serem pressionados para baixo mas outros apagam as luzes nessa mesma situação, o sistema elétrico da casa é confuso.
Muitas vezes, interfaces têm comportamento diferente porque se baseiam na ideia de modos de trabalho. Por exemplo, o editor de texto vi possui três modos, em que as teclas pressionadas podem tanto servir para inserir caracteres em um texto quanto para executarem operações sobre o ficheiro aberto. Para evitar a confusão, é interessante que a interface mostre qual é o modo de trabalho corrente.

#### Facilidade de recuperação

É inevitável que utilizadores cometam erros, portanto é necessário que a interface proveja, dentro do possível, maneiras de revertê-los ou impedi-los. Em vários automóveis, por exemplo, a alavanca para abrir o capô fica em uma posição isolada, para que não se possa puxá-la com facilidade e sem intenção.
Há vários tipos de recursos para prevenir ou permitir a recuperação de erros, dos quais destacam-se:
* Confirmação de ações destrutivas: a interface solicita que o utilizador confirme ações destrutivas e irreversíveis;
* Recursos de desfazer e refazer: a interface deve, dentro do possível, prover recursos de desfazer e refazer ações. O utilizador pode cometer erros, podendo inclusive descobri-los apenas muito tarde. A interface deve permitir que ele desfaça os erros. Exemplos desses recursos são a tecla de atalho Control-Z para reversão em editores de texto e históricos de alterações em sistemas de controle de versão e wikis.
* Checkpointing: o sistema salva versões ou configurações específicas, às quais é possível retornar em caso de erro.

#### Guia do utilizador

É interessante que a interface tenha recursos para ajudar o utilizador, como mensagens e sugestões. Esses recursos devem ser adicionados com cautela, para não sobrecarregar o utilizador com informações. Quanto mais importante a informação, mais crucial que apareça; é o caso dos alertas em aparelhos de televisão, que avisam que, mesmo desligados, podem causar choques elétricos se abertos.

#### Diversidade do utilizador

Há diversos tipos de utilizadores, com as mais diversas habilidades, interesses e limitações. O projetista da interface deve ter em mente que utilizadores terão de interagir com a interface, e prepará-la para isso.
Por exemplo, sistemas como semáforos, aparelhos de telefones públicos etc. que devem ser utilizados por deficientes visuais devem prover tanto informações visuais (como silhuetas nos semáforos ou número nos teclados) quanto auditivas (como alto-falantes nos semáforos) e táteis (como legendas em Braille nos teclados).
Além disso, utilizadores podem ser frequentes ou ocasionais, e a interface ideal para cada um pode ser diferente. Utilizadores frequentes de um programa, por exemplo, podem preferir usar teclas de atalho interface de linha de comando; utilizadores ocasionais podem preferir usar menus e Ícone (informática)s.
Estes princípios não raro são contraditórios. Os princípios de familiaridade e consistência podem ser conflitantes, especialmente se lidamos com sistemas diferentes mas que usam os mesmos componentes de interface. Utilizadores experientes podem preferir interfaces mais eficientes a interfaces mais intuitivas, tornando o princípio de diversidade do utilizador menos relevante. Os utilizadores podem variar a tal ponto em que seja impossível prover guia para todos. É responsabilidade do projetista decidir quais são os pontos de conciliação nestes casos.

## Interface do utilizador na computação

Em ciência da computação e interação homem-computador, a interface de utilizador de um programa de computador refere-se as informações gráficas, textuais e auditivas apresentadas ao utilizador, e as sequências de controle (como comandos de teclado ou movimentos do rato) para interagir com o programa.

### Tipos

Atualmente as seguintes interfaces de utilizador são as mais comuns:
* Interface gráfica do utilizador - aceita a entrada através de sistemas como o teclado, rato ou no próprio monitor (touchscreen), e fornece saída gráfica articulada no monitor.
* Interface de linha de comando - aceita a entrada através de comandos de texto utilizando teclado e fornece saída imprimindo o texto no monitor.
* Interface de voz - aceita a entrada através de comandos de voz. Pode fornecer a saída de dados em forma de texto, gráfico ou áudio.

## Ambiente gráfico x linha de comando

As interfaces gráficas do utilizador foram introduzidas como uma reação a grande curva de aprendizado requeridas pelas então soberanas interfaces de linha de comando, que requerem a inserção de comandos pelo teclado. Como os comandos em tais interfaces são geralmente numerosos e compostos, e devem ser decorados pelo utilizador, ainda que operações bastante complexas podem ser invocadas usando uma pequena quantidade de comandos. Isto resulta em grande eficiência uma vez que os comandos sejam aprendidos, mas atingir tal nível leva bastante tempo.
Por outro lado, a interface gráfica apresenta ao utilizador diversos widgets que podem executar um ou um conjunto de comandos. Ela também fornece modos de operação, de forma que o significado das teclas e cliques de rato são redefinidos a cada instante no sistema. Em contrapartida, o único modo de operação das interfaces de linha de comando é o diretório atual.
A maioria dos sistemas operativos atuais fornecem a interface gráfica do utilizador por completo e algum nível de interface por linha de comando. Sistemas derivados do UNIX fornecem uma interface gráfica totalmente dependente das interfaces de linha de comando. Tal estratégia foi usada para permitir aos desenvolvedores um foco maior na funcionalidade dos produtos sem muita preocupação com detalhes como o projeto de ícones e botões.