José Malcher Jr.

Eng. Software – Analista de Sistemas

ENG. de Software – Arquitetura da informação e User Experiense –  AI de WebSites


A aplicação web e sistemas convencionais

As aplicações web e sistemas convencionais apresentam algumas diferenças. A engenharia de um sistema para web envolve, além dos aspectos definidos na engenharia de sistemas convencionais, aspectos que são relevantes apenas para esse tipo de sistema, como o ambiente exploratório baseado em navegação e navegação personalizada entre usuários, ou seja, o acesso às informações independente de outras pessoas.

É importante neste contexto diferenciar aplicações web de websites. Uma aplicação web consiste em websites que possibilitam a interação do usuário com a aplicação, ou seja, aplicação web seria a composição de websites que disponibilizam um determinado serviço aos seus usuários. Basicamente, uma aplicação web cuida das funcionalidades e website cuida da apresentação, aparência e navegação.

Vários conceitos sobre desenvolvimento são tratados de forma diferente em aplicações web, pois trata-se de um ambiente distribuído onde cada parte que compõe o programa pode estar localizada em máquinas diferentes. Ignorar esse fato pode ser um sério problema no processo de desenvolvimento para aplicações deste tipo.

Como as aplicações desenvolvidas para web estão se tornando cada vez mais complexas devido às características de negócio que devem ser levadas em consideração, vários aspectos específicos devem ser considerados para o desenvolvimento dessas aplicações.

Em uma aplicação web os elementos de uma página dispostos de forma desordenada podem levar o usuário a se perder e ter como consequência a sua saída. Como se trata de um espaço praticamente sem limite, a informação deve ser categorizada em uma estrutura coerente de forma a ser compreendida pela maioria das pessoas.

A arquitetura e o arquiteto da informação

Em um projeto de sistemas de informação, a Arquitetura da Informação está relacionada à análise e ao design de dados que serão armazenados e manipulados, visando através de elementos próprios garantir o desenvolvimento de ambientes informacionais eficientes.

Torna-se necessário preparar o design estrutural de ambientes de informação compartilhados e cuidar da combinação dos esquemas de organização, de rotulação, de busca e de navegação em sites.

Sendo assim, o Arquiteto da Informação precisa estudar o público-alvo para que possa atingi-lo com eficácia e eficiência, passando pelos caminhos a serem utilizados, identificando o que pode ser de seu interesse com base em suas necessidades. Ele pensa a estrutura do site, constrói o mapa de navegação, desenha os esboços do site, cuida da definição do design e interage com a equipe de desenvolvimento.

ATENÇÃO

No desenvolvimento do projeto o Arquiteto da Informação deve se preocupar com três elementos fundamentais que são as dimensões estrutural (ou conceitual), navegacional e de apresentação. A dimensão estrutural define a organização das informações a serem tratadas pela aplicação e os seus relacionamentos, a dimensão navegacional define como as informações serão acessadas através da aplicação e a dimensão de apresentação define como as informações e o acesso a essas informações serão apresentados ao usuário da aplicação.

Componentes da arquitetura da informação de websites

Exata

  • Divide a informação em categorias bem definidas e mutuamente exclusivas com regras claras para incluir novos itens. Indicado quando o usuário sabe exatamente o que está procurando.
  • Alfabeto: Indicado para grandes conjuntos de Informação e público muito diversificado.
  • Tempo: Indicado para mostrar a ordem cronológica de eventos.
  • Localização: Compara informações vindas de diferentes locais.
  • Sequência: Organiza itens por ordem de grandeza. Indicado para conferir valor ou peso a informação.

Ambígua

