Interfaces Dinâmicas e Adaptativas para Celulares - PDF
Download "Interfaces Dinâmicas e Adaptativas para Celulares"
Joaquim Prada Vidal
1 Interfaces Dinâmicas e Adaptativas para Celulares Flavio Henrique Cardoso de Freitas, Silvano Maneck Malfatti Faculdade Católica do Tocantins (FACTO) Palmas TO Brasil Resumo. Devido ao fácil acesso e às diferentes formas de utilização do celular, torna-se necessário que a interface utilizada para acessar as funcionalidades do sistema seja mais amigável e dinâmica, de maneira que se adapte às necessidades do usuário. Este trabalho propõe um modelo de interface que dinamicamente apresenta as funcionalidades de um celular. O principal objetivo do modelo de interface proposto é se adaptar ao perfil do usuário no intuito de oferecer uma melhor usabilidade e agilidade na execução de tarefas. Palavras chave: celular, interface, usabilidade. 1. Introdução O mercado de celulares cresceu muito nos últimos anos, aumentando cada vez mais o número de usuários que possuem pelo menos um aparelho. Esta tendência pode ser confirmada em números, onde de acordo com o portal G1 (2009) até o final de 2009 duas em cada três pessoas terão um aparelho móvel. Os celulares já deixaram a um bom tempo de serem apenas ferramentas destinadas à comunicação, passando a incorporar aplicativos de alta tecnologia com diversas funcionalidades como aplicações multimídia, tocadores de áudio e vídeos de alta resolução, câmeras fotográficas, GPS (Global Positioning System), acesso à Internet e até mesmo TV. O iphone da empresa APPLE (2009) é um bom exemplo dessa evolução. Devido aos avanços tecnológicos os celulares estão cada vez mais cobiçados por um público bastante heterogêneo, que abrange tanto homens e mulheres, desde crianças até idosos. Por esse motivo, garantir a usabilidade, disponibilizando aparelhos fáceis de usar e que agradem os usuários, é uma das maiores preocupações das empresas que desenvolvem celulares. Este trabalho apresenta um modelo de interface dinâmico para acesso ao sistema de dispositivos móveis, denominado JInterfaceDin e desenvolvido em J2ME (Java 2 Micro Edition). A principal característica do modelo de interface proposto é a sua adaptação de acordo com o perfil do usuário no intuito de oferecer um mecanismo simples e que possibilite a agilidade na execução de tarefas mais rotineiras. O trabalho encontra-se organizado da seguinte maneira: na seção 2 é discutida a implicação da usabilidade em dispositivos móveis; na seção 3 é apresentada a arquitetura do J2ME bem como os motivos que levaram à escolha dessa plataforma; na seção 4 são apresentados os conceitos adotados no projeto JInterfaceDin; por fim são apresentados os resultados obtidos e trabalhos futuros.
2 2. Usabilidade em Dispositivos Móveis O termo usabilidade foi definido pela primeira vez pela norma ISO/IEC 9126 em 1991, sendo caracterizado como a capacidade que um sistema interativo oferece a seu usuário, em determinado contexto de operação, para a realização de tarefas de maneira eficaz, eficiente e agradável. A preocupação com a usabilidade em sistemas interativos surgiu em paralelo com o desenvolvimento de novas tecnologias. Observando a evolução dos celulares é possível notar que os primeiros modelos não possuíam interfaces gráficas. Porém, à medida que os aparelhos foram se modernizando, o teclado foi sendo reduzido e telas e interfaces gráficas foram ganhando espaço. Atualmente, existem modelos em que o teclado foi excluído totalmente dando lugar às telas sensível ao toque. A Figura 1 apresenta um comparativo entre um celular moderno com um dos primeiros modelos de celular lançados. Figura 1. Comparativo entre a interface de um celular atual com um dos primeiros modelos. Essa tendência reflete a necessidade das interfaces atuais para celulares atenderem aos princípios de usabilidade que, segundo NIELSEN (1993), são definidos por atributos como facilidade de aprendizado, eficiência de uso, facilidade de memorização, baixa taxa de erros, consistência e flexibilidade. Em celulares, a interface deve ainda prezar por questões intrínsecas aos dispositivos móveis como memória restrita, limitada capacidade de processamento, bem como a forma como a informação será apresentada em uma tela com tamanho reduzido sem que haja uma sobrecarrega da área de visualização. Além disso, o tempo de acesso e o custo de alguns serviços são fatores críticos para usuários móveis. O acesso a um site WAP é cobrado do usuário, assim como a transferência de dados via web. Nesse sentido, após acessar uma aplicação remota, deve-se minimizar o número de cliques e telas necessárias para executar uma determinada tarefa.
3 Outra questão importante refere-se à facilidade de navegação, tendo em vista que a capacidade limitada das telas, interrupções frequentes e possível falta de atenção podem fazer com que o usuário fique perdido no sistema. Neste sentido, a utilização de menus complexos compostos por muitos submenus deve ser substituída por menus mais simples. É preciso também notar que apesar do celular de hoje incorporar dezenas de aplicativos, sua finalidade ainda é permitir a comunicação. Sendo assim, a interação móvel pode ser interrompida a qualquer momento por diversas razões que vão desde uma chamada, falhas na conexão ou descarregamento da bateria. Portanto, o sistema deve oferecer mecanismos para que o usuário possa continuar a sua tarefa após o retorno de alguma situação especial. Para ABREU (2004), o excesso de recursos e informações pode atrapalhar e confundir os usuários inexperientes. Geralmente, usuários inexperientes não tem necessidade de utilizar os recursos avançados do aparelho, mas apenas suas funcionalidades básicas como agenda, despertador, gerenciador de mensagens e discador. Este problema aumenta à medida que os fabricantes de celulares adicionam cada vez mais tecnologias aos dispositivos sem considerar que dependendo do perfil do usuário tais recursos não serão utilizados, pois para isto seria necessário que o mesmo recebesse treinamento. Em uma pesquisa realizada por SANTOS (2007) concluiu-se que um dos principais motivos para os usuários trocarem seus aparelhos é a busca por novas tecnologias. Entretanto, quando os entrevistados foram questionados sobre o que mudariam na interface do aparelho atual, a maioria respondeu que adicionaria atalhos para os comandos mais utilizados. Além disso, quando os usuários foram questionados sobre o que achavam dos aparelhos atuais, a maioria respondeu que os celulares têm muitos recursos que não são utilizados. Estes resultados mostram que grande parte dos usuários troca de aparelho mais por uma questão de status do que por necessitar dos novos recursos que estão sendo agregados aos aparelhos mais recentes. No intuito de amenizar os problemas descritos torna-se necessária a busca por interfaces gráficas para celulares que atendam aos preceitos definidos pelas normas de usabilidade e, dessa forma, possam melhorar o processo de interação entre usuário e dispositivo. Portanto, se a tendência são aparelhos celulares incorporarem cada vez mais tecnologias, deve ser oferecido aos usuários mecanismos que possibilitem a configuração da interface do sistema no sentido de que os recursos não utilizados não precisam ser apresentados.
4 3. A Plataforma J2ME A plataforma J2ME é uma versão reduzida da linguagem Java destinada ao desenvolvimento de aplicações para dispositivos móveis. Nessa plataforma, a implementação da máquina virtual é bastante enxuta, o que significa que muitos dos recursos da linguagem Java não estão disponíveis em razão da limitação computacional de dispositivos móveis como celulares. A arquitetura do J2ME é baseada nos conceitos de configuração e perfil que funcionam sobre a KVM (Kilobyte Virtual Machine), como mostra a Figura 2. Figura 2. Arquitetura de camadas da J2ME. A primeira camada da arquitetura J2ME é composta pela máquina virtual Java, que foi desenvolvida especialmente para dispositivos com pouca capacidade computacional e que possuam processadores de 16 ou 32 bits. A camada de configuração implementa o conjunto de classes que fornecem as funcionalidades básicas para a programação de acordo com os recursos oferecidos pelo dispositivo. Atualmente existem dois tipos de configuração, a CDC (Connected Device Configuration) e a CLDC (Connected Limited Device Configuration). Segundo JOHNSON (2008), a CDC é destinada a dispositivos móveis com maior capacidade computacional, que possuam processadores de 32 bits e pelo menos 2 MB de memória RAM. A CLDC por sua vez, é destinada a dispositivos que possuem grandes restrições no que se refere à capacidade de processamento, memória e resolução gráfica. A última camada corresponde ao perfil, que nada mais é do que uma extensão da camada de configuração e que complementa os recursos oferecidos pela J2ME. Através dos recursos implementados pelo perfil é possível criar aplicações gráficas, realizar a persistência de dados e estabelecer conexões. Assim como ocorre com as configurações existem basicamente dois tipos de perfil no J2ME, o PP (Personal Profile) e o MIDP (Mobile Information Device Profile). É importante salientar que cada perfil está associado a somente uma das configurações. O PP é o perfil mais amplo e está associado ao CDC para oferecer recursos como suporte à applets e interfaces no estilo AWT (Abstract Window Toolkit). O MIDP está associado ao CLDC, sendo assim é indicado para equipamentos mais simples e
5 com interfaces gráficas menos sofisticadas, como a grande maioria dos celulares encontrados no Brasil. Graças a esta arquitetura multicamadas, o J2ME pode garantir a principal característica da linguagem Java na qual após uma aplicação ter sido codificada ela possa ser executada em diversos modelos de aparelhos que fazem parte do mesmo subconjunto de dispositivos com configurações definidas pelo CDC ou CLDC. Este é um dos principais motivos pelo qual a plataforma J2ME foi escolhida para o desenvolvimento do projeto JInterfaceDin. Para SANTOS (2007), o usuário se confunde ao se deparar com a falta de padrões encontrados no desenvolvimento de interfaces destinadas a celulares. Desta forma, a portabilidade do Java garante que um mesmo conceito ou estilo possa ser mantido para aparelhos de diferentes marcas. Outras vantagens do J2ME incluem a sua gratuidade e programação orientada a objetos em uma linguagem de alto nível que comporta uma série de classes já consagradas no desenvolvimento de aplicações desktop. Além disso, sempre existe a possibilidade de integração entre as aplicações móveis J2ME com outras arquiteturas do Java, como a J2SE e J2EE. Em termos de desenvolvimento de interface, o perfil MIDP escolhido para este projeto, oferece duas formas para o desenvolvimento de aplicações baseadas em componentes visuais, como mostra a Figura 3. Figura 3. Hierarquia de classes oferecidas pelo perfil MIDP para o desenvolvimento de interfaces. A classe Displayable representa um conjunto de objetos visuais que podem ser apresentados na tela do dispositivo. No ramo esquerdo da árvore estão os objetos do tipo Screen que oferecem componentes visuais de alto nível e prontos para serem utilizados. Tais componentes incluem áreas de texto, listas de opções e formulários nos quais é possível inserir outros componentes visuais como campos para entrada de informações, rótulos, data, hora, imagens e barras de progressão. Apesar da programação de interfaces por meio de objetos da classe Screen ser rápida e fácil, ela é pouco flexível para a elaboração de interfaces customizadas. No ramo direito da árvore estão os objetos do tipo Canvas que representam uma área de desenho onde o programador pode renderizar primitivas gráficas como linhas, quadrados, círculos, imagens e textos. Ao criar uma classe que herda os atributos de Canvas, o desenvolvedor tem acesso a um objeto do tipo Graphics que permite a
6 criação de interfaces personalizadas. O modelo de interface descrito na próxima seção foi desenvolvido com base em objetos da classe Canvas. 4. O Projeto JInterfaceDin O projeto JInterfaceDin consiste no desenvolvimento de um modelo de interface que define a forma como será realizada a interação e o controle dos recursos e aplicações oferecidos pelos celulares atuais. As soluções empregadas foram baseadas em um conjunto de idéias obtidas a partir dos problemas relatados na seção 2 e consistem dos seguintes itens: Sistema de interface dinamicamente adaptável ao modelo do aparelho Atalhos dinâmicos Menu customizável Acessibilidade via som Manual eletrônico 4.1. Interface Adaptável Com o intuito de amenizar o problema que envolve a falta de padronização das interfaces entre diferentes aparelhos, a interface do JInterfaceDin tende a se adaptar ao modelo do aparelho. Para tanto são considerados parâmetros como tamanho da tela, resolução, se o visor é colorido ou monocromático e se suporta a renderização de imagens. Todos estes parâmetros são analisados por um gerenciador de layout no momento em que o sistema é inicializado para que sejam feitas as adaptações necessárias conforme mostra a Figura 4. (a) (b) (c) Figura 4. Sistema JInterfaceDin sendo executado em diferentes modelos de celulares. Como é possível notar na Figura 4, o JInterfaceDin adaptou-se a diferentes modelos de celular, levando em conta o tamanho da tela, conforme os modelos (a) e (b) apresentados na figura, ou ainda, transformando imagens em itens para aparelhos
7 monocromáticos e que não suportam a renderização de imagens, como apresentado no modelo (c) da figura. Apesar de não ser possível manter o mesmo padrão de telas entre visualizadores coloridos e monocromáticos sem suporte a imagens, a disposição dos itens e o fluxo das telas é o mesmo, o que preserva o modelo mental que o usuário tem da interface caso venha a trocar de aparelho Atalhos Dinâmicos Um dos recursos que agiliza o processo de interação em dispositivos móveis é a disponibilização de atalhos para as tarefas mais acessadas. Entretanto, nos modelos de celulares encontrados atualmente que suportam essa funcionalidade, os comandos de atalho são fixos ou necessitam serem configurados pelo usuário. No projeto JInterfaceDin os atalhos são dinamicamente selecionados com base no total de acessos realizados pelo usuário a uma determinada operação. Esse recurso favorece não só usuários com perfil diferente, como também um mesmo usuário em diferentes situações. Por exemplo, um usuário no período de férias tende a acessar mais a câmera e os jogos do que a agenda de contatos, a qual é muito utilizada no período de trabalho. A Figura 5 apresenta o sistema de atalhos do JInterfaceDin adaptado a diferentes situações. Figura 5. Atalhos dinamicamente selecionados conforme o contexto de uso Menu Customizável Este recurso foi inserido com o objetivo de diminuir a complexidade da interface através da redução do número de opções oferecidas pelo menu principal. Desta forma, o usuário poderá excluir do menu aqueles itens que não utiliza no dia-a-dia.
8 Além disso, os itens que não estiverem no menu principal também não concorrem para a geração de atalhos dinâmicos. A Figura 6 apresenta uma configuração personalizada para o menu principal Acessibilidade Figura 6. Personalização do menu principal. Um dos principais problemas em customizar dinamicamente a interface refere-se à questão da acessibilidade, principalmente no caso de usuários com deficiência visual. Para amenizar este problema foi incorporada ao JInterfaceDin uma opção de configuração que habilita um locutor para que sejam narradas as interações que ocorrem com o aparelho. Para o desenvolvimento deste recurso utilizou-se um programa sintetizador de voz para converter em sons os comandos disponíveis na interface. No momento da inicialização do sistema os sons são carregados e passam a ser emitidos quando o recurso for habilitado Manual Eletrônico Muitas questões referentes aos recursos do aparelho e forma de manuseio podem ser encontradas no manual de instruções impresso fornecido pelo fabricante. Entretanto, são poucas as pessoas que levam o manual junto consigo no dia-a-dia. Para amenizar este problema foi incluído ao JInterfaceDin um manual eletrônico que permite ao usuário realizar consultas no intuito de resolver possíveis dúvidas. Porém, as explicações oferecidas pelo manual são bastante sucintas tendo em vista que também foram gerados arquivos de áudio para as mesmas.
9 5. Conclusões e Trabalhos Futuros Com a popularização dos celulares e o surgimento de novas tecnologias a cada dia, as interfaces utilizadas em celulares tendem a se tornar mais complexas, sem considerar que o consumidor esteja preparado para utilizar tais recursos. Neste cenário, as interfaces adaptativas podem ser uma saída para a criação de sistemas que melhor se adaptem ao perfil do usuário. Este trabalho apresentou algumas idéias desenvolvidas com o intuito de minimizar os problemas que estão surgindo devido ao excesso de recursos incorporados aos dispositivos móveis. Como trabalhos futuros pretende-se realizar um estudo de caso com grupos de usuários para avaliar o impacto das idéias adotadas. Para que esta próxima etapa possa ser realizada será necessário desenvolver metodologias de avaliação especiais para usuários móveis, tendo em vista que o contexto no qual o dispositivo é utilizado torna-se um importante parâmetro de avaliação durante os testes. 3. Referências Bibliográficas (G1, 2009) Portal G1. Disponível em: MUNDO+TERA+BILHOES+DE+ASSINATURAS+DE+CELULAR+NO+FIM+D O+ANO.html. Acesso em 14/10/2009. (APPLE, 2009) Disponível em Acesso em: 14/10/2009. (NIELSEN, 1993) NIELSEN, Jakob. Usabilty Engineering. San Francisco: Morgan Kaufmann,1993. (ABREU, 2009) ABREU, Leonardo Marques; Moraes, Anamaria de. Usabilidade de telefones celulares com base em critérios ergonômicos. Rio de Janeiro, p. Dissertação de Mestrado - Departamento de Artes & Design, Pontifícia Universidade Católica do Rio de Janeiro. (SANTOS, 2007) SANTOS, Robson; FREITAS, S.; SOUSA, C. Usabilidade de aparelhos celulares: um estudo de consumidores de classes C e D. In: 4o Congresso Internacional de Pesquisa em Design Brasil, 2007, Rio de Janeiro. (JOHNSON, 2007) JOHNSON, Thienne M. Java para Dispositivos Móveis - Desenvolvendo Aplicações com J2ME. 1. ed. São Paulo: Novatec, 2007.