Prévia do material em texto
1 2 Conteúdo UNIDADE 1 – CONTEXTUALIZAÇÃO ....................................................................................... 5 1.1 Ergonomia ........................................................................................................................ 7 1.2 Interação Humano-Computador (IHC) ........................................................................... 8 1.3 Usabilidade e Engenharia de Usabilidade ....................................................................11 1.4 Qualidades Desejáveis para uma Interface Agradável ...............................................13 UNIDADE 2 - FUNDAMENTOS TEÓRICOS............................................................................ 20 2.1 Heurísticas de Usabilidade ............................................................................................21 2.2 Princípios de Diálogo ......................................................................................................31 2.3 Critérios Ergonômicos de Usabilidade ..........................................................................31 2.4 Recomendações Ergonômicas para IHC .....................................................................38 UNIDADE 3 - MÉTODOS E TÉCNICAS PARA PROJETOS DE IHC .................................... 49 3.1 Atividades triviais do design de interação .....................................................................50 3.2 Ciclo da Engenharia de Usabilidade .............................................................................53 3.3 O envolvimento do usuário no desenvolvimento do projeto .......................................54 3.4 Técnicas para construção de um projeto ......................................................................54 3.5 Técnicas para modelagem de interface ........................................................................67 UNIDADE 4 - AVALIAÇÃO .................................................................................................... 73 4.1 Por que Avaliar?..............................................................................................................75 4.2 O que avaliar e onde avaliar? ........................................................................................76 4.3 Quando avaliar? ..............................................................................................................77 4.4 Técnicas de avaliação de Usabilidade ..........................................................................77 4.5 Avaliação Heurística .......................................................................................................79 4.6 Inspeção por meio de lista de verificação .....................................................................84 4.7 Técnicas Objetivas..........................................................................................................87 UNIDADE 5 – ACESSIBILIDADE À WEB .......................................................................... 93 5.1 Introdução ........................................................................................................................94 5.2 Acessibilidade na web e sua relevância .......................................................................97 5.3 A Web Acessível .............................................................................................................98 5.4 As Recomendações para Construção de um site acessível .....................................100 5.5 Recomendações do W3C ............................................................................................102 5.6 Métodos e Avaliação de Acessibilidade na Web .......................................................104 3 SOBRE A AUTORA Olá, me chamo, Eduarda Maganha de Almeida, graduada em computação, mestre em Computação Aplicada com ênfase em Engenharia de Software, e doutoranda em Engenharia Elétrica, todos pela Universidade Tecnológica Federal do Paraná (UTFPR), campus de Cornélio Procópio Possuo experiência como pesquisadora na área de Ciência da Computação, com ênfase em Engenharia de Software, pesquisando e atuando principalmente nos temas de: Engenharia de Requisitos e Realidade Aumentada e Virtual. Como publicação mais relevante nos últimos meses, considero a co-autoria de um capítulo do livro Introdução a Realidade Virtual e Aumentada em 2018, além de trabalhos completos publicados em congressos nacionais e internacionais. Atualmente sou professora do departamento de computação da UTFPR de Cornélio Procópio. Caso queira me acompanhar: ● E-mail: duda.maganha@hotmail.com ● Linkedin: linkedin.com/in/eduardamaganhaalmeida ● Facebook: https://www.facebook.com/dudamaganha ● Lattes: http://lattes.cnpq.br/5751112934910095 4 Prezados (as) alunos (as), A função de desenvolver sistemas é um tanto quanto interessante, e se bem executada, pode-se obter um grande retorno financeiro. Entretanto, não é somente identificar e resolver um determinando problema utilizando os recursos de programação disponíveis, é preciso mais, são aspectos que em grande maioria das vezes passam despercebidos. Um desses aspectos é a importância da usabilidade. É necessário que a aplicação possa interagir com o usuário de maneira simples e entendível, pra que isso funcione, os requisitos de software devem ser coletados com clareza e sem ambigüidade, para que haja o máximo de satisfação do usuário quanto ao atendimento às suas necessidades. Esta disciplina tem como objetivo apresentar e contextualizar um tópicos nos quais muitos programadores, analistas, engenheiros de software não se atentam, ou até mesmo,l não dão tão importância, que é a usabilidade. É importante saber mais que uma linguagem de programação, é necessária saber aplicá-la e modelar corretamente. A disciplina envolve conhecimentos multidisciplinares, como: sistema da informação, psicologia, ciência da computação, ergonomia, Interação Humano-Computador (IHC) e design gráfico. O livro aborda os fundamentos da área de engenharia da usabilidade, e aponta as novas fronteiras, não será possível sanar todos os conceitos relacionados à área, mas contextualizar pontos triviais de processos de design de interface, as técnicas clássicas para construção e avaliação de interface e acessibilidade. Este livro é uma colaboração ao processo de ensino da área de desenvolvimento de interface, a partir de referências clássicas que fundamentam a prática de usabilidade em tal área. Espera-se que a disciplina de Engenharia de Usabilidade desperte sua atenção para essa questão de acessibilidade e usabilidade e no final da mesma, possa desenvolver sistemas se atentando as necessidades do usuário. Bons estudos! 5 UNIDADE 1 – CONTEXTUALIZAÇÃO INTRODUÇÃO O uso crescente de sistemas computacionais em quase todos os ramos da sociedade tem levado a necessidade de desenvolvimento de software que possam aprimorar a compreensão das informações. Diante desse crescimento acelerado, depara-se com o desenvolvimento de sistemas sendo implementados sem a avaliação do usuário, ou até mesmo, sem as interações esperadas (ALMEIDA; L’ERARIO; DAMASCENO, 2017). Com a evolução dos sistemas computacionais as interfaces agradáveis aos usuários são componentes indispensáveis. Uma interface agradável combina técnicas visuais com práticas de acessibilidade e usabilidade, possibilitando o acesso e a execução de atividades de maneira simples e objetiva, reduzindo o tempo de busca (RISTOW et al., 2015). As interfaces com o usuário são componentes essências em um sistema computacional. A evolução exponencial dos computadores pessoais e a queda dos preços estão tornando os sistemas disponíveis para grupos maiores de usuários utilizando um grande número de tarefas distintas. O tema aqui relatadopode ser encontrado em diversas áreas, entre elas, a Engenharia é uma área que está diretamente relacionada ao conceito de projeto. É no desenvolvimento do projeto que o engenheiro aplica de maneira mais profunda os seus conhecimentos técnicos e científicos adquiridos para solucionar problemas e alcançar as expectativas com as quais é confrontado. Este documento apresenta tópicos de Engenharia de Usabilidade, o conteúdo provê ao aluno conhecimento básico necessário ao projeto da interação do usuário em um sistema de software, sendo este conteúdo contextualizado em um processo de desenvolvimento de software visando à usabilidade. Espera-se que ao final da disciplina o aluno seja capaz de identificar as técnicas que devem ser utilizadas em um projeto de software, visando à usabilidade, e aplicar tais técnicas no contexto do processo de desenvolvimento. 6 A Usabilidade refere-se à qualidade da interação humano-computador (IHC) proporcionada pela interface de um sistema computacional (formando de pelo menos um processador, memória principal e dispositivos de Entrada e Saída). De acordo com a norma ISO 9241, a 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. Em contrapartida, a norma ISO/IEC 9126, define na facilidade do usuário em aprender a operar, preparar entradas e interpretar saídas de um sistema ou componente. A Engenharia de Usabilidade dispõe-se para o desenvolvimento da interação entre usuário e um sistema computacional, sendo assim, o conteúdo da disciplina inclui tanto o produto, a própria interface, como o processo, compreendendo técnicas e procedimentos utilizados no escopo de um ciclo de vida do desenvolvimento de software. Para alcançar um resultado satisfatório e de boa qualidade, em questão de usabilidade, no desenvolvimento de software é necessário a realização de diversos artefatos que podem ser organizados hierarquicamente. 7 Apresentar os conceitos básicos relacionados à engenharia de usabilidade; 1.1 Ergonomia Antes de iniciar a contextualização de usabilidade é importante destacar o conceito de ergonomia, quando utilizado no contexto computacional. O tema ergonomia não é um tema exclusivo da Engenharia de Usabilidade, entretanto neste documento é dado um breve contexto do seu uso na disciplina, dado que o sucesso processo de desenvolvimento de sistemas deve ser composto de uma equipe multidisciplinar. (GUIMARÃES, 2017) A ergonomia pode ser definida com adaptação ou aperfeiçoamento na adequação dos produtos aos indivíduos. É um termo existente desde a idade antiga quando o homem primitivo sentiu a necessidade de facilitar o cotidiano adaptando utensílios que os auxiliassem na realização das atividades. A Ergonomia é decomposta em “ergon” que significa trabalho e “nomos” que são as regras, sendo assim, ergonomia nada mais é que as regras ou leis do trabalho. É uma ciência que estuda as interações humanas e diferentes sistemas durante a execução de uma determinada tarefa (CYBIS; BETIOL; FAUST, 2010; RISTOW et al., 2015). O seu principal objetivo é conseguir adaptar a tarefa à pessoa e não ao contrario, o que significa que um usuário não irá se adaptar a atividade, mas sim a atividade ao usuário. De maneira geral, acredita-se que a ergonomia é modo correto de realizar uma determinada tarefa. O conceito de ergonomia aplicado a computação é uma abordagem na qual as necessidades e capacidades humanas são o foco do design de sistemas, com o objetivo de garantir que os usuários trabalhem em total harmonia com a tecnologia, alinhando os equipamentos, processos e tarefas às características particulares humanas (RISTOW et al., 2015). 8 A complexidade no desenvolvimento de interfaces ergonômicas deve-se ao fato de serem elaboradas para sistemas abertos, dos quais os usuários são agentes ativos, cujas alterações na maneira de se comportar de cada usuário são extremamente importantes na manutenção e construção de tais sistemas (CYBIS; BETIOL; FAUST, 2010). Dado tal contexto, afirma-se que a experiência do usuário com a interface do sistema é singular. Pouco provável que uma mesma interface irá significar a mesma coisa para outro usuário. 1.2 Interação Humano-Computador (IHC) Existem diversas maneiras de um usuário interagir com um computador, dentre elas pode-se destacar as seguintes. Menus interativos: as possíveis ações a serem executadas pelo usuário estão descritas/listadas na tela, ou organizadas em menus hierárquicos, onde é possível selecionar cada uma das opções de maneira individual, como apresenta Figura 1. Figura 1: Menu interativo Windows 10 (Microsoft Windows 10) Perguntas e respostas: o sistema realiza perguntas ao usuário que, por sua vez, responde fornecendo os dados solicitados. No qual para prover desse 9 sistema, utiliza-se o recurso de Inteligência Artificial (IA), como exemplo desse recurso, a “cortana” pertencente ao Microsoft Windows 10 (Figura 2), e “siri” IA da Apple (Figura 3). Figura 2: Inteligência Artificial - Cortana Windows 10 Figura 3: Inteligência Artificial - SIRI Apple Linha de comando: o usuário digita um comando por vez obedecendo a uma sintaxe específica de cada sistema operacional. O sistema executa o comando e retorna o resultado do processamento, se houver. A Figura 4, apresenta a interface do MS-Dos do Microsoft Windows. 10 Figura 4: Interface MS-Dos Microsoft Windows Teclas funcionais: a interação acontece por meio de um conjunto de teclas específicas ou combinação de teclas para diferentes operações (Figura 5). Figura 5: Teclas combinada para copiar um texto ou palavras Os programas de software e suas respectivas interfaces com o usuário constituem ferramentas cognitivas, simplificam a percepção, a memorização e a tomada de decisão. Para desenvolver interfaces agradáveis, os projetistas devem 11 procurar estruturar as necessidades dos usuários, atentando-se as diversidades existentes entre cada usuário (CYBIS; BETIOL; FAUST, 2010). O desenvolvimento de interfaces exige conhecimentos sobre a engenharia de usabilidade, disciplina que surgiu no final da década de 80, e que na década posterior deixou de ser apenas dos laboratórios e departamentos acadêmicos e passou a ser praticada em empresas de desenvolvimento de software, como o objetivo de construir softwares interativos (CYBIS; BETIOL; FAUST, 2010). 1.3 Usabilidade e Engenharia de Usabilidade O estudo referente à interação usuário-máquina com a implantação de novas tecnologias envolve múltiplos conhecimentos, assim sendo, estudos voltados à usabilidade são de grande importância, pois busca analisar se a interface está alcançando um nível satisfatório de entendimento (MACHADO et al., 2014). A proposta de usabilidade começou a ser utilizado no início da década de 80 como um substituto da expressão “user-friendly”, a qual era considerada subjetiva, surgiu como ramificação do termo ergonomia voltada para interfaces computacionais, mas ganhou destaque e se difundiu para outras áreas (GUIMARÃES, 2017). A usabilidade pode ser definida como a capacidade de um produto ser utilizado por determinados usuários para atingir objetivos específicos com eficácia, eficiência e satisfação em um contexto particular de uso, ou, facilidade com que os usuários têm ao utilizar determinado recurso, seja interface gráfico, dispositivos ou qualquer tipo de objeto usual. Dado tal contexto, pode-se concatenar usabilidade à facilidade de uso (CYBIS; BETIOL; FAUST, 2010). O que vale ressaltar quanto ao termo de usabilidade é que usuários distintos possuem necessidades distintas, o que significa que um sistema bom para umusuário e não tão bom para outro usuário. 12 A norma ISO 9241 determina como 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 com efetividade, eficiência e satisfação. Figura 6: Características de um sistema interativo (baseado Norma ISO 9241) A eficácia é vista como a capacidade de executar determinada atividade de maneira correta e completa; a eficiência é dada como os recursos gastos para alcançar a eficácia do sistema e; a satisfação refere-se ao nível de conforto que o usuário sente ao utilizar tal interface. De acordo com Cybis, a Engenharia de Usabilidade, ou até mesmo Design Centrado no Usuário (como encontrado em algumas literaturas) surge como esforço sistemático das empresas e organizações para desenvolver programas de software interativo com usabilidade. As vantagens alcançadas pela introdução de técnica da engenharia de usabilidade ao processo de desenvolvimento de projeto são visíveis tanto no aspecto da eficiência de interface quanto em processos mais estáveis, confiáveis e com maior satisfação e aderência dos usuários e clientes (RISTOW et al., 2015). De acordo com Jakob Nielsen (Nielsen, 1993), a engenharia de usabilidade visa o desenvolvimento de interfaces com os seguintes atributos: produtividade na 13 realização de atividades; facilidade de aprendizado; retenção do aprendizado com uso intermitente; prevenção de erros do usuário e satisfação do usuário. Em outras palavras, trata-se de sistemas adaptados e agradáveis desenvolvidos através da compreensão de quem são usuários finais e do envolvimento de usuários nos requisitos, no design de interface com o usuário e nos esforços de teste. A Engenharia de Usabilidade é uma etapa do processo de desenvolvimento do software voltada e centrada na pesquisa com o usuário ou cliente, através de métodos investigativos, tais como entrevistas, surveys, experimentos, dinâmica com os envolvidos entres outros; e métodos generativos como brainstorming e prototipação (RISTOW et al., 2015). Essa abordagem iterativa apresentada sobre a Engenharia de Usabilidade visa desenvolver uma compreensão das necessidades dos usuários, no qual o envolvimento dos mesmos deve ser fortemente encontrado em todas as fases pode compor um processo de Engenharia de Usabilidade. Dentre os processo de Engenharia de Usabilidade pode-se destacar: a especificação do contexto é identificada os usuários, como e para qual finalidade o sistema será construído; especificação de requisitos, etapa de identificação das necessidades funcionais e não funcionais através de entrevistas e estudos com o usuário; prototipação da interface, representação gráfica preliminar da interface do sistema e; avaliação fase de qualificação dos recursos do sistema, testes de usabilidade. Além dessas fases, outras podem ser incluídas ou removidas em qualquer situação, dado que esse processo é flexível para cada tipo de organização. A produtividade na realização de atividade tem como funcionalidade a interface permitir um desempenho consideravelmente bom do usuário na realização das tarefas, ou seja, um bom desempenho no usuário em sua interação com um sistema de software. A facilidade de aprendizado 1.4 Qualidades Desejáveis para uma Interface Agradável O sucesso no desenvolvimento de um software pode ser medido pela maneira com que ele realiza as atividades para qual foi proposto. Os requisitos possuem uma 14 função primordial no processo de software e um dos fatores determinantes para realizar a avaliação da interface do sistema, por apresentar a função de identificar os requisitos das partes envolvidas, definirem as funcionalidades, restrições e entre outros, sendo assim, considerado um fator decisivo para o sucesso ou fracasso de um projeto (ARRUDA et al., 2014). Para atingir o sucesso, é importante que seja realizado a identificação e documentação das necessidades da aplicação. Estas atividades, na maioria das vezes, exigem um conhecimento do ambiente onde a aplicação será implantada. A Engenharia de Requisitos (ER) é a área da Engenharia de Software que se preocupa com as metas, funções e restrições de uma aplicação, sendo apontada com um processo para extrair, descrever, documentar e validar os requisitos de um produto de software através da identificação das partes de interesse (CORREA DOS SANTOS; DELAMARO; NUNES, 2013). Um processo de ER é um conjunto de atividades que devem ser seguidas para derivar, validar e manter um documento de requisitos, o processo envolve criatividade, interação de diferentes grupos, conhecimento e experiência para transformar informações diversas em documentos e modelos que direcionem o desenvolvimento de software. No entanto, não faz sentido falar em processo ideal sabendo que o processo de ER pode variar de uma organização para outra, o processo pode ser adaptado atendendo as necessidades reais de cada organização, de maneira generalizada a maioria dos processos de ER podem ser descritos em um modelo de atividades de alta granularidade, como apresentado na Figura 7. 15 Figura 7: Modelo de Processo da Engenharia de Requisitos (Adaptado SOMMERVILLE, 2011) A elicitação de requisitos deve entender a parte interessada, seus processos e necessidades, com o objetivo final de comunicar essas necessidades para o desenvolvedor da aplicação. Essa atividade de especificação é dada por fatores humanos, sociais e organizacionais e envolve pessoas com diferentes conhecimentos e objetivos, o que a torna complexa. A análise de requisitos é a etapa no qual os requisitos são organizados em categorias, com a finalidade de explorar as relações entre os requisitos e classificar sua importância de acordo com a necessidade dos stakeholders (um stakeholder é qualquer grupo ou indivíduo que pode ser afetado pela obtenção dos objetivos de uma determinada organização (SOMMERVILLE, 2011)). Após essa etapa, os requisitos são documentados em um nível de detalhamento adequado, de maneira que os stakeholders possam compreender. A validação dos requisitos examina a especificação do software, de forma a assegurar que os requisitos foram definidos sem ambigüidades, inconsistência ou omissões, a fim de conseguir identificar os erros e corrigi-los. De acordo com (PRESSMAN, 2007) alguns dos problemas que surgem durante o processo da ER são os erros em não fazer uma distinção entre os níveis de descrição dos requisitos. Devido a isso, há uma separação entre os requisitos de usuários, que identificam os requisitos abstratos de alto nível; e os requisitos de sistema para descrever o que o sistema deve fazer (PRESSMAN, 2007). Quando a documentação da especificação de requisitos é realizada de maneira objetiva, os 16 requisitos documentados têm chances de serem corretamente compreendidos pelos desenvolvedores da aplicação. Para o desenvolvimento de aplicações de RA, desenvolvedores se deparam com um problema, pois na literatura há sugestões estreitas de guias de desenvolvimento, na grande maioria derivadas de problemas específicos de cada aplicação (CORREA DOS SANTOS; DELAMARO; NUNES, 2013), visto isso, reforça-se a necessidade de propor uma abordagem para o processo de especificação e análise de requisitos em aplicações de RA. Para a construção de qualquer projeto de sistema, os requisitos devem ser baseados nas expectativas dos usuários e a facilidade em seu uso, sendo assim, reforça-se a necessidade, de construir uma interface com características desejáveis e agradáveis. 17 Considerações Finais O primeiro capítulo teve como objetivo apresentar os conceitos da disciplina. A disciplina diz respeito ao projeto, avaliação e implementação de sistemas de computador interativos para uso humanoe ao estudo dos principais fenômenos que os cercam. Conjunto de processos, diálogos e ações através dos quais o usuário humano interage com um computador. A área de usabilidade e interface humano computador deve-se ser tratada com alta rigorosidade, a mesma conectada a construção de interfaces usáveis e intuitivas demandam de atenção para se obter um resultado final satisfatório e eficaz. Entretanto, construir tais interfaces requer conhecimentos multidisciplinares, e principalmente a participação efetiva do usuário durante as fases da construção da aplicação. Assim sendo, esse capítulo apresentou os conceitos triviais para compreendermos a importância da introdução da ergonomia e usabilidade no processo de construção de uma aplicação. 18 ALMEIDA, E. M. D.; L’ERARIO, A.; DAMASCENO, E. F. Modelagem de Requisitos para Cenários de Realidade Aumentada: Uma Análise sobre os Modelos KAOS e Mapa Mental. XIX Symposium on Virtual and Augmented Reality. Anais...Curitiba - PR: 2017 ARRUDA, D. et al. Engenharia de Requisitos : Um Survey Realizado no Porto Digital, Recife/Brasil. 2014. CORREA DOS SANTOS, A. C.; DELAMARO, M. E.; NUNES, F. L. S. The Relationship between Requirements Engineering and Virtual Reality Systems: A Systematic Literature Review. Virtual and Augmented Reality (SVR), 2013 XV Symposium on, p. 53–62, 2013. CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade Conhecimentos, Métodos e Aplicações. 2a Edição ed. São Paulo: [s.n.]. GUIMARÃES, C. Design & Engenharia de Usabilidade - aplicação pratica na criação de um aplicativo Design & Usability Engineering - a guide to inform the Design of applications. v. 14, 2017. MACHADO, L. et al. Métodos de avaliação de usabilidade: características e aplicações. n. August 2016, 2014. PRESSMAN, R. S. Engenharia de Software - Uma Abordagem ProfissionalDevelopment, 2007. RISTOW, H. et al. O ergodesign e a engenharia de usabilidade de interfaces , como facilitadores para os usuários na busca de informações. p. 48–62, 2015. SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Brasil, 2011. 19 Referências das Figuras utilizadas na UNIDADE 1 Figura 1: Menu interativo Windows 10 (Microsoft Windows 10) ...................................... 8 Figura 2: Inteligência Artificial - Cortana Windows 10 ..................................................... 9 Figura 3: Inteligência Artificial - SIRI Apple ..................................................................... 9 Figura 4: Interface MS-Dos Microsoft Windows ............................................................ 10 Figura 5: Teclas combinada para copiar um texto ou palavras ..................................... 10 Figura 6: Características de um sistema interativo (baseado Norma ISO 9241) ........... 12 Figura 7: Modelo de Processo da Engenharia de Requisitos ....................................... 15 20 UNIDADE 2 - FUNDAMENTOS TEÓRICOS Sempre que necessário o desenvolvimento de uma nova aplicação, a história é sempre a mesma: “Como vou começar?” “Tem código pronto na internet” “Existe alguma interface semelhante” “Por que tantas opções de botões” “Por que uma aplicação tão difícil? Essas e outras questões são impostas sempre que se deseja construir uma aplicação que atenda de fato as necessidades reais de um usuário específico. Para tal demanda é extremamente importante a intensa participação dos usuários no processo de desenvolvimento de uma aplicação, como ressalto, no processo de definição da interface, na realização de testes, avaliações, manutenções. Dado tal contexto, é possível utilizar um conjunto de regras e critérios para a construção de aplicações ergonômicas? Este capítulo apresenta os princípios ergonômicos para Interação Humano Computador para que uma aplicação seja minimamente agradável e confortável para o usuário. 21 Apresentar o conceito de princípios ergonômicos; Conceitos de Interface Humano Computador; Apresentar os conceitos básicos de Usabilidade, Engenharia de Usabilidade; Contextualizar as Heurísticas. 2.1 Princípios Ergonômicos para Interface Humano Computador Assim como o conceito apresentado no capítulo 1, a usabilidade é caracterizada pela facilidade em manusear algum objeto ou aplicação. A construção de uma aplicação com usabilidade depende de diversos fatores e da participação efetiva do usuário durante o desenvolvimento. Em paralelo à usabilidade, a ergonomia foi definida como os produtos ou aplicações são planejados para atender as necessidades do usuário, e facilitar seu cotidiano. 2.1 Heurísticas de Usabilidade Na literatura quando o assunto é usabilidade logo o pensamento é voltado a Jakob Nielsen, um dos maiores especialistas em usabilidade dos Estados Unidos. Nielsen iniciou desde o começou da década de 90 um estudo por ele chamado (traduzido) de Melhores Práticas, no qual constitui de um conjunto de métodos dos quais ao utilizá-los na construção de produtos e/ou sistemas poderia atingir o máximo de eficiência e satisfação. Dado tal pesquisa, publicou em 1994 o clássico livro intitulado de “Usability engineering”. Em seu livro propõe um conjunto de dez qualidades de base para a construção de interface, tais qualidades que por 22 ele foram chamadas de heurísticas de usabilidade, ou comumente faladas as “heurísticas de Nielsen”, sendo elas: I. Visibilidade do status do sistema; II. Compatibilidade entre o sistema e o mundo real; III. Liberdade e controle ao usuário; IV. Consistência e padrões; V. Prevenção de erros; VI. Reconhecimento em vez de memorização; VII. Eficiência e flexibilidade de uso; VIII. Design estético e minimalista; IX. Suporte para o usuário reconhecer, diagnosticar e recuperar erros; X. Ajuda e documentação. I. Visibilidade do status do sistema O ser humano é muito dependente da visão, o que significa evitar que o usuário fique perdido enquanto utiliza a aplicação e/ou o produto. A interface deve sempre mostrar ao usuário o que ele está fazendo e o que esta acontecendo, com tempo de respostas apropriadas e dentro de um prazo consideravelmente razoável, como apresentado na Figura 8, o usuário deve ser informado de tudo que está acontecendo nas aplicações, e todas as ações precisam de um feedback instantâneo para orientá-lo. 23 Figura 8: Visibilidade do status do sistema II. Compatibilidade entre o sistema e o mundo real A aplicação deve exibir a informação ao usuário com uma linguagem familiar. Devem-se utilizar convenções do mundo real fazendo com a informação seja exibida de uma maneira lógica e natural. A Figura 9, a linguagem utilizada nas interfaces não são familiares a todos os usuários, pois as mesmas são técnicas. 24 Figura 9: Compatibilidade entre o sistema e o mundo real III. Liberdade e Controle para o Usuário Segundo Nielsen, os Usuários normalmente escolhem algumas funções no sistema por engano e precisarão de saídas emergências bem demarcadas para sair do estado indesejado sem passar por um longo caminho. O que significa que o usuário necessita ter controle da aplicação, de uma maneira que consiga e seja capaz de cancelar ou desfazer operações a qualquer momento. A Figura 10, exemplifica como o usuário pode ter controle sobre um download, o sistema permite que ele cancele a transferência a qualquer momento. 25 Figura 10: Liberdade e controle para o usuário IV. Consistência e Padrões Heurística considerada simples, mas na maioria das vezes não é aplicada no desenvolvimento de interfaces, o que significa que os ícones, cabeçalhos, harmonização de cores, disposição da página, design e seus elementos em geral. Essa heurística impõe que nãose devem conter ícones iguais e nem com cores semelhantes ou iguais para tratar de ações distintas. A Figura 11 apresenta dois ícones distintos, um para cancelar a instalação e outro para continuar com a mesma, com a mesma cor e tamanho. 26 Figura 11: Consistência e Padrões V. Prevenção de Erros Quando o assunto é prevenção em questão computacional, é sempre desejável estar um passo a frente dos usuários, e prever eventuais erros que eles possam cometer. Entretanto, como mensurar esses possíveis erros? A partir da análise de usabilidade, é importante construir um design que possa prevenir erros, procurando pontos fracos do sistema, aquelas que podem confundir o leitor. Como exemplo, a caixa de busca do Google, o sistema informa continuamente ao usuário o que ele está escrevendo e apresenta sugestões de complementos da frase, para que assim, ele complete sua ação sem qualquer erro. 27 Figura 12: Prevenção de erros VI. Reconhecimento em vez de memorização O usuário detém de uma facilidade para reconhecer ações, padrões, e opções que ficam expostos à medida que se interage, visando explorar suas competências cognitivas, por meio de aplicações com interfaces, menus e listas de seleção intuitivas, que dará ao usuário uma maneira de reconhecer e memorizar as várias informações que ele precisa para realizar uma ação enquanto navega pela aplicação (CYBIS; BETIOL; FAUST, 2010; FERREIRA; NUNES, 2008). O reconhecimento em vez de memorização auxilia o usuário a identificar como ele trafegou pela aplicação, quais ações ele seguiu para chegar a uma determinada interface. Um exemplo clássico desta heurística é a exibição da navegação dentro de um e-commerce, dado que o usuário sempre identifica e selecionada uma categoria de sua preferência, o que torna a navegação eficaz, impedindo que categorias não selecionadas não sejam exibidas, como mostra a Figura 13. 28 Figura 13: Reconhecimento em vez de memorização VII. Eficiência e flexibilidade de uso Uma interface deve ser útil tanto para usuário experiente quanto pouco experiente (ou leigo), o que significa que a aplicação deve se adaptar ao nível do usuário. Tratando-se de um usuário experiente, é interessante que existam alguns “caminhos” que permitam que a interação usuário – máquina seja realizada mais rápida, de modo que também seja flexível e se adapte a usuário menos experientes e que não utilizam os recursos de aceleração ou chamado de atalhos (CYBIS; BETIOL; FAUST, 2010; FERREIRA; NUNES, 2008). Comumente os sistemas operacionais permitem ao usuário a realização de tarefas mais ágeis por meio do teclado, bons exemplos são os atalhos: “Ctrl+C”, “Crtl+V”, “Windows+P”, permitindo acessar as funções de copiar um texto/ palavras/ imagens, colar um texto/palavras/imagens e enviar um arquivo para impressão respectivamente. VIII. Design estético e minimalista Otimizar o tempo é todos os mais importante no cenário atual, e isso não seria diferente quando o assunto é interface. Uma interface cheia de figuras, botões, menus e listas não significam que seja a melhor opção, com isso, priorizar a 29 qualidade e direcionar o objetivo principal da aplicação é a forma mais leve de construir uma interface intuitiva e com elementos essenciais, tornando a aplicação mais eficiente e objetiva para o usuário. Na maioria dos casos, quanto maior a quantidade de informações, mais tempo o usuário levará para processar as mesmas e realizar suas ações. O design da Google é um bom exemplo minimalista, pois com poucos elementos, consegue transmitir o objetivo da aplicação, Figura 14. Figura 14: Design estético e minimalista IX. Suporte para usuário reconhecer, diagnosticar e recuperar erros Essa heurística trata de como auxiliar o usuário a reconhecer, diagnosticar e recuperar os erros cometidos na execução de uma aplicação. Quando um erro acontecer, as mensagens retornadas ao usuário devem ser em uma linguagem simples e de fácil entendimento, e se possível sugerindo opções para uma solução. Pode-se citar como exemplo, os avisos de formulários, ou seja, quando alguns campos definidos como obrigatórios não foram preenchidos ou estão com 30 dados incorretos, sendo um maneira eficaz e clara de mostrar para o usuário que ele cometeu um erro, identificar a origem do erro, e como tal pode ser solucionado. Figura 15: Erros no preenchimento de um formulário X. Ajuda e Documentação A ajuda é um componente fundamental de uma aplicação, tem a função de esclarecer dúvidas e auxiliar com textos e/ou tutorias explicativos, ou seja, é uma heurística que apresenta de maneira detalhada como utilizar a aplicação, facilitando a usabilidade. Usualmente, a documentação e ajuda não são necessárias para auxiliar na navegação em uma aplicação, visto que, a mesma seguiu corretamente todas as regras anteriores, e possibilita ao usuário uma navegação clara e sem redundâncias, resultado de uma interface tão intuitiva que não necessite de ajuda ou documentação. 31 2.2 Princípios de Diálogo A norma ISSO 9241:10, em sua parte 10 define os sete princípios de diálogo para o projeto e avaliação de IHC, sendo eles: Adaptabilidade à tarefa um diálogo é adaptável à tarefa quando dá suporte ao usuário na realização efetiva e eficiente da tarefa. Auto descrição (feedback) um diálogo é auto descritivo quando cada passo é imediatamente compreendido através do feedback do sistema, ou quando sob demanda do usuário. Controle o diálogo é controlável quando o usuário é capaz de iniciar e controlar a direção e o ritmo da interação até que seu objetivo seja atingido. Conformidade com as expectativas do usuário o diálogo adapta-se às expectativas do usuário quando ele é consistente e corresponde a suas características, tais como conhecimento da tarefa, educação, experiência e convenções. Tolerância a erros um diálogo é tolerante a erros se a despeito de erros evidentes de entrada, o resultado esperado pode ser alcançado com mínimas ou nenhuma ação corretivas por parte do usuário. Adequação a individualização o sistema é capaz de individualização quando a interface pode ser modificada para se adaptar as necessidades da tarefa, as preferências individuais e as habilidades dos usuários. Adequação ao aprendizado o sistema é adequado ao aprendizado quando apóia e conduz o usuário no aprendizado do sistema. 2.3 Critérios Ergonômicos de Usabilidade A busca da usabilidade na interação usuário – máquina são parâmetros a serem seguidos para proporcionar ao usuário uma experiência agradável, satisfatória e eficiente. Dado tal contexto, certos elementos são importantes para contribuir com a melhora no nível de eficácia de uma aplicação. http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_adaptabilidade.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_autodescricao.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_controle.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_conformidade.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_erros.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_individualizacao.html http://www.labiutil.inf.ufsc.br/hiperdocumento/principio_aprendizado.html 32 Os “Critérios Ergonômicos” constituem um conjunto de qualidades ergonômicas que as interfaces usuário-computador devem apresentar. Foram desenvolvidos por dois pesquisadores, Dominique Scapin e Christian Bastien, ligados ao INRIA (Instituto National de Recherche en Informatique et en Automatique da França) em 1993. O conjunto é composto por oito critérios ergonômicos principais com o objetivo de reduzir os problemas encontrados na interação usuário-máquina, os mesmos estão descritos na próximas subseções.2.3.1 Condução A condução tem como objetivo orientar, conduzir, informar o usuário a utilizar uma determinada aplicação. Acredita-se que quando o usuário é bem direcionado, há uma redução significativa no número de erros cometidos, dado que uma boa condução simplifica a utilização. Pode-se subdividir a condução em quatro subcritérios: presteza, agrupamento / distinção entre itens, feedback imediato e, legibilidade. A presteza permite ao usuário realizar determinadas ações, identificando qual o estado atual das interações. Assim sendo, uma boa presteza tende a guiar o usuário corretamente em suas ações, reduzindo o tempo gasto em erros. Como exemplo de tal, a inserção de dados indicando o formato adequado e os valores aceitáveis (ex.:__/__/__). O agrupamento e distinção de erros dizem respeito à maneira de como os itens de informações estão distribuídos visualmente na interface, levando em consideração a localização e o formato gráfico dos elementos, indicado também como tais elementos estão dispostos hierarquicamente. O critério de agrupamento e distinção de erros está subdividido em dois critérios distintos: agrupamento / distinção por localização e agrupamento / distinção por formato. O agrupamento / distinção por localização indica o posicionamento e distribuição dos itens na interface, facilitando a percepção do usuário para escolher um item de seu 33 interesse. Normalmente quando os elementos de uma interface são apresentados de maneira organizada, o usuário detecta e diferencia com mais agilidade e realiza sua escolha, levando a uma melhor condução. O agrupamento / distinção por formato relaciona-se com as características gráficas da interface. Ou seja, refere-se às características que podem atrapalhar ou ajudar na associação das informações. Como exemplo a distinção de cores entre os botões salvar e fechar, verde e vermelho respectivamente na maioria dos casos O feedback imediato possuiu relação com as respostas do sistema referente às ações dos usuários, tanto em critério de qualidade quanto velocidade, caso um solicitação do usuário demande de um tempo maior de processamento e conseqüentemente a resposta demora, o usuário pode entender como uma interrupção ou falha no sistema. 2.3.2 Carga de trabalho A de trabalho refere-se aos elementos da interface com a função de diminuir a carga cognitiva e perceptiva do usuário. Tal critério está subdivido em dois critérios: brevidade, o qual inclui a concisão e ações mínimas, e densidade informal. Brevidade O critério informa sobre a capacidade cognitiva, perceptiva e motora, com a finalidade de limitar a carga de trabalho nas operações de leitura e gravação, e reduzir o número de ações que devem ser realizadas. Concisão Reduz a carga de trabalho perceptiva e cognitiva com relação às entradas e saídas. O que significa quanto menos entradas, menor será a probabilidade de erros no sistema. Ações mínimas Busca simplificar a carga de trabalho do usuário, facilitando e reduzindo as ações fundamentais para que uma tarefa seja executada. 34 Densidade informal A aplicação deve conter recursos básicos para ajudar a análise estatística, como por exemplo, deve permitir que o usuário selecione dados na representação visual, e solicitar a realização de soluções de tais dados (VALIATI, 2008). 2.3.3 Controle explícito O critério de controle explícito refere-se às atividades cuja execuções são longas e seqüenciais, nas quais demandam de um processamento lento. Situação advinda de um grande tempo de processador requer a interferência do usuário, caso falte tal, pode ocasionar maior perda de tempo e dados, assim sendo, é necessário os usuários definirem corretamente suas entradas, dado que, sob controle os erros e redundâncias tendem a ser limitados. Controle explícito se subdivide em dois critérios elementares: ações explícitas do usuário e controle do usuário. As ações explícitas são aplicadas antes da realização de longas e seqüências ações, o sistema operacional deve executar somente o que o usuário permitir e somente quando ele requisitar. Deve ficar explícito que o sistema operacional só irá executar ações que o usuário permitir. De acordo com (CYBIS; BETIOL; FAUST, 1986) uma interface explicitamente comandada: sempre solicita uma ação explícita do usuário de validação global em um formulário para entrada de diversos dados ou parâmetros; separa as ações de seleção de uma opção e de ativação dessa opção quando se referir a um tratamento demorado, como mostra a Figura 16 interface do Microsoft Windows para a seleção de tipo de tratamento a aplicar a um arquivo antes de comandar sua transferência. 35 Figura 16: Controle explícito - ações explícitas O critério controle do usuário diz respeito ao controle do usuário sob as ações do sistema operacional. O usuário deve estar no controle da execução de ações de longas e seqüenciais durações, podendo como exemplo, comandar um desvio no fluxo seqüencial da execução (interrupção), o cancelamento, o reinício, a retomada ou a finalização dos tratamentos. O controle sobre as interações favorece a aprendizagem, e assim diminui a probabilidade de erros (CYBIS; BETIOL; FAUST, 1986). 2.3.4 Adaptabilidade Comumente uma interface não consegue atender as necessidades de todos os seus usuários, assim sendo, a adaptabilidade é uma característica esperada em sistemas no qual os usuários são heterogêneos, o que evidencia que uma única interface não consegue atender aos diferentes tipos de usuários. Para que todos tenham acesso ao mesmo nível de usabilidade, a interface deve ser desenvolvida com diversas maneiras de executar uma tarefa, possibilitando 36 ao usuário, a autonomia para escolher uma delas no seu processo de aprendizado. Dois subcritérios participam da adaptabilidade: a flexibilidade e a consideração da experiência do usuário. A flexibilidade permite que uma ação seja executada de diferentes maneiras, permitindo ao usuário a escolha de uma na qual se familiarize de acordo com suas particularidades. interface é considerada flexível quando fornece aos usuários: diferentes maneiras de realizar a entrada de dados (por digitação, por seleção, por manipulação direta; distintos passos para alcançar uma funcionalidade usualmente requerida (ícone na barra de ferramenta, opção em um painel de menu, atalho de teclado) e; como exemplo diferentes opções de formato de arquivos e de unidades para os dados, como Telas de configuração de cores no Microsoft Windows Office 2007, nas quais o usuário pode selecionar uma cor padronizada (à esquerda) ou definir outra personalizada (à direita) clicando sobre um ponto na área de cores ou digitando seu valor em diferentes sistemas (RGB ou TSL). Figura 17: Adaptabilidade - flexibilidade 37 2.3.5 Critério de experiência do usuário É aplicado o critério de experiência com o usuário quando o público alvo da aplicação possuir os mais distintos níveis de experiência, o que significa que a aplicação deve ser utilizada claramente tanto por usuários menos experientes (leigos) quanto experientes. Uma interface baseada na experiência do usuário deve considerar alguns fatores: fornecer aos experientes atalhos que permitem acesso rápido às funções da aplicação; fornecer aos usuários considerados intermediários um guia de auxílio (passo a passo das ações) e; fornecer aos usuários menos experientes ações e guias de auxílio para ajudar os usuários nas tarefas triviais da aplicação (CYBIS; BETIOL; FAUST, 1986; RISTOW et al., 2015). 2.3.6 Gestão de Erros Esse critério refere-se aos mecanismos que possibilitam reduzir ou evitar a ocorrências de erros, e se caso ocorrem facilitar sua solução. As interrupções sejam elas assíncronas (previstas)e síncronas (previstas), na maioria dos casos, geram conseqüências negativas sobre o fluxo de execução de uma aplicação, causando perda de desempenho. A proteção contra os erros tem a função de empregar mecanismos para detectar e prevenir os erros de entradas de dados. As mensagens de erros devem ser legíveis, claras e objetivas, para que as qualidades das mesmas possuam exatidão da informação, e indicações de ações a executar para corrigi-lo. 38 2.3.7 Homogeneidade / Coerência O critério de homogeneidade coerência diz respeito aos rótulos, códigos, denominações, formato, comandos escolhidos na construção da interface. Esses elementos são reconhecidos mais fáceis, quando seu formato, localização ou sintaxe são invariáveis de uma interface para outra. 2.3.8 Significado dos códigos e denominações Neste critério a significância dos códigos se refere à adequação expressão/objeto dos códigos empregados na interface com o usuário. Adequar o vocabulário de rótulos, títulos, cabeçalhos, mensagens, opções de menu, bem como, definir figuras significativas para os ícones e abreviaturas significativas (FERREIRA; NUNES, 2008). 2.3.9 Compatibilidade O critério de compatibilidade refere-se à organização das saídas e entradas de uma dada aplicação deve estar de acordo com as características dos usuários (memória, percepção, hábitos, competências, idade, expectativas, etc.) e da tarefa. Um método de avaliação com base em critérios constitui uma abordagem analítica. Como tal, os critérios são não se destinam a substituir outros métodos de avaliação (por exemplo, "baseada em modelo" métodos, questionário, entrevista, etc.) (CYBIS; BETIOL; FAUST, 1986; NIELSEN; MOLICH, 1990). 2.4 Recomendações Ergonômicas para IHC As recomendações ergonômicas representam uma ciência precisa e detalhada utilizadas pelos ergonomistas em suas interferências. 39 A grande parte dos padrões para IHC estão sendo desenvolvidas pelos órgãos de normalização ISO e IEC e possui orientações e recomendações ergonômicas. Um dos objetivos de tais normas é estabelecer consistência. As recomendações que são mostradas nesta seção foram coletadas do estudo proposto por (CYBIS; BETIOL; FAUST, 1986), baseados principalmente nas normas da ISO 9241 – Requisitos ergonômicos. As normas referentes à usabilidade abordam principalmente tópicos de: Eficácia, eficiência e satisfação na utilização do produto; O processo utilizado no desenvolvimento do produto; Interação do usuário com a interface e; Design centrado no usuário. 2.4.1 Comportamentos de uma interface Os comportamentos de uma interface podem ser classificados em: comportamentos elementares e estruturado, no qual tem a função de especificar os comportamentos esperados de uma interface ao interagir com o usuário. Em comportamentos elementares a interface deve antecipar-se e reagir às ações do usuário, para alcançar tal funcionalidade, alguns elementos de diálogo auxiliam a condução do usuário à meta, como convite à interação, feedback das ações do usuário, apoio às ações do usuário. Convite à interação uma maneira de atrair o usuário pode ser ativado automaticamente pela própria instrução da aplicação; ser gerada por efeito de uma ação do usuário, ou até mesmo adicionada pelo próprio usuário. Apoio às ações do usuário o usuário deve ter suas ações de entrada de dados e comandos facilitados, por meio de recursos que reduzam sua carga de trabalho. Feedback das ações do usuário a norma ISO 9241:13 aconselha, que a cada entrada de dados ou comandos realizados pelo usuário, a aplicação deve produzir um feedback imediato e perceptível. Em comportamentos estruturados os diálogos são os responsáveis por realizar a conexão entre a aplicação se seus usuários, os quais seguem estruturas ou estilos 40 repetindo dois padrões gerais de comportamento: uma seqüência rígida de interação ou, como ocorre na maior parte dos casos, uma seqüência livre, na qual o usuário pode escolher entre ações que lhe são apresentadas de forma concorrente (CYBIS; BETIOL; FAUST, 1986). 2.4.2 Objetos de interação Em meados da década de 1940, surgiram as primeiras construções de computadores eletromecânicos, digital e eletrônico (ENIAC), se nenhuma função de interface com o usuário. O conceito de sistema operacional e sua introdução nos sistemas computacionais fomentaram o final da década de 1950, com a implantação do sistema operacional ATLAS, baseado no conceito de memória hierarquizada, que tinha como objetivo funcionar como uma interface entre usuário máquina, dado que acessar comandos diretamente do hardware demandava de conhecimento avançado e tempo de processador. Assim sendo, os objetos de interação surgiram como recursos para gerar uma diversidade de imagens. Com o avanço das tecnologias, foram especificados alguns objetos e elementos de interação entre usuário e computador, sendo entre eles: janelas, caixa de diálogo, caixa de mensagens, formulários, painel de controle, menus, ferramentas, caixa de combinação. 2.4.3 Painéis de Controle Os painéis de controle são composições de todo tipo de manipulação, seleção, edição e informação, necessários para execução de uma ação ou atividade. As janelas devem possuir uma interface padronizada para todos os elementos da aplicação. Elas representam graficamente os comandos, ferramentas e os dados de uma aplicação. Na maioria dos casos, as janelas devem conter um título, em sua barra superior, centralizado ou alinhado à esquerda. A Figura 18 exemplifica tal conceito. 41 Figura 18: Janela - Microsoft Office 2007 Caixas de diálogo auxiliam em operações singulares, não possuindo menus ou barras de tarefas. E semelhante as janelas, os títulos devem ser centralizados em sua barra superior, ou alinhado à esquerda, possuem botões que operam ações sobre a referida aplicação, além de permitir um rápido fechamento de sua caixa, quando solicitado, como mostra a Figura 19. Figura 19: Caixa de diálogo - Microsoft Office 2007 42 Paralelamente às caixas de diálogos, as caixas de mensagens são utilizadas para informar os usuários sobre as ações advindas de uma determinada aplicação, entre elas, pode-se destacar: O que fazer nas interações; Em que estado se encontra o sistema; a resposta do sistema a uma ação sua; uma situação perigosa, de erro ou de anormalidade; como recuperar a normalidade de um sistema. A Figura 20 apresenta em sua caixa de mensagem ao usuário a instalação de um dispositivo de entrada e saída Figura 20: Caixa de mensagem - instalação de um dispositivo de entrada e saída Os formulários foram desenvolvidos para a entrada de dados do usuário. Em um formulário é extremamente importante que seu layout seja explicativo, simples e intuitivo, para diferenciar os tipos de dados que deverão ser inseridos. o Os campos de um formulário devem estar adequadamente identificados por rótulos objetivos e concisos. Campos de 43 preenchimento obrigatório devem possuir um diferencial gráfico, ou rótulo identificador de obrigatoriedade, como exemplifica a Figura 21. Figura 21: Formulário - preenchimento de dados O painel de menu são os aplicativos verticalmente e horizontalmente dispostos, como os exemplos nas Figuras 22 e 23. 44 Figura 22: Menu - Microsoft Windows 10 Figura 23: Menu - Microsoft Windows 8.1 45 Considerações Finais Com base no que foi exposto das heurísticas, conjuntos de critérios e regras apresentados neste capítulo, é possível realizar um swot de integração entre os itens. A proposta é baseada em (CYBIS; BETIOL; FAUST, 1986), e mantém a estrutura mais detalhada dos critérios ergonômicos e merge com as características definidas por autoresdistintos. Condução Qualidade da documentação e auxílio Adequação ao aprendizado Convite Apresentação da aplicação Agrupamento e distinção por localização Agrupamento e distinção por formato Feedback imediato Carga de Trabalho Legibilidade Brevidade das entradas individuais Concisão das apresentações individuais Ações mínimas Densidade informacional Design minimalista e estético Controle Ações explícitas Controle do usuário Adaptabilidade Flexibilidade Personalização Consideração da experiência do usuário Gestão de erros Proteção de erros Tolerância aos erros Qualidade das mensagens de erro Correção de erros 46 Coerência Homogeneidade interna a uma aplicação Homogeneidade externa a plataforma Compatibilidade Compatibilidade com o usuário Compatibilidade com a tarefa dos usuários Compatibilidade com a cultura dos usuários 47 CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade. In: NOVATEC (Ed.). . [s.l: s.n.]. CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade Conhecimentos, Métodos e Aplicações. 2a Edição ed. São Paulo: [s.n.]. FERREIRA, S. B. L.; NUNES, R. R. e-Usabilidade. 1a Edição ed. Rio de Janeiro: [s.n.]. NIELSEN, J.; MOLICH, R. HEURISTIC EVALUATION. n. April, p. 249–256, 1990. RISTOW, H. et al. O ergodesign e a engenharia de usabilidade de interfaces , como facilitadores para os usuários na busca de informações. p. 48–62, 2015. VALIATI, E. R. D. A. Avaliação de Usabilidade de Técnicas de Visualização de Informações Multidimensionais. Porto Alegre - RS: [s.n.]. 48 Referências das Figuras utilizadas na UNIDADE 2 Figura 8: Visibilidade do status do sistema ................................................................... 23 Figura 9: Compatibilidade entre o sistema e o mundo real ........................................... 24 Figura 10: Liberdade e controle para o usuário ............................................................. 25 Figura 11: Consistência e Padrões ............................................................................... 26 Figura 12: Prevenção de erros ...................................................................................... 27 Figura 13: Reconhecimento em vez de memorização................................................... 28 Figura 14: Design estético e minimalista ....................................................................... 29 Figura 15: Erros no preenchimento de um formulário ................................................... 30 Figura 16: Controle explícito - ações explícitas ............................................................. 35 Figura 17: Adaptabilidade - flexibilidade ........................................................................ 36 Figura 18: Janela - Microsoft Office 2007 ...................................................................... 41 Figura 19: Caixa de diálogo - Microsoft Office 2007 ...................................................... 41 Figura 20: Caixa de mensagem - instalação de um dispositivo de entrada e saída ...... 42 Figura 21: Formulário - preenchimento de dados .......................................................... 43 Figura 22: Menu - Microsoft Windows 10 ...................................................................... 44 Figura 23: Menu - Microsoft Windows 8.1 ..................................................................... 44 49 UNIDADE 3 - MÉTODOS E TÉCNICAS PARA PROJETOS DE IHC Os métodos são um conjunto de abordagens, técnicas e processos utilizados pela ciência para formular e solucionar problemas de aquisição objetiva do conhecimento. Será determinado qual o modelo de solução empregado sobre um problema que se apresenta sob um determinado âmbito com um escopo definido e uma profundidade estabelecida. A utilização de padrões de design é fundamental no processo de desenvolvimento de novas aplicações. Os padrões de projeto para interfaces humano computador começaram a ser explorados por Tidwell em 1998 (CYBIS et al., 2010). O uso de padrões não significa soluções prontas, muito menos regras ou heurísticas e que cada aplicação de um padrão ocorre de forma diferente em cada situação. É relatado que os padrões de design de interface em IHC não é um tutorial de passo a passo, mas sim descrições para problemas específicos. As interfaces categorizadas com bons padrões de design são as que conseguem amparar tanto os desenvolvedores, quantos aos usuários. Aos desenvolvedores disponibilizando-lhes agilidade na programação, e aos usuários, proporcionando-lhes usabilidade nas interações com a aplicação. Este capítulo apresenta os alguns métodos e as técnicas para o desenvolvimento de projetos de IHC com ênfase na usabilidade, estes métodos podem ser empregados para desenvolver ou/e melhorar o design de interfaces. 50 Compreender métodos e técnicas que auxiliam no projeto de IHC; Otimizar design de interfaces; 3.1 Atividades triviais do design de interação O design de interação é o responsável por projetar o comportamento de artefatos interativos em sistemas e aplicações, significar gerar experiências que aperfeiçoam a maneira como os usuários se comunicam e interagem com a aplicação. Cabe salientar, O que difere o Design de Interação de outros tipos de design é o foco nas pessoas. Há uma atenção especial no design de interação, com o objetivo de desenvolver aplicações interativas, intuitivas e eficazes no uso, proporcionando ao usuário uma experiência agradável. Desenvolver aplicações interativas intuitivas requer preocupação em quem irá utilizá-las e onde serão utilizadas. As atividades que podem ser descritas como triviais do design de interação são: identificar as necessidades do usuário e estabelecer requisitos; desenvolver designs flexíveis; construir opções interativas (protótipos, storyboard) dos designs; avaliar as opções. O artefato de identificar e estabelecer requisitos descreve e distingue os distintos tipos de requisitos, e tais são organizados e revisados com o usuário com a finalidade de atender todas as suas necessidades. Durante a definição de requisitos podem surgir problemas ocasionados em não fazer uma separação objetiva entre os níveis de descrição. A Figura 24 apresenta um modelo de ciclo de vida básico para IHC. Existem inúmeros modelos, e cada um tem a sua singularidade, podendo ser utilizados em projetos variados. O modelo apresenta como essas etapas se relacionam umas com as outras e sugere 51 não um processo de desenvolvimento de projeto completo, mas sim os artefatos fundamentais para que o processo seja considerado interativo e centrado no usuário (ROGERS; SHARP; PREECE, 2013). Para poder tratar o ciclo de vida de maneira mais adequada, precisamos responder a algumas perguntas: • Quem são os usuários? • Quais são as necessidades? • Como criar designs alternativos? • Como escolher uma alternativa entre as demais? • Como integrar as atividades de projeto com outros modelos de ciclo de vida? Figura 24: Modelo de ciclo de vida básico para IHC Entender as necessidades do usuário significa compreender e explorar o máximo de informações possíveis sobre ele. Estabelecer os requisitos consiste em uma elicitação das informações que a aplicação deve ou não fazer, e como devem ser manipulada, os requisitos podem ser classificados em requisitos de usuário e requisitos de sistema. 52 Os requisitos de usuário descrevem o que a aplicação deverá fornecer aos usuários e quais serão as restrições com as quais deve operar (SOMMERVILLE, 2011). Os requisitos de sistema são as descrições mais detalhadas das funções,serviços e restrições operacionais da aplicação. Frequentemente os requisitos de sistema são classificados em requisitos funcionais, os quais apresenta o que o sistema deve fornecer e como deve reagir a distintas entradas; e requisitos não funcionais, demonstram restrições aos serviços ou funções oferecidos pelo sistema (PFLEEGER, 2004). Deve-se ressaltar os fatores de qualidade exigidos pela aplicação como, usabilidade, flexibilidade, portabilidade, manutenabilidade, devido as exigências advindas da particularidade de cada aplicação. Os requisitos de usabilidade é um dos quesitos fundamentais em uma interface, uma vez que o sucesso de um sistema dependerá de fatores como a facilidade de aprendizado do usuário no uso com a aplicação, flexibilidade e robustez de sua interação. A partir da identificação dos requisitos de design, as personas e cenários podem ser criados para auxiliar os projetistas durante o processo de desenvolvimento da interface da aplicação. O conceito de persona foi introduzido em 1998 por Alan Cooper no livro intitulado “The inmates are running the asylum”, de acordo com o autor, a técnica proposta é trivial e eficaz, pois as personas são são personagens fictícios que possuem certas características de um grupo de usuários, tais características são guiadas por dados coletados na fase de elicitação de requisitos. Similar as personas, os cenários de uso é uma técnica considerada simples, e prevê que todo cenário deve envolver no mínimo uma persona e um objetivo. Os cenários são importantes para descrever as ações que os usuários deverão realizar, os storyboards são uma maneira de ilustrar os cenários A etapa de avaliar tem como propósito verificar se a documentação dos requisitos definem o que o usuário realmente necessita, se o protótipo gerado está de acordo estes requisitos, É importante salientar que outros tipos de verificações podem ser inseridas, como a verificação de completude e consistência 53 (SOMMERVILLE, 2011). Esta etapa na maioria dos casos, conta com a participação do cliente e analista de requisitos. Possui o produto como etapa final. 3.2 Ciclo da Engenharia de Usabilidade O ciclo das técnicas utilizadas na engenharia de usabilidade deve priorizar o desempenho do usuário em suas atividades, para desenvolver e adaptar sistemas com as características e necessidades de tal. Uma abordagem para a engenharia de usabilidade deve ser aplicada ao desenvolvimento de aplicações que sustente interações as quais os usuários esperam eficiência e eficácia. As vantagens de uma abordagem centrada no usuário, pode ser compreendida em aplicações intuitivas e com facilidade de manuseio e aprendizagem, trazendo conforto ao usuário, e alcançando as expectativas iniciais. Para garantir a qualidade de um aplicação, é necessário o usuário participar constantemente do ciclo de desenvolvimento, além de realizar sucessivos ciclos com resultados e feedback do usuário. A Figura 25 apresenta o ciclo de um projeto centrado no usuário, baseado na norma ISO 13407. Figura 25: Ciclo de um Projeto Centrado no Usuário (ISO 13407) 54 Nota-se que a abordagem é semelhante ao modelo de atividades básicas do design de interação, entretanto a Figura 25 constitui em começar cada ciclo, pela identificação e pelo constante aperfeiçoamento do conhecimento sobre o uso da aplicação, seguindo as exigências de usabilidade da interface. 3.3 O envolvimento do usuário no desenvolvimento do projeto Pode-se perceber nas seções anteriores que o usuário é um participante efetivo em uma equipe de desenvolvimento de interface, o que significa é a pessoa que mais entende a aplicação e suas necessidades. A norma ISO 13407, recomenda o envolvimento do usuário de maneira prática e constante no ciclo de desenvolvimento. Existem duas categorias que identificam com clareza os usuários de uma aplicação: Aqueles que usam a aplicação; Aqueles que de maneira indireta possui alguma relação com a aplicação. De qualquer maneira, os usuários envolvidos em qualquer categoria, avaliam a aplicação de acordo com suas necessidades particulares, e também, quanto à eficácia e eficiência, sendo assim, o envolvimento do usuário no projeto deve ser priorizada em todas as fases do ciclo. 3.4 Técnicas para construção de um projeto De acordo com ROGERS, SHARP e PREECE (2013), existem 4 abordagens para o projeto de IHC: • Design centrado no usuário: o usuário é quem sabe o que é melhor e é o único guia do projetista. O projetista desenvolve aquilo que o usuário propôs. 55 • Design centrado na atividade: neste caso, as tarefas específicas é que são o foco do projeto. O usuário ainda é importante, mas o seu comportamento é que influi neste caso. • Design de sistemas: é uma abordagem estruturada e mais rigorosa. Portanto, ela é mais formal e mais adequada para projetos maiores, pois o sistema como um todo é que se torna o foco. O usuário define os objetivos do sistema. • Design genial (genius design): neste caso, é mais informal e está baseado nas experiências e preferências de um designer. O usuário, neste caso, valida as ideias do designer. Nesta seção são abordadas algumas técnicas utilizadas para a construção de interfaces baseadas nos conceitos de engenharia de usabilidade, as técnicas podem ser classificadas em técnicas de análise contextual e técnica de concepção. As técnicas de análise contextual se referem à análise e a especificação do contexto da utilização de aplicações interativas. Dentre as técnicas podem-se destacar as entrevistas tradicionais, questionários de perfil e de uso, questionários de satisfação. Os questionários de satisfação são aplicados, na maioria dos casos, quando um grupo de usuários é caracterizado como experientes, e utilizam a aplicação com freqüência, podendo assim, contribuir de maneia fidedigna sobre os aspectos satisfatórios e insatisfatórios da aplicação. A Figura 26 apresenta um questionário utilizado para realizar a avaliação de satisfação do usuário em ambientes de realidade virtual. O questionário foi desenvolvido baseado no questionário QUIS (Questionnaire for User Interface Satisfaction), criado em 1987, por Shneiderman nos Estados Unidos (ALMEIDA; L’ERARIO; DAMASCENO, 2016). 56 Figura 26: Questionário de avaliação de satisfação do usuário em ambientes de realidade virtual Já as técnicas de concepção, são destinadas a implementar os requisitos para a interface e a usabilidade de uma aplicação, dentre as técnicas de concepção, pode-se ressaltar: Brainstorming; Storyboard; Protótipos; I. Brainstorming O Brainstorming é uma expressão inglesa formada pela união das palavras “brain”, traduzido significa cérebro, e “storm” significa tempestade, logo 57 “brainstorming”, pode ser traduzida como tempestade cerebral, ou tempestade de idéias. O termo Brainstorming foi criado pelo publicitário Alex Osborn, nos Estados Unidos, com a finalidade de avaliar e analisar a capacidade criativa individual ou de um grupo, foi concebida não apenas para a criação de interfaces, mas para qualquer área que exija as relações humanas, dinâmicas de grupos. Para aplicar a técnica de brainstorming recomenda-se que um grupo (mínimo dois participantes) se reúna e crie idéias para que possam alcançar um denominador comum, com objetivo de gerar idéias inovadoras. Uma interface intuitiva pode ter sido gerada por grupo multidisciplinar, reunidos para criação da mesma. As discussões de um grupo que utiliza a técnica de brainstorming são abertas e livres para expor opiniões e sugestões, entretanto deve existir um líder (ou intermediador) para absorver e relatar as idéias, apresentar resultados esperados. Ainda que, brainstorming seja uma técnica interessante e aberta, possuí algumas desvantagensem sua utilização, entre elas pode-se destacar: por ser uma discussão aberta, quando uma crítica ocorre e não é bem aceito pelo grupo, alguns participantes podem ficar intimidados e deixar de expor uma idéia seja relevante ou não; além disso, as idéias podem surgir de uma maneira confusa e impedir que exista um alinhamento, refinamento e detalhamento em cada uma, dificultando a avaliação e os resultados. II. Storyboard A utilização de cenários para elicitar requisitos de um projeto de software é uma coleção de narrativas que favorecem o levantamento de informações, identificação e antecipação de possíveis falhas e problemas. Um cenário não possui o objetivo de descrever detalhadamente um projeto, mas gerar discussões, permitindo também, documentar as informações coletadas. 58 Semelhante aos cenários encontra-se o storyboard, uma técnica utilizada por permitir descrever situações de uso, a fim de envolver a descrição de um projeto através de quadros com imagens que ilustram as situações do domínio. Cada quadro deve apresentar a cena que descreve a situação, os atores e as ações que cada um deve executar. III. Protótipos A utilização das técnicas utilizadas na prototipação é algo freqüente no ambiente de design e construção de uma aplicação. Um protótipo pode ser definido como uma representação parcial do design da interface. As técnicas utilizadas para prototipação denotam grande utilidade no processo de desenvolvimento de projeto, permitindo extrair informações a respeito da forma como o usuário interage com a aplicação. Os protótipos podem ser entendidos como representação gráfica, não necessariamente funcional, de sistemas em fase de projeto (LAMPERT; BEHNCK, 2009). O método de prototipação rápida é utilizado para demonstrar características e comportamentos desejáveis da aplicação final, pois oferece ao usuário e ao projetista a possibilidade de analisar e identificar possíveis problemas. A classificação dos protótipos de interface é praticada em níveis de fidelidade a interface da aplicação pode ser dividida em duas categorias: prototipação rápida e prototipação de alta e baixa fidelidade. A tabela 1 relata uma comparação entre as prototipação de alta e baixa fidelidade. 59 Tabela 1: Comparação entre as prototipações de alta e baixa fidelidade Tipo Vantagens Desvantagens Protótipo de baixa-fidelidade Custo mais baixo; Avaliação de Avalia inúmeros significados de design; Instrumento de comunicação útil; Aborda questões de layout de tela; Identificação de requisitos Verificação limitada de erros; Utilidade limitada para testes de usabilidade; Limitações de fluxo e navegação; Protótipo de alta- fidelidade Funcionalidade completa; Totalmente interativo; Uso acompanhado pelo usuário; Define claramente o esquema de navegação; Desenvolvimento consideravelmente caro; Criação demanda tempo; Não serve para coleta de requisitos Como apresentado na tabela, os protótipos de baixa-fidelidade são desenvolvidos em pouco tempo, e tanto por pessoas experientes na área, quanto sem conhecimento de programação. Assim, é importante que a ferramenta de prototipagem seja eficiente e intuitiva, a fim de facilitar a construção de protótipos rápidos. Para exemplificar a construção de um protótipo, será utilizada a ferramenta AXURE (disponível e: www.axure.com), que possui recursos para a criação e alteração de telas, componentes de interface, e orientação de navegação. No site do 60 Axure existe uma lista de bibliotecas de Widgets, entre as quais se destacam: Yahoo UI, Metro UI, iOS Library, Android, etc. A ferramenta AXURE gera executáveis em HTML, assim como sua documentação em formato .doc As Figuras a seguir apresentam o passo a passo da prototipação de uma interface de e-commerce. Figura 27: Passo 1 - Criar um novo documento O requisito funcional “Realizar Compra” é granularizado e gerado os seguintes requisitos: a. O sistema deve permitir a visualização dos produtos disponíveis para venda; b. O cliente poderá selecionar e visualizar os detalhes do produto; c. O cliente deverá informar a quantidade desejada e forma de pagamento, antes de finalizar a compra; d. Após a finalização da compra, o sistema deverá emitir uma mensagem de confirmação ao usuário, exibindo o número do pedido. 61 O requisito funcional “Realizar Compra” gera os diagrama de caso de uso e de classes. Figura 28: Diagrama de Caso de Uso Figura 29: Diagrama de classe 62 Figura 30: Passo 3 - Deixar apenas a página "home" Prosseguindo para o passo 4, deve-se Clicar no widget “Classic Menu Horizontal”, arrastar e inserir na área de trabalho. Figura 31: Passo 4 63 O passo 5, deve-se Alterar os nomes do menu para: Produtos (para visualização da lista de produtos, Promoções, Marcas e Meus Pedidos. Figura 32: Passo 5 Passo 6, inserir o elemento “Placeholder” no cabeçalho da área de trabalho (servirá como logo do e-commerce). Figura 33: Passo 6 64 Passo 7, inserir um elemento “Heading” (inserção de textos) com o nome do site. Figura 34: Passo 7 Passo 8, Selecionar no menu “Produtos” e inserir algumas imagens. Passo 9, inserir o nome dos produtos através do elemento “Label”. Para copiar vários elementos: basta selecionar o elemento, pressionar e segurar a tecla “ctrl” e arrastar. Figura 35: Passos 8 e 9 65 Para visualizar o andamento do protótipo: Clicar em “Publish”, “Generate HTML File”. (Observação: talvez a extensão do “Axure RP” tenha que ser instalada no navegador para que a visualização do projeto seja possível) Figura 36: Visualização do protótipo no navegador Figura 37: Protótipo de uma página detalhada 66 O Passo 10, para criar a página de “Confirmação de Compra”, linkar o botão “Comprar” da página “Descrição” com essa nova página. Copiar o cabeçalho padrão do site para a nova página. Inserir uma mensagem de sucesso na nova página. Figura 38: Passo 10 Os protótipos de baixa fidelidade podem ser validados pelos usuários em simulações e testes, entretanto é válido salientar na medida em que as interfaces vão sendo modificados as aparências , comportamento das orientações de navegação, os botões e outros recursos disponíveis também sofrerão alterações. O uso de protótipos nas fases de desenvolvimento de uma aplicação tende a contribuir com a comunicação entre os projetistas e usuários, permitindo testar os modelos de maneira satisfatória, fornecendo respostas úteis. Devido ao contínuo acompanhamento do desenvolvimento projeto, os usuários não se surpreendem de maneira negativa com o resultado da aplicação final, pois a comunicação entre os desenvolvedores e usuários acontece tanto de maneira quantitativa como qualitativa, resultando em uma maior quantidade e melhor qualidade do feedback provido pelos usuários. 67 3.5 Técnicas para modelagem de interface Dado as técnicas para a concepção de interfaces, esse tópico apresenta algumas técnicas relacionadas à modelagem de interfaces, tais técnicas são um conjunto de etapas e atividades para definir elementos concretos e abstratos (LAMPERT; BEHNCK, 2009). Dentre várias técnicas identificadas, serão contextualizadas duas abordagens para a definição de modelos conceituais de interfaces com o usuário, sendo: The Bridge, proposta por Tom Dayton em 1996, e Design Centrado no Usuário, desenvolvida por LaryConstantine e Lucy Lockwood em 1999 (CYBIS; BETIOL; FAUST, 1986). I. The Brigde (A Ponte), possui uma metodologia considerada abrangente e integrada para projetar rapidamente interfaces de usabilidade. A abordagem embasa-se em uma série de sessões de projeto, envolvendoos usuários, projetistas, engenheiros de requisitos, engenheiros de software, programadores, que desenvolvem uma “ponte” entre os requisitos de usuários e da organização do projeto de uma interface que apóie tais requisitos. Dentre as atividades envolvidas nessa técnica, as principais são: Expressar os requisitos do usuário através de um fluxo seqüência de tarefas, no qual os responsáveis determinam um fluxograma de trabalho para aplicação a ser executada pelo usuário; Mapear os fluxos da tarefa em objetos da tarefa, uma vez que estabelecido os fluxogramas de tarefas, estes são analisados e convertidos em objetos da tarefa, esses por sua vez, passam a corresponder a janelas, caixa de diálogos e caixa de mensagens. Mapear objetos da tarefa em objetos da interface, os protótipos gerados de interface devem possuir sua usabilidade testada pelos usuários ativos das atividades do processo. 68 A Figura 39 é um exemplo proposto por (Dayton et al. 1999) e mostra o fluxo de tarefa para o trabalho de registro em um hotel. Figura 39: Exemplo de fluxo de tarefa É necessário salientar, que as descrições apresentadas na Figura 39, são de alto nível de abstração, referem-se as expectativas dos usuários e não sobre os detalhes de como é realizado as ações com a aplicação do hotel. II. Design Centrado no Usuário, O Design Centrado no Usuário é uma abordagem de trabalho utilizada em desenvolvimento de qualquer produto a partir das necessidades dos usuários. A norma 9241-210:2010 define que é uma abordagem para o desenvolvimento de aplicações alternativas que buscam desenvolver aplicações consideradas “usáveis”. No design centrado no usuário, o usuário é a camada mais privilegiada durante todo desenvolvimento, o que significa que todas as atividades de desenvolvimento têm o usuário como foco principal. A abordagem possui três princípios essenciais: foco inicial em usuários e tarefas: que requer observar os usuários e envolvê-los no processo de design; medidas empíricas e teste de uso do produto: é medir, avaliar e analisar a qualidade 69 do software tendo como parâmetro os usuários e; design iterativo: é a repetição de o ciclo projetar, testar, medir e redesign de acordo com o feedback dos usuários para ampliar o entendimento sobre o projeto. O objetivo do design centrado no usuário é produzir um processo de design que amplie a usabilidade da aplicação. Figura 40: Processo de design e envolvimento dos usuários nas etapas Pode-se observar que a participação do usuário é importante durante o processo dessa abordagem, são consideradas importantes, pois as idéias só serão consideradas válidas se o usuário aprovar, o que significa uma redução de custos e trabalhos, evita o desenvolvimento de funcionalidades e recursos inviáveis, e a poluição gráfica também são reduzidos, dado que sempre o usuário realiza um feedback referente a evolução do desenvolvimento. 70 Considerações Finais Neste capítulo foram apresentadas várias técnicas para coletar os requisitos dos usuários, e conseguir desenvolver aplicações capazes de atender as necessidades, expectativas coletadas nos requisitos. As características geradas nas atividades propostas poderão contribuir para a construção de aplicações eficazes e eficientes, visto que as abordagens podem ser adaptadas para cada cenário específico, ressaltando que o usuário é o ator principal, e todas as informações, orientações, sugestões advindas do mesmo, são de extrema importância para o prosseguimento do desenvolvimento. Reforçando assim, a idéia da abordagem centrada no usuário, o usuário deve ser participação efetiva em todas as etapas, e os feedback coletados serão analisados auxiliando na construção de uma aplicação concreta, intuitiva, e flexível. 71 ALMEIDA, E. M. D.; L’ERARIO, A.; DAMASCENO, E. F. Avaliação da Satisfação do Usuário em Campanhas de Marketing com Realidade Aumentada. XVIII Symposium on Virtual and Augmented Reality. Anais...Gramado - RS: 2016 CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade. In: NOVATEC (Ed.). . [s.l: s.n.]. LAMPERT, R.; BEHNCK, E. S. Ferramenta de Apoio a Prototipação de Interfaces. p. 1032–1034, 2009. PFLEEGER, S. L. Engenharia de Software: Teoria e Prática. 2. ed. São Paulo: Pearson Education do Brasil, 2004. ROGERS, Y.; SHARP, H.; PREECE, J. Design de Interação. 3a ed. Porto Alegre - RS: [s.n.]. SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Brasil, 2011. 72 Referências das Figuras utilizadas no Capítulo 3 Figura 24: Modelo de ciclo de vida básico para IHC ..................................................... 51 Figura 25: Ciclo de um Projeto Centrado no Usuário (ISO 13407) ................................ 53 Figura 26: Questionário de avaliação de satisfação do usuário em ambientes de realidade virtual ............................................................................................................. 56 Figura 27: Passo 1 - Criar um novo documento ............................................................ 60 Figura 28: Diagrama de Caso de Uso ........................................................................... 61 Figura 29: Diagrama de classe ...................................................................................... 61 Figura 30: Passo 3 - Deixar apenas a página "home" ................................................... 62 Figura 31: Passo 4 ........................................................................................................ 62 Figura 32: Passo 5 ........................................................................................................ 63 Figura 33: Passo 6 ........................................................................................................ 63 Figura 34: Passo 7 ........................................................................................................ 64 Figura 35: Passos 8 e 9................................................................................................. 64 Figura 36: Visualização do protótipo no navegador ...................................................... 65 Figura 37: Protótipo de uma página detalhada .............................................................. 65 Figura 38: Passo 10 ...................................................................................................... 66 Figura 39: Exemplo de fluxo de tarefa ........................................................................... 68 Figura 40: Processo de design e envolvimento dos usuários nas etapas ..................... 69 73 UNIDADE 4 - AVALIAÇÃO De acordo com (CYBIS; BETIOL; FAUST, 1986), é essencial destacar que um problema de usabilidade ocorre durante a interação, comprometendo o usuário na execução de sua tarefa, mas sua origem é identificada em um problema de ergonomia de interface. Existem diversos métodos de avaliação, decidir qual utilizar é uma tarefa difícil e de certa maneira está associada a base histórica da equipe de desenvolvimento. No entanto, todas as definições são basicamente guias superficiais e genéricos de o que fazer e como fazer uma avaliação para atingir uma usabilidade de qualidade. O processo não se baseia em simplesmente escolher um método e segui-lo à risca, sendo necessário, portanto, saber como realizá-lo no contexto em que o software se encontra. Para empregar um método é necessário: Escolher os critérios adequados para o recrutamento de usuários para o teste; Desenvolver perguntas específicas para a identificação de problemas que o usuário apresenta; Escolher os critérios para seleção das tarefas testadas; Desenvolver roteiros e instruçõesadequadas para os usuários; Escolher os dados que serão coletados e analisados; Realizar a análise dos dados corretamente. Para isso é necessário ter experiência em design de softwares, no domínio e no contexto em que este se apresenta. Antes disso, é necessário também entender os conceitos e métodos existentes para aplicá-los de forma correta e de modo eficaz para cada situação. Supondo, que você tenha desenvolvido um site para “concurseiros”, para compartilharem questões de concursos, e editais abertos. Após ter seguido todas as técnicas apresentadas no decorrer dos capítulos, o site está pronto para ser 74 apresentando ao grupo de usuários específicos (“concurseiros”), como é possível garantir que eles se interessarão pelo site? E de fato irão utilizar? Para isso é necessário uma avaliação, mas como avaliar? Assim como qualquer outra parte do processo de design a avaliação é fundamental. O responsável pela avaliação tem a função de coletar as informações referente a experiência do usuário quando estão interagindo com o protótipo do site, ou uma aplicação. Tal coleta é necessária, para otimizar a usabilidade a experiência do usuário ao utilizar e interagir com uma aplicação. Neste capítulo, será abordado por que a avaliação é fundamental, o que necessita ser avaliado, onde conduzir a avaliação e quando deve ser conduzida. 75 Entender os principais conceitos e termos de avaliação; Conhecer tipos de avaliação. 4.1 Por que Avaliar? Quando falamos em interfaces, logo o pensamento é voltado para algo bonito, e usável, entretanto, com a evolução dos sistemas os usuários esperam mais do que esses dois adjetivos, esperam também, uma experiência agradável e confortável, o que reforça a importância em avaliar uma interface. Se levar em consideração, a parte de marketing e negócios, um produto como um design considerado bom, é vendido. Portanto há uma boa motivação para as empresas investirem em avaliação do produto. A avaliação irá permitir que um produto tenha seus erros corrigidos antes mesmo de ser comercializado. Observe o exemplo para ilustrar: Chame um adulto e um adolescente para conversar a respeito do Instagram e faça perguntas como: com que freqüência você acessa essa rede social? Com que freqüência você posta fotos? Que tipo de fotos você posta? Qual foto você tem como imagem do perfil? Já excluiu alguém da sua lista de amigos? Essas questões realizadas aos dois tipos de usuários distintos nos nortearão a uma avaliação da aplicação (Instagram). Comumente os adolescentes são usuários ativos constantemente do Instagram, e poderão acessá-lo onde e quando quiser, postando fotos de lugares que freqüentam em tempo real. Já o adulto pode utilizar a aplicação e postar fotos esporadicamente, com finalidades distintas dos adolescentes. Sendo assim, você acredita que a aplicação esteja pronta para 76 atender os dois perfis de usuários? De maneira geral, a avaliação de IHC tem como objetivo presumir a qualidade de interação de uma aplicação ou outro recurso computacional. 4.2 O que avaliar e onde avaliar? A avaliação está sujeita ao tamanho do “problema”, o que significa, pode ser avaliados protótipos de baixa tecnologia a sistemas complexos e completos, com uma interface de interação ou várias interfaces linkadas. Deve-se avaliar aspectos cognitivos e funcionais relacionados a execução das tarefas da aplicação, como: É ágil? É intuitivo? De fácil aprendizagem? É seguro? Permitir alterar informações? Ou reverter erros? Onde avaliar está diretamente ligado ao o que está sendo avaliado. Quando o objetivo for avaliar a acessibilidade na web, é recomendado que seja realizada dentro de um laboratório controlado, a fim de validar se todos os requisitos elicitados e o feedback do usuário estão sendo executados. Alguns outros aspectos também podem ser avaliados, entre alguns deles pode-se citar as escolhas de layout, tamanho dos botões, tamanho das teclas de um dispositivo móvel, uma nova aplicação virtual. Neste caso, avaliar se o usuário se sente confortável e seguro utilizando a aplicação. 77 4.3 Quando avaliar? A fase de avaliação da aplicação ocorre em uma etapa do ciclo de vida do desenvolvimento, entretanto a etapa não é fixa, e por ocorrer em qualquer momento do desenvolvimento dependendo apenas do tipo de aplicação que está sendo construída. Como por exemplo, a criação de uma aplicação completamente nova, ou até mesmo a atualização de aplicação para uma nova versão. Se a aplicação for nova, será disponibilizado um tempo para o levantamento de requisitos, a criação de protótipos e a pesquisa no mercado atual. Uma vez que, os requisitos são elicitados, será utilizado para criar os protótipos iniciais, e serão avaliados para verificar se os projetistas e/ou designers conseguiram absorver e interpretar os requisitos dos usuários de maneira exata. Quando a avaliação é feita durante o design, ela é chamada de avaliação formativa, tal abrange uma grande parte do processo de design, desde os esboços iniciais e protótipos até as alterações e refinamento. Existem também as chamadas avaliações somativas, estas empregadas para mensurar o sucesso de uma aplicação finalizada. Se a aplicação está em atualização, então a avaliação vai se concentrar em incluir novos requisitos a aplicação, uma vez que os requisitos iniciais já foram obtidos anteriormente. Neste caso, como novos requisitos podem ser incluídos, a probabilidade do surgimento de problemas de usabilidade é crescente (ROGERS; SHARP; PREECE, 2013). 4.4 Técnicas de avaliação de Usabilidade Para assegurar a boa qualidade de uma interface, é necessário utilizar técnicas de avaliações capazes de fornecer feedback dos usuários sobre como a aplicação pode ser refinada. E cada técnica de avaliação possui uma série de propriedades que disponibilizam tanto vantagens quanto desvantagens, incluindo, por exemplo, o esforço, o tempo dedicado, o nível de habilidade e conhecimento para utilizar a técnica. 78 A principal função do uso de técnicas de avaliação é diminuir ou até mesmo evitar que problemas de usabilidade ocorridos durante o processo de desenvolvimento passem despercebidos. Serão avaliadas as funcionalidades do sistema e a usabilidade da interface, ressaltando aspectos como: interatividade e comunicabilidade, desempenho, aprendizado, memorização, planejamento e satisfação dos usuários. Geralmente são utilizados três tipos de técnicas de avaliação: TÉCNICAS PROSPECTIVAS Busca-se o ponto de vista do usuário sobre a experiência obtida durante a interação com a aplicação TÉCNICAS PREDITIVAS / ANALÍTICAS Objetivo de prevenir os erros na interface, sem a participação direta do usuário TÉCNICAS OBJETIVAS / EMPÍRICAS As informações sobre problemas na interface são adquiridas enquanto o usuário é observado interagindo com a aplicação. As técnicas prospectivas são baseadas na aplicação de questionários e entrevistas com o usuário, a fim de avaliar sua experiência com a aplicação, sendo 79 positiva ou negativa, ou seja, tem como objetivo coletar a opinião do usuário com relação à sua interação com a aplicação. As técnicas preditivas não necessitam da participação direta do usuário durante a etapa de avaliação, tal técnica baseia-se em conhecimento heurístico de um avaliador especialista. 4.5 Avaliação Heurística A avaliação heurística é baseada em um conhecimento prático, sem comprovação científica, executada por meio da experiência cotidiana, sendo assim, o conhecimento heurístico é adquirido no decorrer dos anos, da prática diária, possibilitando identificar e separar o que funciona e o que não funciona. A avaliação heurística tem como objetivo apontarpossíveis problemas de uma aplicação. Tal avaliação foi proposta por Jakob Nielsen (NIELSEN, 1994) e, segundo ele, “a funcionalidade da avaliação heurística é encontrar os problemas de utilização na concepção, de modo que eles possam ser atendidos como parte de um processo iterativo de design.”É um método considerado simples, eficaz, e de baixo custo, se comparado a outros métodos empíricos. Nielsen (1994) denominou de heurísticas porque são regras no âmbito geral e não apenas regras específicas de usabilidade. Neste tipo de avaliação é considero que um indivíduo não é capaz de identificar todas os problemas possíveis de uma aplicação, por este motivo, a avaliação deve ser realizada por um grupo de avaliadores que submetam a aplicação aos princípios heurísticos. Seguindo uma escala proposta por Nielsen e Mack (1994), são atribuídos valores de gravidade para todos os problemas identificado. I. Em sua totalidade não é caracterizado como um problema de usabilidade; 80 II. São identificados apenas problemas estéticos, não sendo obrigatório alterá-lo, a não ser, que o prazo de entrega seja longo; III. Problema menor de usabilidade: deverá ser dada baixa prioridade de alteração desse tipo de problema, não é tão importante alterá-lo; IV. Problema maior de usabilidade: é caracterizado como alta prioridade de alteração desse tipo de problema, sendo recomendando alterá-lo; V. Catástrofe de usabilidade é obrigatório alterá-lo, antes da divulgação da aplicação final. 4.5.1 Como conduzir uma avaliação heurística A avaliação heurística envolver um pequeno grupo de avaliadores com a função de examinar a interface e apontar suas características positivas e negativas, Jakob Nielsen recomenda utilizar geralmente de três a cinco avaliadores, mas essa regra pode variar de acordo com as necessidades da aplicação. De maneira geral, A avaliação é realizada individualmente por cada avaliador, para só depois seus resultados serem compilados e comparados entre os avaliadores. Tal procedimento é fundamental para garantir avaliações independentes e imparciais de cada avaliador. As etapas principais para realizar uma avaliação são: Preparação; Reuniões ou sessões curtas de avaliação individual Consolidação das avaliações individuais Priorização dos problemas encontrados Relatório conclusivo final As heurísticas são regras gerais que objetivam descrever propriedades comuns de interfaces usáveis (NIELSEN, 1990), como pode ser observado na Tabela 81 2. Embora simples e relativamente rápido, o método requer conhecimento do avaliador, para aplicação das heurísticas. 1. Diálogo simples e natural Não utilizar informações desnecessárias, ou raramente utilizadas; Adequação e adaptação à realização das atividades. 2. Utilizar a linguagem do usuário Diálogo informal, com expressões e conceitos do mundo do usuário; Não utilizar termos computacionais, ou difíceis. 3. Minimizar a carga de memória do usuário Não permitir que o usuário tenha que relembrar ações realizadas em atividades anteriores; Uma informação deve permanecer fixa na tela, até que seu uso não seja mais necessário. 4. Ser consistente Seqüência de ações aprendidas em uma parte do sistema podem ser aplicadas em outras partes. 5. Prover feedback Mostrar para o usuário a reação de suas ações sobre a aplicação. 6. Saídas claramente marcadas Caso o usuário acesse uma parte da aplicação de maneira indevida ou por engano, ele deve ser capaz de sair de tal parte sem comprometer sua interação e nem a aplicação. 7. Prover shortcuts Auxiliar o usuário experiente a evitar extensos diálogos e mensagens de informações que ele não deseja ler 8. Mensagens de erros intuitivas e precisas Informar ao usuário qual o erro ou problema identificado, e permitir a 82 correção. 9. Prevenir erros Ao se deparar com uma mensagem de erro, deve-se verificar se tal erro poderia ter sido evitado. Após esta etapa inicial, os relatórios gerados pela avaliação dos especialistas são consolidados em um único arquivo. A partir dos resultados da avaliação é apresentada a necessidade de um conjunto de heurísticas de categorias específicas, para absorver aspectos particulares do domínio considerado. A tabela 3 apresenta um conjunto de nove heurísticas específicas, propostas por (ROMANI E BARANAUSKAS, 1998). Tabela 2: HEURÍSTICAS ESPECÍFICAS (ROMANI E BARANAUSKAS, 1998) Opções de menu significativas e agrupadas logicamente: O agrupamento e os nomes das opções do menu são pistas para o usuário encontrar a opção requerida. Facilidade no modo de operação: O sistema deve prover um modo de operação facilitado, principalmente para sistemas de entrada de dados. Tais sistemas são construídos a base de formulários de entrada de dados sendo importante minimizar a quantidade de toques do usuário. Agrupamento lógico e seqüencial dos campos: O sistema deve dispor os campos de forma lógica e seqüencial nos formulários. O agrupamento lógico facilita a entrada de dados tanto para usuários iniciantes quanto experientes. Diferenciação entre campos não editáveis, obrigatórios e opcionais: O sistema deve prover cor de fundo diferenciada para campos não editáveis sinalizando para o usuário que determinados campos em um formulário não precisam ser digitados. O sistema deve fornecer alguma forma de identificação para campos obrigatórios para auxiliar na entrada de dados pois evidencia quais campos devem ser preenchidos e quais podem ficar em branco. Facilita a entrada dos dados e acaba evitando erros. Permite identificação do tipo de dado e quantidade de caracteres: No sistema deve estar em evidência para o usuário o tipo de dado para cada campo, 83 através de mensagem explicativa, formatação do campo (por ex. --/--/---- para datas) ou no próprio rótulo. O sistema deve alertar sobre a quantidade de caracteres possível por campo. Agilidade na movimentação do cursor: O sistema deve facilitar a mudança de um campo para outro nos formulários através de teclas de atalho além do mouse, como o TAB ou ENTER. Facilidade na correção de erros durante a entrada de dado: O sistema deve permitir a correção rápida de erros durante a entrada de dados através de teclas como DEL, BACKSPACE ou outra. Além disso, ele deve possibilitar overtyping nos campos e a remoção de um campo inteiro. Aproveitamento de dados entrados anteriormente: Para sistemas de entrada de dados, é extremamente importante o aproveitamento de dados na digitação de novos registros. Esta característica diminui consideravelmente a quantidade de toques por registro. Localização de informação rapidamente: O sistema deve permitir a localização de um registro específico durante a entrada do dado. Esta opção de localização deve possibilitar buscas elaboradas não apenas por um código ou chave que identifique o registro na base de dados. Como podem ser notadas, as heurísticas específicas é um aprimoramento das heurísticas gerais. Em alguns casos, os avaliadores atribuem prioridades de correção para todas as violações listadas e geram um relatório final do grupo com as suas conclusões e comentários. Portanto, para se aplicar o método, existem as seguintes maneiras: I. Criar um conjunto de tarefas para ser aplicado pelos avaliadores; II. Fornecer aos avaliadores os objetivos da aplicação e deixar que eles criem suas próprias tarefas; III. Pedir para os avaliadores testarem os elementos de diálogo. 84 4.6 Inspeção por meio de lista de verificação Muitos aspectos d usabilidade podem ser identificados quando se usa uma lista de verificação. A lista de verificação é um checklist, ou seja, são inspeções baseadas em uma lista já existente, com itens que serão verificados pelos avaliadores, não necessariamenteos especialistas. O checklist apresenta como resultado as características referente a aplicação, quando bem consistente e enxuto, na maioria das vezes acompanhados de notas explicativas, produz resultados homogêneos em termos de identificação de problemas de usabilidade. Uma avaliação realizada com checklist apresenta algumas características: • a avaliação pode ser feita pelos projetistas, não há a necessidade de especialistas de interface humano-computador, devido ao conhecimento ergonômico estar embutido no checklist; • sistematização da avaliação, que garante resultados mais estáveis mesmo quando aplicada separadamente por diferentes avaliadores; • facilidade na identificação de problemas de usabilidade, devido as questões de o checklist serem mais específicas; • com a redução da subjetividade relacionada aos processos de avaliação, há um aumento da eficácia da utilização de checklists; • redução de custos da avaliação, pois é um método relativamente mais rápido. Existem algumas inspeções que utilizam o processo de verificação da usabilidade por meio de checklists como a norma ISO 9241 e o ErgoList. O ErgoList é uma ferramenta proposta pelo LablUtil (Laboratório de Utilizabilidade) composta de uma base de conhecimento em ergonomia, associada a uma lista de verificação, checklist, para a inspeção de interfaces humano-computador. Como exemplo as Figuras 41 e 42 uma lista de verificação (ErgoList) 85 Figura 41: Checklist – Ergolist 86 Figura 42: Checklist – Ergolist 87 Assim sendo, a utilização do checklist auxilia o avaliador a realizar uma inspeção sistemática da qualidade ergonômica da interface com o usuário de seu sistema. 4.7 Técnicas Objetivas As técnicas objetivas, também definidas como técnicas empíricas na literatura, são construídas baseadas na participação direta dos usuários. Ainda que, existam outras técnicas, nesse livro, a contextualização será para a técnica de “Ensaio de Interação”. 4.7.1 Ensaio de interação O método de ensaio da interação é classificado como um processo empírico na avaliação de aplicações, e exige a participação direta do usuário e a experiência relatada dos avaliadores. A partir dos ensaios de interação, é possível identificar como a aplicação funciona e onde se encontram os problemas mais relativos. Os ensaios de interação têm o objetivo de identificar problemas nas interfaces e pontos que atrapalhem a facilidade de uso. Esse tipo de ensaio é necessário para comparar as maneiras de interação dos diferentes usuários da aplicação. A montagem do ensaio de interação é composta por três etapas, cada qual com suas atividades relacionadas de acordo com uma situação de responsabilidade, como apresentado na Figura nª. 88 Figura 43: Montagem do ensaio de interação A análise preliminar é realizada na fase de preparação do teste, sendo necessário elaborar o escopo do teste, para identificar quais aspectos deseja-se observar da interação dos usuários. Para tal fase é importante conhecer individualmente os usuários, a fim de conhecer quais as atividades que utilizam com mais freqüência. A fase preliminar é subdivida em reconhecimento do software e pré- diagnóstico ergonômico. Para que a aplicação seja reconhecida é necessária a realização de algumas entrevistas com os projetistas, e desenvolvedores da mesma, com a finalidade de buscar informações sobre o processo de desenvolvimento. Com base nas informações obtidas na atividade de reconhecimento, o pré- diagnóstico pode ser obtido por meio de uma avaliação do tipo heurística ou ainda por meio de um checklist para inspeção ergonômica. Os critérios, recomendações e normas ergonômicas servem como ferramenta de apoio. O resultado é apresentado como um conjunto de hipóteses sobre problemas de usabilidade do software que serão testadas posteriormente durante os ensaios de interação (CYBIS; BETIOL; FAUST, 1986; FERREIRA; NUNES, 2008; VALIATI, 2008). 89 A definição dos cenários e da amostra de usuário é subdividida em três etapas reconhecimento do perfil do usuário, coleta das informações sobre os usuários e suas atividades e, definição das atividades do usuário. A primeira atividade é identificar os usuários finais e analisar se possuem o perfil descrito pelos projetistas. Na segunda atividade, Dependendo do público-alvo, pode ser que seja requerido um detalhamento da coleta de informações sobre os usuários e suas atividades. Por meio de questionários, os projetistas podem buscar mais dados dos usuários em uma amostra maior de pessoas. Estes questionários podem servir como roteiros de entrevistas presenciais ou a distância. E por fim, e não menos importante, determinadas atividades podem ser escolhidas para definir os scripts dos ensaios. Compilado as duas fases iniciais, os testes podem ser realizados em um ambiente real pelo usuário, entretanto, por ser num ambiente real, o nível de controle de execução do teste pode ser reduzido, algumas interferências externas podem ocorrer durante o teste e; também realizados em um laboratório, onde o ambiente é controlado, e a possibilidade de interferência externa é praticamente nula, porém, pode causar o desconforto do usuário devido as condições supervisionadas. Após a realização do teste, o nível de satisfação do usuário é avaliado por meio de questionários e entrevistas, e os resultados positivos e negativos serão apresentados de maneira anônima ou não, fator que depende do termo de consentimento assinado pelo participante (usuário) elaborado para execução do teste. 90 Considerações Finais A proposta de uma aplicação consideravelmente confortável, “amigável”, intuitiva, fácil de usar, se constrói a partir de uma boa definição da interação da interface e da usabilidade da aplicação. É fundamental que os conceitos sejam empregados durante todo o ciclo de desenvolvimento, entretanto, na prática nem sempre é possível. Desta maneira, o uso de técnicas de avaliação é uma garantia de analisar a aplicação desenvolvida e obter resultados de satisfação por parte dos usuários. A escolha de uma técnica para avaliação dependerá das particularidades de cada aplicação. Vale ressaltar, que independente da técnica escolhida, a avaliação será sempre fundamental num processo de desenvolvimento. Espera-se que como bom projetista e/ou desenvolvedor, seu papel seja exercido e utilize as técnicas contextualizadas neste capítulo, e que tais possam auxiliar e otimizar a qualidade de uma aplicação, nunca se omitindo das questões relacionadas a usabilidade. 91 CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade. In: NOVATEC (Ed.). . [s.l: s.n.]. FERREIRA, S. B. L.; NUNES, R. R. e-Usabilidade. 1a Edição ed. Rio de Janeiro: [s.n.]. NIELSEN, J. Usability Engineering. [s.l: s.n.]. ROGERS, Y.; SHARP, H.; PREECE, J. Design de Interação. 3a ed. Porto Alegre - RS: [s.n.]. VALIATI, E. R. D. A. Avaliação de Usabilidade de Técnicas de Visualização de Informações Multidimensionais. Porto Alegre - RS: [s.n.]. 92 Referências das Figuras utilizadas na UNIDADE 4 Figura 41: Checklist – Ergolist ....................................................................................... 85 Figura 42: Checklist – Ergolist ....................................................................................... 86 Figura 43: Montagem do ensaio de interação ............................................................... 88 93 UNIDADE 5 – ACESSIBILIDADE À WEB Há uma citação de Tim Berners-Lee, diretor do W3C e inventor da World Wide Web, que diz: “O poder da web está em sua universalidade”.Com o avanço das tecnologias, a impressão é que não seja mais possível “viver” sem o uso da internet para as atividades cotidianas. Para a grande maioria da população mundial, nos dias atuais, a tecnologia virtual torna a vida mais fácil e prática, aproximando os que estão longe, sanando dúvidas instantâneas, comprando sem sair de casa, e até mesmo pagar contas sem enfrentar as filas bancárias. Dado esse contexto, é de responsabilidade dos projetistas e desenvolvedores garantir que todos tenham acesso aos recursos oferecidos pela internet, e acessibilidade na web, é fundamental para que todos os websites sejam acessados e compreendidos de maneira universal. 94 Esse capítulo aborda as recomendações e compreensão requeridas quanto a questão de acessibilidade na web. Contextualizar acessibilidade; Identificar a importância do desenvolvimento de websites acessíveis; Projetar websites acessíveis. 5.1 Introdução Antes de iniciar acessibilidade à web, é importante entender o conceito chave de acessibilidade de maneira geral. A acessibilidade é um recurso primordial no ambiente, garantido que a qualidade de vida das pessoas seja melhorada. Nos dias atuais, para a grande maioria da população mundial, a tecnologia virtual torna a vida mais fácil, aproximando os que estão longe, sanando dúvidas instantâneas, comprando sem sair de casa, e até mesmo pagar contas sem enfrentar as filas bancárias. Assim como os inúmeros recursos distintos que a web oferece, os seus usuários também são distintos, e pessoas distintas acessam as informações de formas distintas, o que significa que um website com acessibilidade dispõe de uma interface no qual todos os usuários distintos consigam ter a melhor experiência possível durante o tempo de uso. De acordo com a lei nº 10.098/2000, a acessibilidade é conceituada como a possibilidade de dar às pessoas com necessidades especiais o alcance e uso, com segurança e autonomia, de espaços, imobiliários e equipamentos urbanos, edificações, transportes e sistemas e meios de comunicação. Visto isso, desde 2016 95 a Lei Brasileira de Inclusão exige que todos os sites públicos e privados, estejam acessíveis, o que significa ter um site acessível não é apenas cumprir a lei, mas também apresentar um diferencial competitivo e positivo. As Figuras 44, 45, 46 e 47 apresentam alguns exemplos de reais espalhados pelo Brasil com situações de acessibilidade em lugares públicos e privados. Figura 44: Transporte público de Curitiba acessível Fonte (disponível em: https://www.portac.com.br/acessibilidade-em-curitiba.html) Figura 45: Piscina acessível 96 Figura 46: Rampa acessível Figura 47: Elevador acessível 97 5.2 Acessibilidade na web e sua relevância Quando a acessibilidade é referida na web, existem vários aspectos que precisam ser levados em consideração. A W3C (World Wide Web Consortium) possuí uma equipe de trabalho com a finalidade de recomendar algumas ações a serem realizadas em websites para atender aos usuários com necessidades especiais. A criação de um website acessível tem o intuito de beneficiar as pessoas com necessidades especiais, proporcionando-lhes autonomia. Sendo assim, é possível afirmar que cada definição, seja na lei ou na norma, enfoca que acessibilidade significa alcançar alguma coisa com autonomia, mesmo que seja assistida. Sabe-se que a web foi fundada por Tim Barners-Lee e este é diretor do W3C. O objetivo principal do W3C é obter todo o potencial da web, ou seja, ser referência das principais diretrizes para determinar um padrão de criação e construção de site e outros recursos. Para alcançar seus objetivos, o W3C possui diversos comitês que estudam as tecnologias existentes para a apresentação de conteúdo na internet e criam padrões de recomendação para utilizar essas tecnologias. De acordo com o W3C, acessibilidade na web significa que cada pessoa pode perceber, entender, navegar, interagir e contribuir para a web. A acessibilidade de um site deve engloba todas as condições que afetam o acesso à Web, incluindo deficiências visuais, auditivas, físicas, de fala, cognitivas e psicológicas. O uso de acessibilidade na construção de páginas web e aplicações web utilizam elementos que as tornam mais flexíveis, portáteis, abrangentes, intuitivas e fáceis de usar. 98 5.3 A Web Acessível Com a construção de sites e aplicações web acessível, diversos cenários que pareciam longe de acontecer, se tornam viáveis, não apenas para usuários com necessidades especiais, mas para qualquer categoria de usuário. De acordo com os princípios da cartilha disponibilizada pela W3C em 2011, podem-se destacar alguns cenários, entre eles estão: Um usuário com deficiência visual (cego) utilizando um leitor de telas para pesquisar e navegar no site da Receita Federal; Um usuário cego e sem braços procurando sua ex-vizinha em uma aplicação de busca, utilizando um software de reconhecimento de voz como dispositivo de entrada, e receber a resposta da busca a partir do leitor de telas, como dispositivo de saída. Um usuário com deficiência motora utilizando um mouse adaptado para navegar nos sites. Entre outros cenários. 5.3.1 Componentes essências para acessibilidade na Web De acordo com as diretrizes propostas em WAI (Web Acessibility Iniciative) (W3C-WAI, 2013), a acessibilidade na web depende de diversos componentes, estes componentes incluem: Conteúdo a informação contida em uma página web deve incluir informação natural (como textos, imagens e sons), e códigos ou marcações que definem uma estrutura, apresentação; Navegadores players de mídia; Tecnologia assistida como exemplos os leitores de tela, teclados alternativos, entre outros; Conhecimento do usuário as estratégias adaptativas usando a web; 99 Grupo de desenvolvimento pode-se citar os projetistas, programadores, incluindo desenvolvedores com deficiências e usuários que contribuem com conteúdo; Softwares de autoria àqueles websites que criam websites; Ferramentas de avaliação; As Figuras 48 e 49 mostram alguns dos componentes citados para garantir acessibilidade na web. Figura 48: Leitor de tela para deficientes visuais Figura 49:Controle acessível para deficiente visual 100 A empresa Microsoft anunciou em Novembro de 2018, que o controle de Xbox One acessível para deficientes chega ao Brasil neste ano de 2019. O controle (Figura 50) pode ser adaptado e customizado de acordo com as necessidades particulares de cada jogador, permitindo que jogadores com qualquer tipo de limitação e até mesmo amputados poderão jogar os jogos de maneira acessível e fácil. Figura 50:Controle Xbox One Fonte: Divulgação/Microsot 5.4 As Recomendações para Construção de um site acessível O programador Eduardo Rabelo, disponibilizou em sua página web, dez diretrizes com estimativas de tempo para a construção de site acessível, com o 101 intuito de projetar sites e aplicações web que garanta a sua acessibilidade, resultando em melhorar a experiência de interação, sendo elas: I. Não dependa da cor a escolha das cores é uma etapa fundamental, pois tem a finalidade de expressar emoções e comunicações. Como exemplo, o verde é amplamente conhecido por “certo” ou “válido” e o vermelho por “errado” ou “inválido”, entretanto uma parcela da população mundial não consegue distinguir as cores e isso comprometeria a acessibilidade da aplicação. Sendo assim, é recomendado o uso de rótulos ou ícones que informe se o preenchimento dos campos estão certos ou errados, utilizando cor apenas como complemento, mas nunca como opção única. Figura 51:Campos de preenchimento não dependentes de coloração II. Nãobloqueie o zoom a capacidade de ampliar não é apenas relacionada aos sites responsivos, mas uma ferramenta capaz de facilitar a vida das pessoas III. Redescubra o atributo alt; IV. Adicione subtítulos e legendas aos vídeos; V. Semântica = Acessibilidade; VI. Use a marcação correta; VII. Use roles quando necessário; VIII. Elementos escondidos; 102 IX. Siga os padrões de acessibilidade da web; X. Auditoria e Revisão Leia na íntegra as diretrizes propostas por Eduardo em: encurtador.com.br/rGH46 5.5 Recomendações do W3C Como mencionado na seção anterior, o programador Eduardo baseou suas diretrizes no documento proposto pela W3C (W3C,2008), o qual contém diretrizes e recomendações para a construção de sites e aplicações web acessíveis. O documento é dividido em quatro princípios fundamentais, cada qual contendo uma ou mais diretrizes. Princípio 1: Os componentes de informação e interface de usuário devem estar presentes para os usuários em modo que eles possam visualizá-los. E as diretrizes deste princípio são: Alternativas em texto fornecer opções em texto para qualquer conteúdo não textual, de maneira que possa ser convertido em outros formatos, atendendo as necessidades específicas de cada usuário; Mídia baseada no tempo é recomendada em especial que as mídias transmitidas em tempo real tenham algum áudio ou vídeo transmitido juntamente com o texto; Adaptação criar conteúdos que possam ser apresentando de diversas maneiras sem reduzir a informação ou estrutura; Distinguível tornar mais simplificada a forma do usuário ver e ouvir um conteúdo. 103 Princípio 2: Operável, os componentes de interface do usuário e interação devem ser operáveis, e as diretrizes para este segundo princípio são: Teclado acessível todas as funcionalidades do site ou aplicação web devem ser acessadas pelo dispositivo de entrada teclado; Tempo disponível permite e conceda tempo suficiente para os usuários lerem e usarem o conteúdo; Convulsões não criem conteúdo que possa causar desconforto ou convulsões. Algumas pessoas apresentam distúrbios convulsivos podem ter uma convulsão desencadeada por algum conteúdo piscando na tela. Navegável forneça modos de orientação para auxiliar durante navegação pelo site; Princípio 3: Entendível, o que significa que as informações e a interface com o usuário devem ser compreensíveis. Este princípio apresenta três diretrizes: Legível elabore textos objetivos, para que possam ser lidos e compreendidos sem problemas; Previsível faça com que as páginas web apareçam e funcionem de maneira previsível; Assistência de entradas auxiliar os usuários a diminuir e até mesmo evitar os erros, e conseguir corrigi-los. Princípio 4: Robusto, o conteúdo deve ser robusto o suficiente para que ele possa ser interpretado de forma confiável por uma grande variedade de agentes de usuário, incluindo tecnologias assistivas. O último princípio, e não menos importante, apresenta apenas uma diretriz: Compatível robusto o suficiente para que ele possa ser interpretado de forma confiável por uma grande variedade de agentes de usuário, incluindo tecnologias assistivas. 104 Tecnologia Assistiva é um termo ainda novo, utilizado para identificar todo o arsenal de Recursos e Serviços que contribuem para proporcionar ou ampliar habilidades funcionais de pessoas com deficiência e conseqüentemente promover Vida Independente e Inclusão. 5.6 Métodos e Avaliação de Acessibilidade na Web Acredita-se que existem duas maneiras de analisar a existência da acessibilidade de um site em um cenário online: automaticamente e de maneira direta. Os métodos automáticos são softwares gratuitos e pagos, que embora eficazes, não conseguem suprir todos os requisitos de acessibilidade. Já a maneira direita, é realizada pelo próprio usuário verificando a acessibilidade. A Figura 52 apresenta os selos validadores automatizados do W3C, o qual possui uma determinada quantia de ferramentas que se conectam ao site (que será avaliado) e realizam um rastreamento buscando algum tipo de inconformidade com os padrões utilizados. Caso não encontre nenhuma inconformidade, poderá ser inserido no site um selo específico, identificando que o mesmo foi validado pelos padrões do W3C. Dado que, alguns sites podem passar apenas pela validação do código HTML e não passar na validação do CSS, e assim vice e versa. No caso, do validador de acessibilidade, há dois selos importantes, o W3C e o validador do guia Acessibilidade Brasil. 105 Figura 52: Selos de validadores do W3C HTML 4.01 O site é validado de acordo com os padrões da linguagem HTML 4.01 XHTML 1.0 e 1.1 O site é validado de acordo com os padrões XHTML nas versões 1.0 e 1.1 WAI-A, WAI-AA, WAI- AAA O site é validado de acordo com os padrões de acessibilidade do W3C, nível A, duplo A, triplo A respectivamente, que compatibilizam com as Prioridades 1, 2 e 3 das diretrizes do W3C para acessibilidade. 106 RSS VALID O site é validado de acordo com os padrões estabelecidos para as notificações RSS. AAA APROVADOS É um validador brasileiro do guia Acessibilidade Brasil W3C CSS O site é validado de acordo com os padrões de CSS do W3C. A validação direta, ou seja, validada pelo próprio usuário, deve identificar a clareza e objetividade da linguagem proposta, a facilidade na navegação, e sua usabilidade. Os métodos automáticos seguem um fluxo de validação proposto por (QUEIROZ, 2008), são eles: I. Utilizar a ferramenta de acessibilidade automatizada. Vale ressaltar neste item, que alguns aspectos de acessibilidade não conseguem ser identificados pela ferramenta, necessitando da verificação humana (ou validação direta); II. Validar a sintaxe do código; III. Validar o estilo (por exemplo, o CSS); IV. Utilizar um verificador de contraste de cores para garantir a harmonia de cores do site, possibilitando uma boa visibilidade até mesmo por usuários deficientes visuais. 107 V. Usar um navegador apenas de texto (Lynx ou Webvox) ou um emulador, estes tem a função de impedir que javascripts e imagens sejam carregadas; VI. Usar distintos navegadores para analisar e verificar o comportamento dos elementos de: som; desativar as imagens do navegador; sem mouse; sem som; VII. Testas vários navegadores em versões mais antigas e recentes; VIII. Utilizar um leitor de tela, a fim de verificar se o mesmo realiza a leitura de maneira correta. IX. Usar corretores ortográficos. X. Revisar a documentação, com o intuito de analisar a simplicidade e clareza. XI. Realizar um teste, devidamente autorizado, com um usuário portador de necessidades especiais, com o objetivo de avaliar e apontar os pontos positivos e negativos. GLOSSÁRIO CSS Cascade Style Sheet HTML Hypertext Markup Language RSS Really Simple Syndication W3C World Wide Web Consortium WAI Web Acessibility Iniciative XHTML Extensible Hypertext Markup Language 108 Considerações Finais Neste último capítulo foi possível compreender o quão fundamental é o uso da acessibilidade. Para que um site ou aplicação web seja acessado e utilizada por qualquer usuário é necessário seguir boas práticas de desenvolvimento, buscando sempre atender a todas as necessidades que poder surgir durante o fluxo de navegação. Cabe ressaltar, que nem todos os projetistas e desenvolvedores seguem a risco essas práticas, mesmo que seja lei. 109 CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade. In: NOVATEC (Ed.). . [s.l: s.n.]. FERREIRA, S. B. L.; NUNES, R. R. e-Usabilidade. 1a Edição ed. Riode Janeiro: [s.n.]. NIELSEN, J. Usability Engineering. [s.l: s.n.]. ROGERS, Y.; SHARP, H.; PREECE, J. Design de Interação. 3a ed. Porto Alegre - RS: [s.n.]. 110 Referências das Figuras utilizadas na UNIDADE 5 Figura 44: Transporte público de Curitiba acessível ................................................... 95 Figura 45: Piscina acessível .......................................................................................... 95 Figura 46: Rampa acessível .......................................................................................... 96 Figura 47: Elevador acessível ....................................................................................... 96 Figura 48: Leitor de tela para deficientes visuais .......................................................... 99 Figura 49:Controle acessível para deficiente visual ...................................................... 99 Figura 50:Controle Xbox One Fonte: Divulgação/Microsot .......................................... 100 Figura 51:Campos de preenchimento não dependentes de coloração ....................... 101 Figura 52: Selos de validadores do W3C .................................................................... 105