Divide a informação em categorias subjetivas. Baseia-se na ambiguidade (capacidade de várias interpretações) inerente da língua e na subjetividade humana. Não possui regras claras de como incluir novos itens.

  • Assunto: Divide a informação em diferentes tipos, diferentes modelos ou diferentes perguntas a serem respondidas
  • Tarefa: Organiza a informação em conjuntos de ações. Usado muito em softwares transacionais. Raramente utilizado sozinho na Web.
  • Público-alvo: Indicado quando se deseja customizar o conteúdo para cada público-alvo.
  • Metáfora: Utilizado para orientar o usuário em algo novo baseado em algo familiar. Normalmente limita muito a organização.
  • Híbrido: Reúne dois ou mais esquemas anteriores.

Sistema de Navegação (Navigation System)

Especifica as maneiras de navegar, de se mover pelo espaço informacional e hipertextual. Por definição, navegar é alcançar um destino que está fora do alcance do campo de visão do ponto de partida. Para alcançar seu destino, o navegador se orienta através de instrumentos e pontos de referência que determinam a sua posição e a direção a seguir.

Navegar na Web

A navegação em hipertextos é diferente da navegação em espaços físicos. Para se movimentar, o usuário precisa de orientação, caso contrário ele se perde. No mundo físico normalmente existem pontos de referências que orientam as pessoas. Em um website, ao contrário, esses pontos de referência não existem. Assim, ao se projetar um website, é necessário criar um sistema de navegação para estabelecer pontos de referência e uma sinalização que oriente o usuário.

 

ATENÇÃO

Desta forma, deve-se criar cenários para que o usuário possa navegar pelo site de forma livre, sem a percepção de que esteja sendo mantido “preso”.

Existem estudos que mostram que o usuário de Internet em média, percorre a página começando pelo ângulo superior esquerdo, até o ângulo inferior direito. É o efeito “zig-zag”.

 

Elementos de navegação

São instrumentos que norteiam as ações do internauta de forma a mantê-lo ciente de onde está, retornar e deslocar-se no site. Eis alguns exemplos:

  • Fio de Ariane (breadcrumbs trais) – Instrumento de navegação representado por uma sequência de links em hierarquia que indica o caminho de navegação permitindo ao usuário localizar-se no site.
  • Navegação por separadores – Instrumentos de navegação que permitem que o usuário possa identificar os elementos do site e passar entre eles de forma bem fácil.
  • Mapa do site (site map) – É a planta do site. Tem a finalidade de dar uma demonstração global do site para o usuário.

 

Sistema de rotulação (labeling system)

Estabelece as formas de representação, de apresentação da informação, definindo símbolos para cada elemento informativo. Tem por objetivo garantir a clareza e compreensão do site para os usuários que nele navegarem.

  • Rótulos iconográficos – Podem representar a mesma informação que o texto. Comumente usados em sites infantis;
  • Rótulos como links contextuais – Conduzem para informações em outras páginas ou em outra ligação da mesma página;
  • Rótulos como cabeçalhos – Servem para descrever o conteúdo neles contidos, estabelecendo uma hierarquia dentro do texto;
  • Rótulos dentro de um sistema de navegação – Os links de texto são apresentados de forma mais ampla dando ao usuário uma visão generalizada das opções;
  • Rótulos como termos de indexação – Os termos de indexação são letras ou palavras-chaves que compõem um cabeçalho que representa os conteúdos disponíveis para pesquisa.

 

Sistema de busca (search system)

Determina as perguntas que o usuário pode fazer e o conjunto de respostas que irá obter.

“Cerca de 1/3 das pessoas que nós testamos normalmente tentam a busca como suas estratégias iniciais e as outras recorrem a ela quando não conseguem uma resposta seguindo os links (navegando)”. ROSENFELD, L; MORVILLE, P.

O sistema de busca visa facilitar a vida do usuário com base nas possíveis informações que o site possa lhe fornecer. A decisão de se criar ou não um sistema de busca depende do objetivo do site.

Deve-se implementar um sistema de busca em sites muito grandes com sistema de navegação muito complexos, ou em sites com conteúdo muito dinâmico.

