design de usabilidade
A usabilidade de qualquer aplicação é essencialmente determinada pelo usuário. O design de interface é um processo iterativo. Ao projetar uma interface para um aplicativo, é raro obter uma interface perfeita desde a primeira etapa. Quanto mais cedo os usuários estiverem envolvidos no processo de design, menos esforço será necessário para criar uma interface melhor e mais utilizável.
O que é uma boa interface
Ao projetar uma interface de usuário, é uma boa ideia começar examinando alguns dos aplicativos mais vendidos da Microsoft ou de outras empresas. Afinal, um aplicativo com interface ruim não venderá bem. Você encontrará muitas coisas comuns, como barras de ferramentas, barras de status, dicas de ferramentas, menus de contexto e caixas de diálogo de marcação. Não é por acaso que o Visual Basic tem a capacidade de adicionar todas essas coisas a um aplicativo.
Você também pode confiar em sua própria experiência ao usar o software. Pense em alguns aplicativos que você usou, o que funcionou, o que não funcionou e como você poderia modificá-lo. Mas lembre-se de que as preferências pessoais não são iguais às preferências do usuário e você deve alinhar suas próprias opiniões com as dos usuários.
Observe também que os aplicativos mais bem-sucedidos oferecem opções para acomodar diferentes preferências do usuário. Por exemplo, o Microsoft Windows Explorer permite aos usuários copiar arquivos por meio de menus, comandos de teclado ou arrastar e soltar. Fornecer opções ampliará o apelo do aplicativo e deverá, pelo menos, tornar todas as funções acessíveis por mouse e teclado.
Diretrizes de interface do Windows
A principal vantagem do sistema operacional Windows é que ele fornece uma interface comum para todos os aplicativos. Os usuários que sabem usar aplicativos baseados no Windows podem aprender facilmente a usar outros aplicativos. Os aplicativos que se desviam muito das diretrizes de interface estabelecidas são difíceis de entender.
Os menus são um bom exemplo disso - a maioria dos aplicativos baseados no Windows segue este padrão: o menu "Arquivo" na extrema esquerda, depois "Editar", "Ferramentas" e outros menus opcionais, e o menu "Arquivo" na extrema direita . Se Documentos fosse melhor que Arquivo, ou se o menu Ajuda fosse colocado em primeiro lugar, valeria a pena discutir. Não há nada que impeça você de fazer isso, mas isso pode confundir os usuários e reduzir a usabilidade do seu aplicativo. Os usuários precisam parar e pensar sempre que alternam entre aplicativos e outros programas.
A localização dos submenus também é importante. Os usuários esperam encontrar submenus como “Copiar”, “Recortar” e “Colar” no menu “Editar”, mas movê-los para o menu “Arquivo” causará confusão para os usuários. Não se desvie muito das diretrizes que foram criadas, a menos que haja um bom motivo para fazê-lo.
teste de usabilidade
A melhor maneira de testar a usabilidade da sua interface é envolver os usuários durante todo o processo de design. Esteja você projetando um aplicativo grande e compactado ou um aplicativo pequeno e de uso limitado, o processo de design deve ser exatamente o mesmo. Usando as diretrizes de design que foram criadas, o design da interface deve começar no papel.
A próxima etapa é criar um ou mais protótipos e projetar o formulário em Visual Basic. Você ainda precisa adicionar código suficiente para iniciar o protótipo: exibir o formulário, preencher a caixa de listagem com dados de amostra e assim por diante. Em seguida, prepare-se para o teste de usabilidade.
O teste de usabilidade pode ser um processo informal de revisão do design com os usuários ou pode ser um processo formal em um laboratório de usabilidade criado. O objetivo de ambos os métodos é o mesmo: aprender em primeira mão com os usuários o que funciona bem e o que precisa ser melhorado. Deixe ir, deixe os usuários acompanharem o aplicativo e observe-os. Essa abordagem é mais eficaz do que perguntar aos usuários. Peça aos usuários que expressem seu processo de pensamento enquanto tentam concluir uma série de tarefas: "Quero abrir um novo documento, então procuro-o no menu Arquivo. Observe onde o design da interface não reflete seu processo de pensamento." Teste com diferentes tipos de usuários; se você achar que os usuários têm dificuldade em concluir uma tarefa específica, essa tarefa pode precisar de mais atenção.
A seguir, revise os registros e considere como modificar a interface para torná-la mais utilizável. Modifique a interface e teste novamente. Quando estiver satisfeito com a usabilidade do aplicativo, você estará pronto para começar a codificar. Testes também são necessários de tempos em tempos durante o processo de desenvolvimento para garantir que as suposições sobre o protótipo estejam corretas.
Descoberta de recursos
Um conceito chave em testes de usabilidade é a descoberta. Se os usuários não conseguem descobrir como usar um recurso (ou nem sabem que ele existe), é improvável que ele seja usado. Por exemplo, a maioria dos usuários do Windows 3.1 nunca soube que a combinação de teclas ALT e TAB poderia ser usada para alternar entre aplicativos abertos. Em nenhum lugar da interface são fornecidas pistas para ajudar os usuários a descobrir esse recurso.
Para testar a descoberta da funcionalidade, peça aos usuários que concluam uma tarefa sem explicar como fazê-la (por exemplo, crie um novo documento usando um "modelo de formulário"). Se eles não conseguirem concluir a tarefa ou se forem necessárias várias tentativas, a capacidade de descoberta desse recurso precisará ser melhorada.
Interaja com os usuários quando algo der errado com eles ou com o sistema
Em um mundo ideal, o software e o hardware sempre funcionariam sem falhas e os usuários nunca cometeriam erros. Na realidade, os erros são inevitáveis. Decidir como seu aplicativo responde quando algo dá errado faz parte do design da interface do usuário.
Uma resposta comum é exibir uma caixa de diálogo solicitando ao usuário informações sobre como o aplicativo deve lidar com o problema. Uma resposta menos comum (mas melhor) é simplesmente resolver o problema sem incomodar o usuário. Afinal, os usuários estão preocupados principalmente em concluir tarefas, não em detalhes técnicos. Ao projetar uma interface de usuário, considere possíveis erros e determine quais deles requerem interação do usuário e quais podem ser resolvidos com soluções pré-combinadas.
Crie caixas de diálogo fáceis de entender
Ocasionalmente ocorre um erro numa aplicação e é necessário um julgamento para resolver a situação. Isso geralmente ocorre como uma ramificação do código - uma instrução If...Then ou uma instrução Case. Se esse julgamento exigir interação do usuário, esse problema geralmente será apresentado ao usuário por meio de uma caixa de diálogo. As caixas de diálogo fazem parte da interface do usuário e, como outras partes da interface, seu design desempenha um papel importante na usabilidade do aplicativo.
Às vezes parece que muitos designers de caixas de diálogo de programas não falam palavras que facilitem a compreensão das pessoas. Por exemplo, uma mensagem como esta: "O setor do disco rígido C está danificado ou inacessível. Abortar, tentar novamente, ignorar?" (Veja a Figura 6.22) Isso não é fácil de entender para usuários comuns. Isso equivale a um garçom perguntar a um cliente: "Não temos sopa ou a cozinha está acendendo o fogo, aborte, tente novamente, ignore?" É importante descrever o problema (e a escolha) de uma forma ou frase que os usuários possam entender. No exemplo anterior, uma mensagem melhor seria "Há um problema ao salvar o arquivo na unidade C. Salve o arquivo na unidade A. Deseja salvar o arquivo?"
Ao criar caixas de diálogo para seu aplicativo, lembre-se do usuário. Esta mensagem transmite informações úteis ao usuário? É fácil de entender? As opções representadas pelos botões de comando estão claras? Esta escolha é adequada para as condições dadas? Lembre-se de que apenas uma caixa de mensagem irritante pode dar aos usuários uma má impressão do seu aplicativo.
Se você estiver projetando uma caixa de diálogo personalizada, tente usar os tipos padrão. Se ela se desviar muito do layout padrão da caixa de mensagem, os usuários poderão não reconhecê-la como uma caixa de diálogo.
Para obter mais informações sobre caixas de diálogo, consulte "Caixas de diálogo" anteriormente neste capítulo.
Tratamento de erros sem caixa de diálogo
Não é necessário interromper o usuário quando ocorre um erro. Às vezes é preferível tratar erros no código sem notificar o usuário ou alertar o usuário de uma forma que não interrompa o fluxo de trabalho do usuário. Um bom exemplo dessa tecnologia é o recurso “AutoCorreção” do Microsoft Word: se uma palavra comum estiver incorreta, o Word a corrige automaticamente; se uma palavra incomum estiver incorreta, uma linha vermelha é desenhada abaixo dela para lembrar o usuário de corrigi-la mais tarde; .
Há um grande número de técnicas disponíveis; cabe a você decidir quais técnicas são apropriadas para sua aplicação. Aqui estão algumas sugestões:
1. Adicione a função “Desfazer” no menu “Editar”. Para situações como exclusão, em vez de interromper o usuário com uma caixa de diálogo “OK”, você pode garantir que ele tomou a decisão certa e fornecer um recurso de “desfazer” caso ele mude de ideia posteriormente.
2. Exibir mensagem na barra de status ou ícone. Se o erro não afetar a tarefa atual do usuário, não interrompa o aplicativo. Use uma barra de status ou um ícone de aviso brilhante para alertar os usuários de que eles podem resolver o problema quando estiverem prontos.
3. Corrija o problema. Às vezes, a solução errada é óbvia. Por exemplo, se o disco estiver cheio quando o usuário tentar salvar um arquivo, o sistema verificará se há espaço em outras unidades. Se houver espaço disponível, o arquivo será salvo; uma mensagem será exibida na barra de status informando ao usuário o que foi feito.
4. Salve a mensagem e aguarde o processamento. Como nem todos os erros são críticos ou requerem atenção imediata, considere registrá-los em um arquivo e exibi-los ao usuário quando ele sair do aplicativo ou em outro momento conveniente. Se o usuário cometer um erro de entrada (por exemplo, escrever MainSt. em vez de MianSt.), registre-o. Adicione um botão "ReviewEntries" e uma função que exibe diferenças para que os usuários possam corrigi-las.
5. Não faça nada. Às vezes, o erro não é importante o suficiente para justificar um aviso. Por exemplo, o fato de o papel não estar pronto para a impressora na LPT1 não importa muito até que esteja pronto para impressão. Aguarde até que a mensagem seja relevante para a tarefa atual.
Para obter mais informações sobre técnicas de tratamento de erros, consulte o Capítulo 13, "Depuração de código e tratamento de erros".
Projetando padrões de assistência ao usuário
Não importa quão bem projetada seja uma interface de usuário, às vezes os usuários precisarão de ajuda. O modo de assistência ao usuário de um aplicativo inclui itens como ajuda on-line e documentação impressa; também pode incluir dispositivos de assistência ao usuário, como dicas de ferramentas, barras de status, ajuda "o que é isso" e assistentes.
Como qualquer outra parte de um aplicativo, o design de padrões assistidos pelo usuário deve preceder o desenvolvimento. O conteúdo do esquema irá variar dependendo da complexidade da aplicação e do público-alvo.
Ajuda e documentação
A Ajuda Online é uma parte importante de qualquer aplicativo e geralmente é o primeiro lugar que os usuários procuram quando têm dúvidas. Mesmo aplicativos simples devem fornecer “ajuda”. Não fornecê-lo é como presumir que os usuários nunca terão problemas.
Ao projetar um sistema de Ajuda, lembre-se de que seu objetivo principal é responder perguntas. Tente usar termos de usuário ao criar nomes de tópicos e entradas de índice, por exemplo, "Como formatar uma página?" Os tópicos são mais fáceis de encontrar do que os menus "Editar" ou "Formato de página". Não se esqueça do contexto; a maioria dos usuários ficará frustrada se pressionar a tecla F1 para obter ajuda em um campo específico e se encontrar no tópico do conteúdo.
A documentação de conceitos básicos, impressa e/ou fornecida em disco zip, é útil para todas as aplicações, exceto as mais simples. Ele pode fornecer informações que seriam difíceis de transmitir com um breve tópico de Ajuda. No mínimo, deve haver um documento no formato de arquivo LeiaMe que o usuário possa imprimir, se necessário.
dispositivo de assistência ao usuário
Nas interfaces de usuário, existem diversas tecnologias que auxiliam os usuários. É fácil adicionar dicas de ferramentas, ajuda "o que é isso", exibições de status e assistentes aos seus aplicativos com o Visual Basic. Cabe a você decidir quais desses dispositivos são adequados para sua própria aplicação.
dica de ferramenta
As dicas de ferramentas (Figura 6.23) são uma ótima maneira de exibir informações aos usuários enquanto eles pesquisam na interface do usuário. Uma dica de ferramenta é um pequeno rótulo que aparece quando o ponteiro do mouse repousa sobre um controle e geralmente contém uma descrição da funcionalidade do controle. Normalmente, as dicas de ferramentas são usadas em conjunto com barras de ferramentas e funcionam bem na maior parte da interface.
A maioria dos controles do Visual Basic inclui uma propriedade usada para exibir dicas de ferramentas: ToolTipText. O código a seguir fornecerá uma dica de ferramenta para um botão de comando chamado "cmdPRint".
cmdPrint.ToolTipText=Imprimeodocumentoatual
Como outras partes da interface, certifique-se de que este texto comunique claramente a mensagem ao usuário.
Para obter mais informações sobre dicas de ferramentas, consulte "Propriedade ToolTipText" na Referência de linguagem.
"O que é isso" ajuda
Quando o usuário seleciona What's Help e clica no cursor What's Help no controle, What's Help fornece um link para o tópico pop-up da Ajuda (veja a Figura 6.24). A ajuda "O que é isto" pode ser iniciada a partir de um botão da barra de ferramentas, de um item de menu ou de um botão na barra de título de uma caixa de diálogo.
Para ativar a ajuda "O que é isto" no menu ou na barra de ferramentas, siga estas etapas:
1. Selecione o controle que deseja ajudar.
2. Na janela Propriedades, selecione a propriedade WhatsThisHelpID.
3. Insira o identificador de contexto do tópico de ajuda pop-up relevante.
4. Repita as etapas 1 a 3 para quaisquer outros controles.
5. Selecione o formulário.
6. Na janela “Propriedades”, defina a propriedade WhatsThisHelp do formulário como True.
7. No evento Click do menu ou botão da barra de ferramentas, digite o seguinte código:
nome do formulário.WhatsThisHelp
Quando o usuário clica no botão ou menu, o ponteiro do mouse muda para um ponteiro de ajuda "O que é isto". Para ativar a ajuda "O que é isto" na barra de título de um formulário de diálogo personalizado, defina as propriedades WhatsThisButton e WhatsThisHelp como True.
Para obter mais informações sobre a ajuda do "WhatsThis", consulte "Propriedade WhatsThisHelp" e "Propriedade WhatsThisButton" na Referência de linguagem.
exibição de status
As exibições de status também podem ser usadas para fornecer assistência ao usuário, da mesma forma que as dicas de ferramentas. As exibições de status são uma ótima maneira de fornecer instruções ou mensagens que não seriam adequadas para dicas de ferramentas. O controle da barra de status incluído nas edições Professional e Enterprise do Visual Basic pode exibir mensagens muito bem; o controle Label também pode ser usado como uma exibição de status.
O texto exibido na exibição de status pode ser atualizado de duas maneiras: usando o controle ou o evento GotFocus do formulário ou usando o evento MouseMove. Se você quiser usar a tela como um dispositivo de aprendizagem, adicione um item ao menu Ajuda para ativar e desativar sua propriedade Visível.
Para adicionar uma exibição de status, siga estas etapas:
1. Adicione um controle Label ao formulário.
2. Selecione o controle para o qual deseja exibir uma mensagem.
3. Adicione o seguinte código no evento MouseMove (ou GotFocus) do controle: Labelname.Caption=Enterthecustomer'sIDnumberinthisfield Quando o mouse passa sobre o controle, esta mensagem será exibida neste controle Label.
4. Repita as etapas 2 a 3 para quaisquer outros controles.
mago
Um assistente é um dispositivo assistido pelo usuário que o orienta passo a passo na implementação de um processo usando seus próprios dados reais. Os assistentes são frequentemente usados para fornecer assistência específica em tarefas. Eles ajudam em tarefas que exigem um processo de aprendizagem demorado (e irritante) e fornecem informações especializadas para usuários que ainda não são especialistas.
As edições Professional e Enterprise do Visual Basic incluem uma ferramenta para criação de assistentes: o Wizard Manager.
Para obter detalhes sobre o assistente, consulte "Usando assistentes e suplementos" no Capítulo 4 "Gerenciamento de projetos".
->