Por ANTÔNIO MENDES DA SILVA FILHO

Professor do DIN/UEM. Doutor em Ciência da Computação

 

Interface de Usuário para Múltiplos Dispositivos:

Questões de Desenvolvimento e Tendências de Pesquisa

 

O computador tem ao longo dos anos deixado de ser um instrumento de trabalho exclusivo dos especialistas de Informática e tornado-se em ferramenta de apoio a diversos profissionais nas mais variadas atividades de trabalho. A variedade de perfis de usuários e tarefas impõe desafios para o projeto de sistemas computacionais e, mais especificamente, para os sistemas interativos. Melhorar a usabilidade de sistemas interativos é uma das principais metas dos projetistas de interface de usuário.  A usabilidade de um sistema é determinada pela facilidade de aprendizado e uso deste. Contudo, alcançar esta meta não é tarefa fácil.

Note que usuários de sistemas computacionais, comumente, buscam aplicações que possuam interfaces ditas amigáveis, isto é, que sejam fáceis de aprender e usar, independente dos recursos funcionais oferecidos pelo sistema. Entretanto, o desenvolvimento de sistemas interativos exigem que aproximadamente 50% do tempo e dos recursos sejam alocados ao desenvolvimento do software da interface de usuário. Assim, concomitante com a meta de melhorar a usabilidade dos sistemas interativos, há ainda a necessidade de minimizar o custo de desenvolvimento.

Aliado às questões acima, tem-se observado que a crescente produção de dispositivos eletrônicos nas últimas décadas tem demandado esforços, cada vez maiores, visando o desenvolvimento de softwares adequados a esses dispositivos. Isto ocorre porque tais dispositivos estão cada vez mais presentes na vida das pessoas e também das organizações. Eles compreendem computadores pessoais, telefones celulares e pequenos computadores portáteis como os PDAs (Personal Digital Assistant ou assistente pessoal digital). Estes dispositivos apresentam funcionalidades similares de uso como, por exemplo, calculadoras, editores de texto, correio eletrônico, agendas, browsers e jogos. Entretanto, eles possuem diversas características que diferenciam uns dos outros tais como dispositivos de entrada e saída, capacidade de processamento e armazenamento, largura de banda de transmissão e interface de usuário.

Nesse sentido, vale observar que quando uma aplicação é desenvolvida para um dispositivo específico como, por exemplo, um computador pessoal, esta mesma aplicação pode ser projetada para uso em PDAs e também em telefones celulares. Entretanto, no desenvolvimento de uma aplicação para um dispositivo específico, todas as M interfaces de usuário devem ser projetadas. Agora, se considerarmos o desenvolvimento de uma aplicação para N dispositivos usando as M (possíveis) interfaces de usuário (para cada um dos dispositivos), então isto terá como conseqüência a necessidade de realizar NxM projetos distintos. Como resultado, ter-se-á um maior esforço de desenvolvimento das interfaces de usuário para múltiplos dispositivos, requerendo um custo maior para atender essa demanda. Concomitante a este fator, outras questões a serem consideradas envolvem:

  • tempo necessário para o projeto da aplicação

  • compatibilidade entre as diferentes plataformas

  • conhecimento necessário para a implementação das aplicações em N dispositivos

  • necessidade de projetos distintos de apresentação e navegação para as interfaces de usuário.

Vale ainda ressaltar que o termo Interfaces de Usuário para Múltiplos Dispositivos ou Multiple User Interfaces (MUI) se refere às interfaces que fornecem informações a serem exibidas através de múltiplas visões, oferecendo suporte à coordenação dos serviços que são fornecidos a um ou mais usuários, além de fazer uso de diferentes plataformas computacionais. É importante destacar que as visões suportadas devem ser adaptada às capacidades e restrições específicas de cada dispositivo, enquanto busca-se manter o padrão de usabilidade e consistência entre as plataformas.

Adicionalmente, uma interface de usuário para múltiplos dispositivos provê suporte aos usuários para interação com serviços e informações, possibilitando o uso de diferentes estilos de interação e interfaces. Além disso, ela deve preservar o comportamento nas diferentes plataformas, mesmo quando estas utilizam diferentes estilos de interação e apresentação. Dentre as principais características das interfaces de usuários para múltiplos dispositivos,  pode-se destacar:

  • Abstração de dados: a abstração se refere a todas as informações ou serviços que devem ser mantidos entre os diferentes dispositivos;

  • Consistência entre plataformas: a consistência entre plataformas consiste nos diferentes look and feel mantendo-se o mesmo comportamento;

  • Uniformidade: a uniformidade deve oferecer as mesmas funcionalidades e feedback mesmo se algumas características ou variações não estejam presentes nas plataformas;

  • Consciência do usuário sobre mudança de contexto: capacidade de se adaptar as versões mais avançadas ou simplificadas dos sistemas;

  • Padronização da interface: Características que não precisam estar disponíveis em todos os dispositivos e/ou mecanismos de acesso.