Por outro lado, se a realidade for de pouco conteúdo não há a necessidade de se criar um sistema de busca. Deve-se ficar atento também à condição de configuração desse sistema, pois não é uma tarefa tão fácil assim e caso não haja um profissional para cuidar dessa ferramenta, o mecanismo poderá ter resultados não esperados.

Veremos agora alguns tipos de necessidade de se obter informação:

  • Procura por item conhecido – Usuário sabe onde encontrar a informação;
  • Procura por item existente – Usuário sabe o que quer mas não sabe como descrever, ou não sabe se a resposta será completa;
  • Procura exploratória – Usuário sabe formular a questão, mas não tem certeza do que poderá obter de resposta;
  • Procura ampla – Usuário deseja tudo que estiver disponível sobre o tema que procura.

Para o projeto de um sistema de busca deve-se levar em consideração:

  • O nível de conhecimento do usuário;
  • O tipo de informação que o usuário deseja;
  • O tipo de informação que está sendo indexada;
  • A quantidade de informação que está sendo indexada.

Para se desenvolver um sistema de busca é importante levar em consideração a interface, a ajuda, páginas com resultados e páginas sem resultados.

A usabilidade

Com o intuito de criar uma interface amigável e ter os objetivos da empresa, instituição ou de uma pessoa bem definidos no site, é importante conhecer as necessidades dos usuários e dessa forma manter uma relação capaz de tornar a navegação prazerosa e bem-sucedida por este usuário. Elementos como navegabilidade e interface homem-máquina estão presentes como fatores determinantes no sucesso de um projeto web. Existem várias definições para usabilidade, que têm suas orientações destinadas a abordagens específicas, segundo alguns autores.

  • Definições orientadas ao produto: associadas às características ergonômicas do produto;
  • Definições orientadas ao usuário: relacionadas ao esforço mental ou atitude do usuário frente ao produto;
  • Definições baseadas no desempenho do usuário: associadas à forma de interação do usuário, com ênfase na facilidade de uso e no grau de aceitação do produto;
  • Definições orientadas ao contexto de uso: relacionadas às tarefas especiais realizadas por usuários específicos do produto, em determinado ambiente de trabalho.

 

ATENÇÃO

As normas certificadoras, obedecendo suas características de avaliação de produto, também têm suas definições, como a seguir:

Usabilidade é a medida na qual um produto pode ser usado por usuários específicos para alcançar objetivos específicos com efetividade, eficiência e satisfação num contexto específico de uso.

  • Norma ISO 94241-11

Usabilidade é a capacidade que um sistema interativo oferece a seu usuário, em um determinado contexto de operação, para a realização de tarefas de maneira eficaz, eficiente e agradável.

  • Norma ISO 9241

Usabilidade é a facilidade com que um usuário pode aprender a operar, preparar entradas para e interpretar as saídas de um sistema ou componente.

  • Norma ISO 9126

A usabilidade corresponde a uma série de atributos que os desenvolvedores devem levar em consideração em seus projetos, principalmente nas aplicações web.

  • Facilidade de aprendizagem – Capacidade com que o usuário começa a interagir rapidamente com o sistema logo na primeira vez que o utiliza;
  • Facilidade de uso – Facilidade com que o usuário lembra como o sistema deve ser utilizado.
  • Eficiência de uso – Representa o grau de produtividade atingido pelo usuário depois que aprendeu a utilizar o sistema;
  • Produtividade – O usuário consegue fazer o que precisa de forma rápida e eficaz;
  • Flexibilidade – A aplicação prevê todas as utilidades do sistema;
  • Facilidade de memorização – Medida do quanto o usuário pode ser induzido ao erro pelo sistema e o quanto pode se recuperar do mesmo;
  • Satisfação subjetiva – Medida de quanto o usuário se sente feliz em utilizar o sistema;
  • Segurança – Representa o grau de proteção e recuperação de erros.

