• Nenhum resultado encontrado

Novas interfaces e formas de interação, como a gestual, apresentam um conjunto de particularidades que dificultam o uso dos padrões e guias já consolidados. Como apresentado na seção anterior, o desenvolvimento de uma aplicação como esta pode enfrentar uma série de desafios e obstáculos de diferentes naturezas. E embora tenhamos encontrado soluções para alguns destes, outros tantos ainda exigirão novos estudos. Aqui discutiremos alguns desses desafios e questionamentos não solucionados.

Alguns destes desafios já foram descritos na literatura da área. Saffer [66], por exemplo, já relata um conjunto de limitações da interação gestual que observamos também, durante o desenvolvimento do sistema Hands in Home, como os listados a seguir. A entrada de dados complexos pode ser uma tarefa árdua para os usuários e acabar limitando as funcionalidades do sistema. Como digitar um texto, por exemplo, apenas com comandos gestuais? A dependência de feedback visual é também um fator limitante. Como apresentado na seção anterior, fatores de aprendizado e memorização, por exemplo, podem exigir o uso de uma interface mais explícita para prover feedback aos usuários. Outro desafio está relacionado ao contexto da interação. Mesmo no ambiente doméstico, usuários podem se sentir constrangidos ao realizar determinados gestos, por exemplo, na frente de estranhos. Mesmo que os comandos gestuais tenham sido definidos por eles anteriormente.

Balancear as recomendações de memorização, facilidade de aprendizado e eficiência, levando em consideração a diversidade do público-alvo, pode ser também um grande desafio. Pois, assim como em outras formas de interação “tradicionais”, há metas conflitantes entre as recomendações, ou seja, os ideais de uma recomendação podem influenciar negativamente outras. Se optássemos por utilizar comandos gestuais para todas as tarefas do sistema, por exemplo, poderíamos aumentar a eficiência de uso, mas acabaríamos por prejudicar os requisitos de memorização e facilidade de aprendizado. O uso de personalização pode ser uma solução para este e outros desafios, na medida em que dá ao usuário o poder de adaptar a interação às suas preferências e necessidades. Entretanto, esta funcionalidade impõe outros obstáculos relativos ao desenvolvimento de interfaces gestuais, como a determinação da “intencionalidade gestual”. Idealmente o sistema deveria ser capaz de capturar qualquer gesto realizado por um usuário e associá-lo a aplicação. Entretanto, diante de todos os movimentos e poses realizados, como identificar quais deles foram intencionais? Ou seja, como extrair qual a semântica gestual idealizada pelos usuários? E como gerar, a partir desta, uma sintaxe compatível?

Como também mencionado anteriormente, estes questionamentos também podem ser enfrentados pelos projetistas durante a especificação de um comando gestual. Durante a “caracterização” de um gesto, é preciso determinar os atributos que o caracterizam e especificar uma sintaxe compatível a sua concepção. Como, apesar disso, é preciso abranger as variações naturais entre cada execução do gesto, podem surgir ambiguidades, pois, dois ou mais gestos com semânticas diferentes podem ser reconhecidos como “válidos” a partir de uma única especificação.

Desta forma, identificamos que cada especificação pode definir um conjunto de gestos como equivalentes entre si. Embora nem todos sejam semanticamente equivalentes. Por outro lado, gestos que apresentem a mesma semântica para os usuários podem não ser sintaticamente equivalentes, de acordo com uma especificação. Sobre este aspecto, uma especificação ideal seria aquela que definisse como equivalentes apenas os gestos de mesma semântica. Entretanto, obter esta especificação pode não ser uma tarefa trivial ou nem mesmo factível [15].

Além disso, a definição de um comando gestual pode ainda interferir em outros já presentes na aplicação, caso suas especificações possuam interseções em seus conjuntos de gestos sintaticamente equivalentes. Podem ainda conter características em comum que façam, por exemplo, uma definição englobar outra. Um comando gestual definido como “bater palmas”, por exemplo, estará contido em outro que corresponda a “bater duas palmas”. Como identificar, nesse caso, quando a intenção do usuário é realizar o primeiro gesto duas vezes ou realizar apenas o segundo?

Outro desafio está relacionado ao processo de “tradução” de um comando gestual. Conforme a concepção original de um comando – a semântica do gesto – é transformada até uma representação computacional, seu significado inicial pode sofrer alterações. Além disso, o entendimento do gesto por parte dos usuários durante o uso pode também ser diferente do esperado. Embora esse problema seja minimizado com a formalização da interação gestual.

Algumas técnicas e ferramentas podem ser utilizadas para auxiliar a manutenção da coerência entre o significado de um gesto ao longo de sua definição. A construção de representações de execuções válidas e inválidas de um gesto pode auxiliar a elaboração de testes de software que validem a especificação de um gesto. Ferramentas que utilizem as especificações gestuais para definir mecanismos de validação podem também ser desenvolvidas para esse propósito. E, para auxiliar a compreensão do conceito dos gestos pelos usuários, podem ser utilizados mecanismos que reforcem a ajuda e o aprendizado progressivo, como demonstrações dos comandos gestuais e ajuda contextualizada. O uso de testes com usuários e/ou o design participativo podem auxiliar também, durante o projeto dos gestos, a garantir que a interação desenvolvida atenda recomendações de uso esperados.

Todos estes desafios impactam também na funcionalidade de personalização dos comandos gestuais, aumentando a sua complexidade. Entretanto, é possível recorrer a uma simplificação do problema para ajudar a tornar esta funcionalidade viável. Se considerarmos, que os gestos realizados pelos usuários, durante a personalização, fazem parte de um vocabulário pré- definido, conhecido pelos usuários e pela aplicação, a tarefa de criação de um comando gestual em tempo de execução, poderia ser simplificada para o reconhecimento e a composição desse vocabulário em comandos gestuais mais complexos.

Esta abordagem pode reduzir significativamente a quantidade de gestos possíveis de serem realizados. Entretanto, além de simplificar sua implementação, pode também guiar os usuários durante o processo de personalização, de forma similar às regras gramaticais das linguagens naturais. Estas regras definem a ordem e a forma com que determinadas classes de palavras podem se relacionar e auxiliam os interlocutores a expressarem uma mensagem e se comunicarem. De forma análoga, regras podem ser definidas em uma “linguagem gestual”, para uma determinada aplicação, buscando definir como os usuários podem compor novos comandos. Isto pode exigir o aprendizado destas regras e talvez limitar a quantidade de

expressões, mas pode também tornar a criação de um comando quase tão intuitiva quanto formular uma frase.

Documentos relacionados