Este post tem como objetivo fazer um overview sobre design de interfaces mobile.
Aproveitando o pouco de expenriencia que tenho na área e me embasando nos conceitos aprendidos em aula, cito um pouco das peculiaridades desse ramo da área de IHC.
Começo exemplificando as dificuldades em se desenvolver uma interface mobile, sigo com um guideline que intui relacionar a teoria da materia com o universo mobile e concluo com alguns links exemplificando os modelos propostos.
Desafio:
O design de interfaces para dispositvos moveis esbarra nestas 5 pricipais difculdades:
- Um vasto numero de dispositivos;
- Limites de entrada/saida de informação;
- Falta de orientação e recursos;
- Falta de padronização;
Este conjunto de caracterísitcas figura o universo de se criar uma interface mobile. Exemplificando um pouco o problema, nos temos aqui duas interfaces distintas de dispositovs mobile:

Naturalmente que ambos os aparelhos tem recursos, controles e características diferentes. E mesmo sendo tão diferentes, estes aparelhos podem utilizar de sua aplicação. O grande desafio no design de interfaces mobile é permitir que diferentes tipos de usuarios, desde o expert até o usuario mais novo, tenham acesso de maneira clara e objetiva as funcionalidades de sua aplicação.
Guideline:
Baseado na minha experiência na área - Mobile Developer - e nos conceitos vistos em aula, tento sumarizar alguns pontos de IHC com um foco maior no universo mobile, espero que gostem:
Primeiramente, vou falar dos conceitos que são, em sua essência, os mesmos tanto para desktops quanto para dispositivos mobile
Habilitar atalhos para usuarios frequentes:
Conforme a frequência de uso aumenta o usuario deseja reduzir o numero de interações com a interface. Por isso, reduzir o numero de operações para a tarefas frequentes é muito importante para aumentar a usabilidade do usuário.
Conforme a frequência de uso aumenta o usuario deseja reduzir o numero de interações com a interface. Por isso, reduzir o numero de operações para a tarefas frequentes é muito importante para aumentar a usabilidade do usuário.
Oferecer resposta do sistema(feedback):
Para toda ação do usuario, deve existir algum sistema de feedback, seja ele um beep ao pressionar uma tecla ou uma mensagem de erro a uma entrada invalida. Esta resposta deve ser compreensível ao usuario. Por exemplo, a mensagem "The page can not be found" é muito mais amigável a maiorria dos usuarios que "HTTP 404 Error".
Desenvolver dialogos de interação finitos:
Sequências de ações devem ser organizadas em grupos com começo, meio e fim. Usuarios devem ter a satisfação do cumprimento e conlusão da tarefa.
A interface deve obedecer ao usuario:
Usuarios querem estar acima da aplicação e ter respostas para suas ações, em vez de sentirem que o sistema os está controlando. Aplicações devem ser desenvolvidas de tal maneira que o usuario inicie uma ação e o sistema reponda a esta.
Agora destaco alguns conceitos que de alguma forma são diferentes e/ou tem peculiaridades importantes ao qual deve-se atentar ao se desenvolver uma interface mobile:
Consistência:
A consistência tem dimensões maiores em aplicações mobile: a consistência deve estar presnte entre multiplas plataformas e dispositivos para uma mesma aplicação. O usuario pode querer transferir documentos de seu Desktop para seu PDA, nesta situação a aplicação deve manter a consistência entre as plataformas.
Reversão de Ações:
Permitir que usuarios revertam suas ações é extremamente difícil para aplicações mobile devido a pouca memoria e poder de processamento dos dispositivos. Mesmo se os estados dos eventos são carregados em estações fixas mais poderosas, a perda de conectividade torna este recurso extremamente complexo.
Prevenção de erros:
É o mesmo conceito aplicado a desktops, no entanto deve ser levado em conta o design físico do dispositivo. Como o ritmo de interação é mais rapido em dispositivos móveis, a proximidade dos botões e o tamanho do aparelho podem provocar muitos problemas em potencial.
Reduzir as informações a serem memorizadas pelo usuario:
Aplicações devem ser desenvolvidas exigindo pouca memorização por parte do usuário. Neste cenário o usuario está presente a maiores distrações do que em um desktop. Pode ser também que a aplicação mobile nãa seja o foco pricipal do usuario e este não deseje parar sua tarefa pricipal para se concentrar no dispositivo. Alarmes e controles sonoros podem auxiliar esta tarefa.
Por ultimo discorro alguns conceitos que, na minha opinião, tem maior enfase no design de interfaces mobile do que no design de interfaces normais:
Desenvolver para multiplos contextos:
Diferentemente de desktops, em que sem tem um cenário de uso relativamente constante, mobile devices podem ser usados em diferentes tipos de situações vivenciadas pelo usuario. O desenvolvendor deve estar atento a isto. Por exemplo, um determinado som poder ser incoveniente em uma biblioteca. Ou determinada fonte pode ser legível no escritório, mas não no metro quando o mesmo usuario está voltando do trabalho. A aplicação deve ser desenvolvida levando em conta a dinamicidade do dispositivos.
Desenvolver para dispositivos pequenos:
A tecnologia continua a avançar e cada vez mais existe a miniaturização dos dispositivos, desde celulares até braceletes, anéis e chaves. Inovar e modificar a maneira como o usuario interage com esses dispositivos se faz necessário para contornar as limitações físicas dos aparelhos. Comamdos de voz e touch-screen são exmplos de possíveis soluções para esse problema.
Minimizar a atenção necessária do usuario:
Como já dito aqui anteriormente, a aplicação móvel pode não ser o foco principal do usuario. Neste cenário deve ser possível que o usuario utilize sua aplicação com a menos atenção possível. Avisos sonoros ou táteis podem ser mais viáeis que mensgens no display para alguém está usando seu PDA em uma apresentção, por exemplo.
Otimizar o tempo e a recuperação de dados:
Devido ao contexto em que mobile devices são usados, não é interessante ao usuario esperar muito tempo na inicialização de uma aplicação. Mais que isso, quando o tempo é crítico é muito importante que o usuario possa salvar seus dados em pouco tempo e sem perda da informação.
Desenvolver interações "Top Down"
Mobile devices dispõe de pequenos displays para apresentar a informação. Utilizar do "scroll" para listar uma lista muito grande de ppções pode ser uma tarefa extremamente penosa para o usuario. Portanto deve se planejar a aplicação de forma a hierarquizar a informação. O menu do Ipod é um bom exemplo desse conceito.
Perimitir personalização:
Enquanto desktops podem ser utilizados por varios usuarios, dispositivos móveis são, por natureza, mais pessoais. É importante que o usuario possa modificar a aplicação a seu gosto. Seja modificando padrões, modos de exibição ou sonoridade, o usuario deve ter a liberdade de personalizar a aplicação a "sua cara".
O design estético deve ser levado em conta:
Além da funcionalidade e da usabilidade, existem outros fatores importantes no sucesso de uma interface mobile. Dentre estes destaco a estética. A estética pode trazer respostas interessantes por parte da experiência do usuario. Quando a usabilidade e a funcionalidade de dois dispositovs concorrentes são iguais, a estética se sobresai e dita qual interface terá mais sucesso.
Links:
- Best Practices - Pagina da W3C destinada ao desenvolvimento mobile web.
- 6 Tips for Designing Mobile Interfaces - 6 dicas interessantes sobre o design de interfaces mobile
- Challenges of Interface Design for Mobile Devices - Um post que fala sobre o desafio de desnvolver interfaces mobile.
- Mobilize, Don’t Miniaturize - Um conceito importante sobre adaptação de interfaces web para dispositivos móveis.
- Looking for good examples of Mobile Interfaces - Alguns exemplos de mobile interfaces.
- Para não pronlogar ainda mais este post, coloco este link onde você pode encontrar muitos exemplos de páginas criadas para mobile devices.
É isso, obrigado e até mais.