Qualquer coisa que possa interferir na habilidade do usuário em completar suas tarefas pode ser considerada como um problema de usabilidade. Alguns problemas relacionados à usabilidade:

  • Contexto – Situação típica de uso;
  • Efeito sobre o usuário – Sobrecarga cognitiva
  • Efeito sobre a tarefa – Trabalho adicional
  • Causa – Aspecto do sistema
  • Re-design – Alteração no projeto

A usabilidade é predominante no desenvolvimento, na medida em que está diretamente relacionada à capacidade do usuário em entender e operar o software de forma tranquila e amigável. A norma ISSO/IEC FCD 9126-1 aponta as seguintes características de software, onde poderemos ver a usabilidade:

  • Funcionalidade
  • Confiabilidade
  • Usabilidade
  • Eficiência
  • Possibilidade de manutenção Portabilidade

Um sistema onde há a interação com o usuário é considerado eficaz quando possibilita que o mesmo atinja seus objetivos, e para tal deve ser fácil de usar, fácil de aprender e ser agradável no seu manuseio.

Em todo projeto de sistemas deve haver a possibilidade de se fazer uma avaliação de usabilidade, com o intuito de definir a aceitação ou não de projetos encomendados, propor revisões ou ajustes em produtos acabados, comparar o desempenho de softwares interativos e propor correções em projetos em desenvolvimento.

Essa avaliação tem o objetivo de percepção dos sentimentos e opiniões do usuário com base em questionamentos feitos a eles.

Técnicas de avaliação de usabilidade

Desta forma, pode-se observar e registrar os problemas enfrentados pelo usuário e definir as formas de resolvê-los ou minimizá-los ao máximo. Algumas técnicas de avaliação de usabilidade são usadas para detectar o grau de satisfação do usuário.

  • Técnicas prospectivas: São baseadas na opinião do usuário com relação à interação dele com o sistema;
  • Técnicas preditivas: São baseadas em modelos formais e no conhecimento de quem desenvolveu o sistema;
  • Técnicas objetivas: São baseadas na interação do usuário com o sistema.

 

A usabilidade no projeto de uma aplicação

A usabilidade no projeto de uma aplicação pode e deve ser avaliada com base em ações que possam dar retorno à equipe do grau de interatividade do usuário com o sistema. Essas ações englobam:

  • Definir aceitação ou não por parte do usuário;
  • Propor revisões em produtos acabados;
  • Fazer comparações de softwares;
  • Propor correções durante o desenvolvimento.

 

Para tal existem técnicas que normalmente são utilizadas para avaliar a usabilidade em um projeto, como:

  • Técnicas prospectivas – têm como base a opinião do usuário;
  • Técnicas preditivas – têm como base os modelos formais;
  • Técnicas objetivas – têm como base a observação da interação.

 

ATENÇÃO

Garantir uma boa usabilidade no projeto é tão importante quanto a sua própria aplicação e por essa razão a avaliação da usabilidade detectará problemas de desconformidade e poderá ter uma resposta quanto ao grau de satisfação do cliente.

 

IHM – interface homem máquina

Existem várias definições sobre IHM e procuramos três delas que abordam o ser humano, comandos e sistemas.

  1. É o canal de comunicação entre o homem e o computador, através do qual interagem, visando atingir um objetivo comum.
  2. É o conjunto de comandos de controle do usuário + respostas do computador, constituídos por sinais (gráficos, acústicos e tácteis).
  3. É parte de um sistema computacional com a qual uma pessoa entra em contato físico, perceptual e conceitualmente.

A importância das interfaces

A importância das interfaces está na necessidade de se estabelecer um bom nível de conversação entre o usuário e o sistema. A qualidade da interface determina se os usuários aceitam ou recusam um sistema.

Quase sempre a interface esteve presente nos desenvolvimentos, porém atualmente é fator determinante como elemento de sucesso ou fracasso de um projeto. Ao acompanharmos o histórico da interface podemos observar a evolução das aplicações.

  1. Programas eram em “batch”, ou seja, em lote, sem interface.
  2. Interfaces do tipo textual com linhas e telas de caracteres.
  3. Interfaces gráficas, com novos dispositivos e inclusão de som.
  4. Ambientes virtuais.
  5. Ambientes colaborativos.

 