Exemplos de estilos de interação para as plataformas computacionais comprendem GUI, WUI e HUI. O estilo GUI (Graphical User Interface) ou interfaces WIMP (Window, Icon, Menu, Pointer) é o estilo mais popular, empregando os quatro elementos essenciais numa interface, isto é, janelas, ícones, menus e ponteiros. O estilo WUI (Web User Interface) é composto de marcações XML, folhas de estilo, linguagens de scripting, objetos embutidos e plug-ins. Este tipo de interface é exibido em janelas GUI, conhecidas como  browsers, onde várias janelas podem ser utilizadas para exibir informações. Já o estilo HUI (Handheld User Interface) é utilizado pelos telefones móveis e dispositivos portáteis como PDA. Este estilo faz uso de um subconjunto de recursos fornecidos pelas GUI e WUI, além de possuir suporte a interação através de gestos bem como telas sensíveis ao toque.

Em adição ao exposto acima, o desenvolvimento de interfaces de usuário para múltiplos dispositivos tem-se concentrado esforços na investigação das questões sumarizadas abaixo. Essas questões têm norteado pesquisas, atualmente, em desenvolvimento.

Desenvolvimento de interfaces de usuários baseada no contexto

Engloba interfaces de usuário que podem se adaptar ao comportamento do contexto. Ocorre quando um dispositivo computacional possui a habilidade de detectar, interpretar e responder aos aspectos do ambiente do usuário e aos próprios dispositivos computacionais utilizados. As técnicas adaptativas são baseadas na adaptação a uma variedade de tecnologias (identificação do tamanho de telas, dispositivos de entrada e resoluções gráficas) e adaptação ao contexto de uso diverso.

Sistemas baseados em modelos

Estes sistemas tentam produzir automaticamente projetos de interfaces concretas (apresentações concretas e diálogo numa plataforma específica) a partir das representações genéricas abstratas da interface (tarefas genéricas, domínio e modelo de diálogo). A produção é feita através de um mapeamento dos elementos abstratos em elementos concretos para a interface.

Desenvolvimento de padrões orientados a usabilidade

Trata-se de uma perspectiva que visa facilitar o desenvolvimento e a validação de interfaces de usuário para múltiplos dispositivos. O desenvolvimento de padrões para diferentes tipos de interfaces serve como uma ferramenta de alto nível para agrupar experiências obtidas com os usuários finais, além de transmitir os conhecimentos obtidos dos especialistas em usabilidade para os engenheiros de softwares através das ferramentas de softwares.

Linguagens de marcação independentes de dispositivos

Essas linguagens descrevem uma interface de usuário de maneira abstrata, podendo ser empregada para diferentes dispositivos. Estas linguagens devem possibilitar um mapeamento da descrição abstrata para linguagens de programação ou fazer uso de folhas de estilos. Um exemplo de proposta dessa natureza são as linguagens derivadas da XML.

Modelos arquiteturais para interfaces de usuário

Uma outro aspecto necessário e complementar ao desenvolvimento de interfaces de usuário para múltiplos dispositivos é o modelo arquitetural empregado. Durante o desenvolvimento de sistemas, os projetistas fazem uso de uma arquitetura de software para estruturar o sistema em termos de seus componentes (entidades computacionais com funcionalidade específica). Os sistemas interativos tem feito uso de arquiteturas que podem ser classificadas como modulares ou baseada em agentes. Nas arquiteturas modulares, os componentes de software são constituídos de um conjunto de funções para realizar uma tarefa (partição funcional) e nas arquiteturas baseada em agentes, o sistema interativo é organizado através de entidades computacionais denominadas de agentes. Em arquiteturas baseadas em agentes, as funções são descentralizadas, os agentes possuem um estado próprio e são capazes de iniciar e reagir a eventos. Uma discussão mais detalhada sobre esse tópico é apresentada no capítulo 7 do livro intitulado Arquitetura de Software de minha autoria pela Editora Campus.

Dentro do contexto apresentado acima, observa-se que as tendências nas pesquisas de questões relacionadas ao desenvolvimento de interfaces de usuário para múltiplos dispositivos têm como objetivo principal a minimização do esforço de desenvolvimento destas aliado ao suporte um dos principais atributos da qualidade, a usabilidade.

Aos leitores interessados neste tópico, recomendo consultar o livro Multiple User Interfaces: Cross-Platform Applications and Context-Aware Interfaces, A. SEFFAH and H. JAVAHERY, John Wiley & Sons, 2004.

 

 

Clique e cadastre-se para receber os informes mensais da Revista Espaço Acadêmico

clique e acesse todos os artigos publicados...

http://www.espacoacademico.com.br - Copyright © 2001-2005 - Todos os direitos reservados