Multi-Touch UX en iPad

Publicado en

Autor

Durante décadas hemos visto en películas de ciencia ficción un futuro lleno de interfases hombre-máquina controladas con los movimientos de nuestras manos sobre imágenes holográficas, superficies translucidas, comandos de voz elaborados e incluso dando instrucciones con solo pensarlas. Este futuro imaginado finalmente está llegando de forma abrumadora al menos en lo referente a interfaces táctiles con múltiples puntos de contacto (multi-touch).

Uno de los dispositivos táctiles que mayor popularidad está cobrando es el iPad. El iPad no cambiará al mundo otra vez, sino que formará parte de esta ola precursora de dispositivos que ayudarán a colocar las bases y lecciones aprendidas para el desarrollo de experiencias de uso con los dedos y manos.

Al día de hoy el uso de los terminos click, doble click, click derecho, drag and drop, entre otros son utilizadas como verbos totalmente comprensibles para especificar alguna interacción entre el mouse y el software. Hoy al hablar de dispositivos como iPad tenemos que agregar a nuestro vocabulario términos como Tap, Drag, Touch and Hold, Pinch open, Pinch close, Double tap, Flick, Swipe, los cuales no me atrevo a traducir al castellano sin embargo son agrupados bajo el nombre de gestos (gestures).

¿Cómo funciona Multi-touch de iPad?

El hardware dentro de un iPod/iPhone/iPad utiliza una serie de capacitores alineados en un plano coordenado; en realidad se trata de una superficie capacitiva que detecta las variaciones en el flujo eléctrico provocadas por nuestros dedos al contacto con la superficie de cristal. Cada una de estas variaciones es continuamente analizada por una unidad de procesamiento dedicada a este fin, la cual con ayuda de un software de interpretación de gestos traduce de forma instantanea la localización (x,y) del toque considerando en cada señal el tamaño, la forma y los cálculos sobre la diferencia entre el toque inicial y el toque final, aplicando algoritmos de reconocimiento de patrones que determinarán el comportamiento del gesto introducido, este software también considera el contexto del dispositivo (ubicación espacial) y el contexto de la aplicación que esté corriendo para traducir finalmente esto en una instrucción concreta al código de la aplicación y que esta efectue la acción esperada.

Gestos

iPhone SDK 3.2 incorpora un nuevo grupo de objetos conocidos como gesture recognizers, los cuales nos permiten de forma mas simple detectar gestos realizados por el usuario. Por ejemplo, si el usuario usa dos dedos para pellizcar (pinch) en la pantalla —indicando la intención de hacer un zoom in o zoom out sobre una imagen—, en lugar de codificar la detección del movimiento de dos dedos, las clases de gesture recognizers nos proporcionan metodos para detectar este tipo de comportamientos en el iPad. El SDK 3.2 soporta seis de estos reconocedores de gestos:

  • UITapGestureRecognizer. Detecta toques (Taps) en una vista.
  • UIPinchGestureRecognizer. Detecta pellizcos (Pinching) hacia adentro o afuera de la vista.
  • UIPanGestureRecognizer. Detecta el comportamiento al arrastrar o mover una vista.
  • UISwipeGestureRecognizer. Detecta el comportamiento similar al de cambiar una página en un libro.
  • UIRotationGestureRecognizer. Detecta cuando los puntos de contacto se mueven en direcciones opuestas.
  • UILongPressGesture Recognizer. Detecta periodos prolongados al tocar una vista (Touch and hold).

 

Figura 1. Gestos multitouch.

Gestos discretos y gestos continuos

Existen dos tipos de gestos: discretos y continuos. Un gesto discreto envía un mensaje simple al objetivo cuando el gesto es reconocido, es decir el método solo es invocado una vez. Un gesto continuo envía o notifica con múltiples mensajes al objetivo hasta el momento en que el comportamiento del gesto termina. Dentro de los discretos se encuentra el Tap, Swipe y LongPress (tap and hold), y dentro de los continuos tenemos Pinch, Pan y Rotation.

Por default estos estos gestos no estan diseñados para ser detectados de forma simultanea, sin embargo existe dentro del modelo de objetos la capacidad para habilitar dicho comportamiento a través de la codificación de reconocedores a la medida, permitiendo escenarios en donde más de un usuario o manos interectuan de forma simultanea con la aplicación tomando ventaja del tamaño de la pantalla en un iPad.

Sugerencias de diseño

Enumero aquí algunas sugerencias prácticas a considerar cuando se diseñe una interface de uso para iPad:

  • Los gestos son nuevos. Nuestros dedos tienen un nuevo lenguaje que aprender, el lenguaje de los gestos, algunos de ellos siempre han formado parte de nuestro interactuar diário con objetos comúnes, sin embargo muchos no son del todo intuitivos, por lo que tenemos que hacer que nuestros usuarios aprendan este nuevo lenguaje. Por ejemplo, sería un grave error dar por hecho que nuestro usuario sabe perfectamente que para exportar el archivo que está visualizando tiene que hacer press and tap mientras rota la mano.
  • Menos es mas. Una de los impulsos mas comúnes al diseñar nuestras primeras aplicaciones para iPad es tratar de ocupar toda la pantalla con controles, información, imágenes, etc. con la finalidad de justificar dicho espacio solo porque ahí está y probablemenre se deje a un lado el objetivo principal de la acción que el usuario quiere realizar.
  • Prueba en iPad reales, no en el simulador. Esta no es una sugerencia patrocinada para que corran a comprar su iPad, sin embargo deben tomar en cuenta que una de las claves del éxito de una interface Multi-touch es el desempeño y la facilidad de uso, por lo que es obligatorio hacer pruebas en el dispositivo real para “sentir” la aplicación.
  • Diseños intuitivos. Sugiero que inicien imitando interfases con un look and feel simple, dejando que el usuario primero descubra por si mismo el objetivo de la aplicación que es en donde debe radicar su valor y posteriormente agregar mejoras visuales que lleven literalmente de la mano al usuario a una aplicación sorprendente.
  • Pensar que nunca nadie lo ha usado. Todos los dispositivos del tipo Tablet, en este caso específico iPad nos ofrecen la oportunidad de un nuevo inicio (fresh start), en el sentido de que no existe nada escrito aún que nos restrinja a utilizar ciertos estándares o convenciones, sin embargo recomiendo ampliamente leer los Human Interface Guidelines proporcionados por Apple[2] donde podrás encontrar tópicos muy interesantes y sencillamente estrucutrados.

Les recomiendo ampliamente involucrarse en el desarrollo de aplicaciones basadas en tacto. Es un mercado con una gran oportunidad, y finalmente me agrada la idea de llegar al día de la entrega final de la aplicación con alguno de mis clientes y decir “…listo, aquí tiene, toque y sienta su nueva aplicación”.

 

Bio

Paco Cuevas (@pacocuevas) es ingeniero en sistemas, fundador y director de empresas de desarrollo web como Extend y Web Studios, también es emprendedor de servicios como MapsandNumbers.com el cual involucra tecnologías como Windows Azure, Google Maps y iPhone, actualmente colabora como Director de Desarrollo de Negocios en la empresa emLink alrededor de tecnologías móviles con iPad y coolabora con Microsoft como Windows Azure Evangelist.