É muito importante que o sistema desenvolvido seja confortável para o usuário. O conforto está diretamente ligado à tranquilidade que o usuário tem para operar um sistema. Se todas as ações estão devidamente previstas e se o usuário consegue acessá-las de forma direta, com certeza a avaliação da interface utilizada será das melhores possíveis.

O ideal em uma interface é a ideia do usuário se sentir no controle da situação e para tal na sua criação devemos ter as seguintes preocupações:

  • Evitar que o usuário faça ações desnecessárias definindo bem os modos de interação;
  • Criar interações flexíveis para que o usuário possa acessar as funções disponíveis por mais de um modo;
  • Separar as interações em níveis de competência;
  • Fazer com que os detalhes técnicos fiquem transparentes para o usuário;
  • Sempre que possível associar as ações a objetos;
  • Criar condições para que as ações possam ser interrompidas ou desfeitas a qualquer momento.

Princípios de projeto

Com base no projeto de interface de usuários foram pesquisados alguns princípios de projeto:

  • Familiaridade do usuário – As interfaces devem ser definidas em termos e conceitos cotidianos ao usuário;
  • Consistências de interface – Os diversos componentes de uma interface devem ter a mesma aparência, o mesmo formato e os modos de funcionamento análogo entre si;
  • Guia do usuário – A interface deve ter recursos para ajudar o usuário, como mensagens e sugestões. Por outro lado esses recursos não devem sobrecarregar o usuário com informações;
  • Diversidade do usuário – Há diversos tipos de usuários, com as mais diversas habilidades, interesses e limitações. O projetista da interface deve ter em mente que usuários terão de interagir com a interface e prepará-la para isso.

Vejamos as interfaces de usuários mais comuns:

  • Interface gráfica do usuário – aceita a entrada por meio de dispositivos de entrada e fornece saída por meio do monitor;
  • Interface web do usuário – aceita a entrada e fornece saída ao gerar páginas web, que são transportadas pela Internet e visualizadas através de um navegador;
  • 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 tátil – interface gráfica do usuário que usa telas de sensíveis ao toque como forma de entrada, tornando o monitor um dispositivo tanto de entrada como de saída do sistema.

Normalmente existe uma equipe de desenvolvimento composta por profissionais com conhecimento específico para as diversas fases do processo. É importante ter em mente que o usuário, apesar de às vezes não ser da área, é um elemento fundamental no desenvolvimento. A análise e projeto de interface deverá ser feita em parceria com ele, que municiará o desenvolvedor com informações sobre as rotinas do sistema. Desta forma, a opinião do usuário é muito importante.

Existem alguns modelos de análise de projetos de interface comumente usados, como:

  • Modelo de Usuário: Estabelece o perfil do usuário final em novato, esporádico, frequente;
  • Modelo de Projeto: Incorpora dados, arquitetura, interface e projetos do sistema inteiro;
  • Modelo Mental: Representa a imagem que o usuário tem em sua mente;
  • Modelo de Implementação: Cria a aparência das definições de interface.

Para a criação de um projeto de interface deve-se levar em consideração os seguintes itens:

  • Identificar os requisitos do usuário;
  • Criar os cenários do usuário;
  • Criar os layouts de tela;
  • Determinar as ferramentas adequadas;
  • Fazer testes e implementar o projeto.

No design de interfaces é importante observar as características do ambiente onde o usuário trabalha. Desta forma, ao desenvolver o projeto, teremos toda a sensibilidade desse ambiente para depois transportá-lo para o sistema criando uma interação amigável.

O intuito é projetar interfaces com controles que possuam operações e efeitos visíveis para o usuário e com respostas imediatas. O foco é o ser humano, desta forma o design deve estar centrado no usuário.

 


ENG. de Software – Arquitetura da informação e User Experiense –  AI de WebSites