Transformación de la IU: la interfaz del mañana la diseñamos hoy (parte 5 de 5):
Interacción natural con control intuitivo por computadora
Por Dominic Milano
La incorporación de sentidos similares a los humanos en los dispositivos con tecnología Intel RealSense está ampliando el alcance de la informática perceptual. Veremos a continuación aplicaciones para navegar mundos virtuales por medio de gestos y palabras.
Los avances en la informática perceptual están dotando a muchos aparatos de sentidos similares a los de los seres humanos. Los aparatos equipados con la tecnología Intel® RealSense™ pueden ver y oír el mundo que los rodea y reconocer así gestos hechos con las manos o los dedos, analizar expresiones de la cara, entender y sintetizar palabras habladas, y mucho más. Una consecuencia de ello es que la gente disfruta de una interacción más natural: empujar, elevar, tomar y tirar de objetos virtuales; inicio, detención y pausado de aplicaciones de entretenimiento y creación de contenido; y navegación de mundos virtuales, sin poner un dedo en los dispositivos.
En este artículo, el último de una serie de cinco, desarrolladores de software de Virtual Air Guitar Company (VAGC) e Intel comparten sus apreciaciones sobre el uso de la tecnología Intel RealSense para llevar la interacción hombre-máquina fuera del teclado y el mouse.
Virtual Air Guitar Company
VAGC, una empresa con sede en Espoo, Finlandia, y fundada en 2006 por investigadores de realidad virtual y visión por computadora, se especializa en la creación de juegos singulares que se controlan por acciones de todo el cuerpo y movimientos precisos de las puntas de los dedos. La carpeta de este estudio independiente incluye juegos para PC y para consola, y aplicaciones de informática perceptual para Windows* y Android*.
Aki Kanerva, jefe de diseño y fundador de VAGC, opina que los modelos de interacción natural que posibilita la tecnología Intel RealSense hacen más fácil y disfrutable el uso de las computadoras. Aunque la mayoría aprendimos a usar computadoras con teclado y mouse o panel táctil, las pantallas táctiles abrieron un mundo de posibilidades. “Si le damos un aparato con pantalla táctil a un niño de dos años, sabrá cómo usarlo casi de inmediato”, dijo Kanerva. “No hay que dedicar tiempo a aprender a usarlo, y eso lo hace más divertido. Incluso para tareas serias, se puede trabajar de manera más intuitiva”.
Al emplear mouse, panel táctil o pantalla táctil, la interacción tiene lugar en dos dimensiones. La interacción natural con gestos u órdenes de voz da un mayor grado de libertad. Cuando uno hace gestos con las manos, se encuentra en un espacio tridimensional, lo cual da seis grados de libertad y deja lugar a otros usos. “Digamos que estamos cocinando o usando un aparato público y no queremos tocar el dispositivo. Al servirnos de gestos y la voz, no hace falta el contacto físico”, dijo Kanerva.
La interacción natural también se puede utilizar para hacer tareas complejas sin necesidad de memorizar métodos abreviados de teclado. O, como lo expresa Kanerva: “La interacción natural permite usar controles complejos que no son complicados”.
Simple no significa fácil
Kanerva invirtió años en investigar modelos de interacción hombre-máquina y sabe por experiencia propia lo difícil que puede ser esquematizar tareas complejas para que parezcan fáciles de hacer. El mouse y el teclado actúan de intermediarios y traducen la intención del usuario. En un juego, por ejemplo, mover el mouse a la izquierda o a la derecha se podría interpretar como dirigir el movimiento de un personaje. Según Kanerva, “Exige práctica hacer bien ese movimiento”. “Con la interacción natural, se elimina el intermediario. Con cinco o seis grados de libertad, seguir los movimientos de las manos (arriba, abajo, izquierda, derecha, hacia delante, hacia atrás) se traduce en movimientos de personajes en la pantalla de manera más intuitiva”.
“Una ‘interfaz natural’ puede combinar los seis grados de movimiento de modo tal que el usuario nunca tenga que pensar en órdenes individuales”, continuó. Crear una interfaz de usuario que responda a un conjunto tan complejo de acciones del usuario no es algo sencillo. Y Kanerva no recomienda diseñar interfaces capaces de responder a todos los movimientos posibles.
La clave es que comuniquen al usuario qué puede hacer antes de que este lo haga. “Hay que limitar la interacción a lo estrictamente necesario para la aplicación y, al trabajar en el código, concentrarse en la sensibilidad de respuesta a lo que incluyamos”.
VAGC está desarrollando, con la colaboración de Intel, una aplicación para que los usuarios vuelen un helicóptero virtual sobre cualquier lugar (Figura 1) con gestos de mano captados por una cámara 3D Intel®RealSense™. “Por cómo lo diseñamos, nuestro helicóptero no puede toneles volados (girar alrededor de su eje). Sería divertido que pudiera, pero un control que lo hiciese girar de esa manera se superpondría con otros, por eso no lo incluimos”.
Figura 1: El punto de vista del helicóptero
Anatomía de la aplicación controlada por gestos
La aplicación web será para Microsoft Internet Explorer, Google Chrome y Mozilla Firefox en Windows*. Utiliza una extensión de navegador para proporcionar servicios de localización, fue escrita en JavaScript y HTML, y se ejecuta en el navegador. Su código es confiable y ligero.
“Este proyecto tiene muchas partes móviles”, explicó Kanerva. “La Web en sí es un blanco móvil, en especial cuando se trata de extensiones, porque tuvimos que escribir una extensión distinta para cada navegador”.
Intel proporcionó a VAGC comentarios invaluables y VAGC lo retribuyó con casos de uso reales que ayudaron al equipo de Intel a refinar el SDK de Intel RealSense. “Una de las complicaciones que presentaba al principio el SDK era la dificultad de ver manos planas verticales” (ver Figura 2). “No se puede impedir que el usuario ponga la mano así”. Gracias al aporte de VAGC, la versión más reciente del SDK admite esa situación.
Figura 2: Mano plana vertical vista desde la cámara
Pruebas y más pruebas
Para sus juegos anteriores, VAGC empleó una batería de aplicaciones para pruebas patentada que era automática, pero Kanerva prefiere otro método para someter a pruebas la interacción por gestos. “Con la interacción natural, los usuarios parecen tener el don de hacer cosas imprevistas, pero eso contratamos a una empresa de pruebas de uso”. Kanerva dijo que los mejores resultados los obtuvieron a partir de filmaciones de video de usuarios experimentados e inexperimentados jugando durante el vuelo.
Las guías instructivas, aunque resulta caro producirlas, son un componente esencial de los proyectos de interacción natural. “Debido a que es tan grande la cantidad de movimientos posibles, es indispensable indicar un punto de partida mediante guías o animaciones”. “Ponga la mano aquí. Manténgala a 30 cm de la pantalla. Ahora haga lo siguiente… Hay que ser muy específico”. Kanerva aconseja planificar las guías instructivas en las primeras etapas de diseño. “Es tentador dejar las guías instructivas para último momento, pero son esenciales. Aunque haya que cambiarlas varias veces durante el flujo de trabajo de desarrollo, deben ser una parte fundamental del proceso”.
Lo que se aprendió de la experiencia
Después de trabajar con el SDK de Intel RealSense y la cámara 3D Intel RealSense, Kanerva enunció las siguientes reglas prácticas para los desarrolladores:
- Diseñen aplicaciones que no se presten a modalidades de mando tradicionales, o que directamente sea imposible usarlas de ese modo.
- Emular métodos de ingreso de información tradicionales conduce a resultados catastróficos.
- Diseñen interacciones naturales específicas para el caso de uso.
- Para los dispositivos de control de simuladores, las teclas de dirección no funcionan tan bien como los joysticks, y el control por gestos es una opción eficaz.
- Hay que buscar la continuidad y reducir la latencia de control.
- No esperen demasiado, ni a que un gesto esté completo, para traducir el movimiento al mundo virtual.
- La retroalimentación debe ser inmediata. Lo que haga el usuario se debe reflejar en la pantalla en todo momento.
- No hay que cansar a los usuarios.
Para los desarrolladores de juegos, la retroalimentación continua es primordial: por lo general, en los juegos se pulsan botones con el fin de generar acciones. Asignar entradas de información tradicionales a la interacción natural crea demasiada latencia y dificulta el aprendizaje.
En cuanto al cansancio, Kanerva aconseja diseñar controles que no exijan estar en la misma posición demasiado tiempo. “Me gusta el término ‘control por movimientos’ porque nos recuerda que los usuarios deben moverse para no fatigarse. No es recomendable pedirles que giren la muñeca en ángulo recto. Por ejemplo, para volar hacia delante, tienen que apuntar la mano hacia el frente y mantenerla relajada. Hay que evitar la tensión y recordarles que es su responsabilidad tomar descansos”.
Entretenimiento natural
Una conclusión a la que llega Kanerva es que “La interacción natural es ideal para las aplicaciones de entretenimiento”. La empresa que dirige lleva el nombre de su primera aplicación, con la cual se pueden tocar acordes y solos de guitarra nada más que con gestos de la mano. “En las películas de Hollywood, a menudo se ve gente que usa gestos para examinar datos. Se ve fantástico e impresiona, pero la simplicidad por medio de la interacción natural hará que una base de usuarios más amplia acceda a las computadoras”.
Con este fin en mente, la idea de tener la tecnología Intel RealSense integrada en tabletas y dispositivos 2 en 1 y todo en 1 entusiasma a Kanerva. “El acceso pleno a la interacción natural mediante la tecnología Intel RealSense será fabuloso para el marketing y las ventas, pero también será invaluable para los desarrolladores”.
Manejo de Windows con gestos de mano
Yinon Oshrat trabajó siete años en Omek Studio, la primera empresa desarrolladora que utilizó el incipiente SDK de Intel RealSense, antes de que la adquiriera Intel. Como integrante del equipo de desarrollo de software de Intel RealSense, Oshrat ha estado trabajando en una aplicación independiente denominada Intel® RealSense™ Navigator. “Intel RealSense Navigator controla la interfaz de usuario de Windows, mejora las interrelaciones táctiles y posibilita la interacción por gestos de las manos”. Permite abrir programas y desplazarse por las selecciones con el uso de gestos de las manos (Figura 3).
Figura 3: Interacción hombre-máquina natural
Intel RealSense Navigator se apoya en la cámara 3D Intel® RealSense™, que capta esos gestos a distancias de hasta 60 cm. “Podría pensarse en el Navigator como un controlador y un mouse”, dijo Oshrat. “Se trata de un controlador activo. Si se desea usarlo, solo hay que habilitarlo para hacer acercamientos, simulación de mouse y otras funciones”.
Bloques de creación para desarrolladores
Durante la creación de Intel RealSense Navigator, el equipo de Intel ha ido proporcionando bloques de creación al SDK de Intel RealSense que darán a los desarrolladores la capacidad de implementar el mismo tipo de interacciones que hace realidad el Navigator en otras aplicaciones autónomas de Windows.
El módulo de Intel RealSense Navigator, al igual que otros del SDK, está a la vez en C y C++. En versiones futuras, se sumará JavaScript.
Al describir cómo se maneja con los gestos el Intel RealSense Navigator, Oshrat detalló: “Hay que pensarlo como si fuera un lenguaje. Un toque suave para seleccionar; un pellizco para tomar; un movimiento a la izquierda o a la derecha para desplazarse. Mover la mano hacia delante o hacia atrás para acercar o alejar. Un saludo con la mano abierta lleva de regreso a la pantalla de inicio”. Intel RealSense Navigator se envía con guías en video que enseñan a hacer gestos de manos precisos. “Los videos dan mucho mejor resultado que la documentación escrita”.
La invención de un lenguaje
Durante más de un año, la manera en que Oshrat y sus colegas idearon y probaron gestos fue acercarse a la gente en la calle y observarla reaccionar ante ciertos movimientos en particular. “Trabajamos en ciclos. Experimentamos con lo que funcionaba bien y cuáles eran las expectativas de los usuarios en comparación con lo que preveíamos. Descubrimos qué se sentía natural y qué no”.
Por ejemplo, la gente interpretaba tres “deslizamientos rápidos” como un “saludo”, no como un deslizamiento. “Eso nos enseñó a separar ese tipo de gestos”, dijo Oshrat. Lo sorprendió lo difícil que fue definir gestos eficaces. “No se trata de programación. Se trata de trabajar con las experiencias de los usuarios”.
Lo que se aprendió de la experiencia
A los desarrolladores interesados en implementar el control por gestos en sus aplicaciones con Intel RealSense Navigator, Oshrat ofreció estos consejos:
- Usen los bloque de creación y los modelos de gestos incluidos en el SDK; ahorrarán tiempo con ideas que ya se han investigado con gran cuidado.
- Aprovechen los canales de ayuda de Intel, como los foros para usuarios.
Al igual que Aki Kanerva, Oshrat recomienda pensar en la interacción basada en gestos como algo enteramente distinto del uso del mouse y el teclado. “No intenten convertir una interacción con mouse/teclado en gestos. El movimiento se produce a una velocidad muy diferente cuando se emplean gestos en lugar de un mouse”.
Oshrat también observó que el comportamiento de los usuarios cambia según la modalidad de entrada de datos. “Creamos un juego en el cual los usuarios tenían que correr y saltar a un lado”, explicó. “En la pantalla, un cartel les indicaba que fueran hacia la izquierda. Cuando usaban el dispositivo de control, los usuarios veían las instrucciones que aparecían cerca del avatar. Pero cuando usaban el cuerpo (control por gestos), dirigían toda la atención al avatar y ni se enteraban del resto. ¡Incluso se daban de frente contra un cartel, a pesar de que las instrucciones cubrían el noventa por ciento de la pantalla!”.
Casos de uso actuales y futuros
Para Oshrat, una de las aplicaciones de Intel RealSense Navigator más prácticas que ha visto se relaciona con manejar una presentación de Power Point* sin mouse ni dispositivo físico alguno. “Solo hay que mover la mano lateralmente para que las diapositivas avancen o retrocedan”. También es fácil, y práctico, para controlar la pantalla de una computadora mientras uno está al teléfono.
Cuando se le preguntó si se podrían usar gestos para controlar programas de edición de video, Oshrat respondió “¡Sí! Ese es el santo grial. Muchos quieren lograrlo. Hemos trabajado durante ocho años con juegos y control por gestos de otras aplicaciones. Vamos en la dirección correcta para aplicarlo a la edición de video y otros casos similares”.
¿Y qué se viene? Oshrat imagina un futuro en el cual los usuarios ya no tengan que aprender un nuevo vocabulario de gestos. “Los aparatos nos conocerán más y entenderán mejor lo que queremos. Las órdenes mediante gestos y voz, el análisis de rostros, capturar y compartir en 3D… todas las funcionalidades que ofrece la tecnología Intel RealSense darán lugar a posibilidades más apasionantes”.
Recursos
Estudie la tecnología Intel RealSense más a fondo, conozca más acerca del SDK de Intel RealSense y descargue un kit para desarrolladores desde esta página.
¿Tiene un proyecto listo para hacer una demostración? Entonces puede sumarse al Programa Innovadores de Software de Intel®. Brinda apoyo a los desarrolladores con proyectos renovadores y ofrece oportunidades de hacer presentaciones habladas y demostraciones del proyecto.
Parte 1, parte 2, parte 3 y parte 4 de esta serie de artículos “Transformación de la IU: la interfaz del mañana la diseñamos hoy”.