Image prompt-300x173.gif

Tipos de interface do usuário: por linha de comando

Com quantas interfaces diferentes você interagiu nos últimos dias?
As interfaces touch, gráficas, web estão presentes mais do que nunca no nosso dia-a-dia e essa variação dos tipos de interfaces e superfícies mudam radicalmente a nossa forma de interagir com os dispositivos.

Por isso é importante que nós, que trabalhamos direta ou indiretamente com a Experiência do Usuário, saibamos quais são os principais tipos de interface e suas características.

Os 4 principais tipos de interface do usuário são:

  1. Interface por linha de comando;
  2. Interface gráfica;
  3. Interface natural;
  4. Interface orgânica.

E neste post, iniciaremos com interface por linha de comando.

Mas antes…O que entende-se por interface mesmo?

interface é o meio que permite a comunicação entre o usuário e o sistema. Ela também pode ser considerada parte do sistema, encarregada de mapear as ações do usuário na aplicação do processamento de requisições e apresentação de seus resultados pelo sistema. A interface também é definida como o meio pelo qual o diálogo entre o programa e o ser humano é estabelecido. Quando fatores humanos são considerados, este diálogo acontece em harmonia. Portanto, se ela for fácil de aprender, simples de usar, direta e amigável, o usuário estará inclinado a fazer bom uso da mesma e estará safisfeito com ela.

1-CLI : Command line interface / Interface por linha de comando

interface por linha de comando é o estilo “original” da interação humano-computador. Neste tipo de interface os usuários digitam o pedido ou ação utilizando uma determinada linguagem formal que tem seu próprio vocabulário, significados e síntaxe. Se você é jovem, talvez nem tenha tido contato com esse tipo de interface, mas se você nasceu antes da década de 80, com certeza deve ter usado o DOS para executar um comando (nem que seja só para formatar seu Windows 95…hehehe). Mas é claro que, se você curte UNIX e assemelhados, deu um sorrisinho de canto porque você usa linha de comando com uma certa frequência e está feliz com isso.

Prompt de comando do DOS

 

 

Principais características:

  • O padrão de interação é único, por comando textual via teclado;
  • Exibe pouco ou nenhum alerta e instruções na tela. Por padrão exibe apenas o prompt de comando (local para a digitação do comando);
  • É uma interface abstrata, não familiar. Muitos nomes de comandos não tem significado para os usuários, dificultando o entendimento e identificação pelo usuário. Em uma interface gráfica geralmente é feito o uso de metáforas, como por exemplo, se você excluir um arquivo ele vai para a lixeira;
  • Recordação: exige grande carga de memória do usuário para lembrar os comandos e sua syntax;
  • Aprendizado: A curva de aprendizado inicial é grande para esse tipo de interface;
  • Segurança e feedback: Não há feedback adequado para os comandos. Na verdade, quando ocorre um erro, o sistema avisa que houve um erro, mas não mostra o que está errado. Quando a ação for executada com sucesso, a interface volta  a exibir o prompt de comando. Essa característica da interface não oferece nenhuma segurança ao usuário, portanto, seu uso pode ser perigoso se o usuário não tiver muito cuidado e dominar o sistema.
  • Direto e rápido: Você digita o comando e o sistema executa. Diferente da interface gráfica, que você tem muitas vezes abrir diversas janelas e clicar algumas vezes para então executar um comando;
  • O modelo da interface é focado no sistema e não no usuário, assim o usuário precisa saber como o sistema funciona, onde seus programas e dados estão armazenados;
  • Uso minimo de espaço na interface;
  • Pode ser utilizado em conjunto com outros tipos de interfaces;
  • Muito poderoso, flexível e fornece total controle para o usuário, é por isso que programadores continuam usando linha de comando.

Para muitas pessoas, aprender a usar uma interface por linha de comando é como aprender uma lingua estrangeira. Isso pode ser ruim para usuário que quer apenas executar uma atividade da maneira mais eficiente possível. Você pode ter pensado agora “mas programador acha divertido, devem ser loucos!”. Desenvolvedores acham divertido por motivos muito simples, a interface por linha de comando é muito mais fácil e direta para quem domina o sistema e principalmente, fornece controle total do sistema.

Aplicações baseadas em linha de comando

Geralmente, as pessoas que optam por utilizar interfaces baseadas em comando são usuários avançados, que já memorizaram e aprenderam a utilizar determinados comandos. No entanto, existem soluções intermediárias que facilitam o aprendizado de usuários inexperientes e satisfazem os usuários avançados. Estas soluções são funcionalidades baseadas em linha de comando utilizando linguagem natural, amigável e totalmente orientada à tarefa, que ajudam os usuários a realizar suas tarefas muito mais rápido.

Características não funcionais destas interfaces:

  • Aderente a qualquer usuário;
  • Pode ser integrada com a interface gráfica.

Características funcionais destas interfaces:

  • Facilmente acionável através de teclas de atalhos únicas;
  • Permite busca e execução de ações através de linguagem natural, portanto é muito mais fácil de aprender e mais familiar;
  • Oferece busca viva (live search) com exibição de sugestões durante a digitação, para que o usuário não tenha que digitar todo o texto ou memorizar todo o comando para executá-lo;
  • As sugestões da busca viva serão priorizadas e classificadas conforme a freqüência de uso pelo usuário.

Abaixo são apresentados alguns exemplos de aplicações que utilizam interface baseada em comando de forma integrada com a interface gráfica:

A) Ubiquity – Extensão do navegador Firefox

Ubiquity para Firefox

B) Quicksilver – Aplicativo do tipo Launcher para Mac OS

Quicksilver

É perceptível que a interface por linha de comando é muito útil em diversos contextos em que eficiência é uma meta de usabilidade muito relevante e por isso ela não vai deixar de existir mesmo com a criação de novos tipos de interface. Cabe aos desenvolvedores e designers de interação conceberem melhorias e novas aplicações para tornar o uso desse tipo de interface cada vez mais amigável e intuitivo, mas sem perder seus pontos positivos.

Um estudo de caso
Anos  atrás participei de uma proposta para reformulação da interface do sistema interno de um banco. Eles queriam melhorar a interface gráfica do sistema e já tinham uma versão desenvolvida que não teve uma boa aceitação dos usuários. Os usuários voltaram a usar a interface antiga por vários motivos, mas principalmente porque era mais rápido executar uma tarefa no sistema anterior. O sistema anterior fornecia apenas navegação pelo teclado, possuía uma interface pouco agradável de se visualizar e de difícil aprendizado para os novos usuários. Detalhe, os usuários mais importantes eram os caixas dos bancos, funcionários que possuem metas agressivas baseada na quantidade de transações executadas diariamente. Na nossa avaliação, percebemos que na transição do sistema antigo para o novo, se perdeu a agilidade de uso pelo teclado e os códigos de operações já memorizados não eram mais úteis. Nossa sugestão foi de melhorar ainda mais a interface gráfica e integrar uma funcionalidade com a interface por linha de comando. Essa funcionalidade possui live search que ao digitar um código de operação, ela encontra e executa a operação (importantes para funcionários mais antigos) e aceita a execução de uma operação através da digitação da descrição da operação (importante para novos funcionários).