martes, 3 de septiembre de 2013

Programando Interactividad: La naturaleza de la interacción


Entonces, ¿qué es exactamente la interacción? Interacción se podría definir como el intercambio de información entre dos o más participantes activos. El escritor y diseñador de videojuegos Chris Crawford describe la interacción como "un proceso iterativo de escuchar, pensar, y hablar entre dos o más actores”. En general, cuando estamos hablando de la interacción y la programación es porque uno de los elementos en la interacción es un ordenador de algún tipo o algún elemento de control que una persona está tratando de hacer.


La persona a la que el sistema informático o mecánico se está planteando es llamado el usuario y lo que el usuario está utilizando se llama sistema interactivo. Existen muchos tipos de términos que flotan alrededor hoy en día, tales como la interacción persona-computadora, interacción computadora-persona o el diseño de la experiencia. Todo significa más o menos lo mismo: el diseño del sistema de algún tipo que una persona pueda interactuar de una manera que es significativa para el mismo.


Un diseñador de interacción, está tratando de entender lo que el usuario desea hacer y cómo el sistema que se está creando debería responder. Este sistema entonces puede ser casi cualquier cosa: un juego, un menú, una serie de sensores y luces conectadas, una aplicación interactiva o incluso un grupo de personas.


La "interacción" en realidad no se aplica cuando la utilizamos para describir una transmisión, es decir, un mensaje enviado a alguien que no tiene forma del manejo de una respuesta. Un ejemplo seria en un comercial de televisión o un programa de radio: es una simple señal que se puede escuchar si estás en el lugar correcto en el momento adecuado y tienes el equipo adecuado. Este tipo de transmisiones de flujo son independientes de si alguien o algo escucha y ocurren en su propio tiempo.


Cuando se le da a un usuario una manera de rebobinar o controlar el tiempo de la información, se añade una capa adicional de control de usuario. Realmente no se puede interactuar con un libro o una página web estática; o incluso la gran mayoría de páginas web dinámicas, pero se puede controlar la velocidad en el que se los lee y se puede rebobinar la información de la cual no se está seguro haberla comprendido. Estas son transmisiones guiadas en que se da un trozo de información que es más o menos establecida y se enfoca a qué es lo que se quiere ver. El desplazamiento, vinculación, avance rápido y rebobinado son técnicas de las transmisiones guiadas.


Cuando se le da a un usuario una forma de realizar una tarea o entrada de datos en el sistema que cambia de una manera sustancial y crear un medio para que el sistema responda a lo que el usuario está haciendo, entonces se está creando interacción. La interacción reactiva es un principio muy básico de la interacción, ya que ayuda a comenzar a pensar en lo que el usuario va a hacer y en cómo el sistema va a reaccionar. Pues para  todo lo que el usuario haga, el sistema tiene que tener una respuesta, incluso si esa respuesta es "no entendí" u otro tipo de mensaje de error.


Muchos tipos de aplicaciones monitorear su propio desempeño, revisando el estado de una propiedad en el sistema, por ejemplo. Si nos imaginamos esto como una interacción entre dos personas, entonces es posible imaginar un padre dándole a un niño una orden. Un modelo algo más complejo de la interacción es uno donde el sistema está constantemente haciendo tareas y la entrada de los usuarios regula esas tareas. Muchos sistemas de control industriales funcionan de esta manera, al igual que las partes fundamentales de los motores de juego. La dificultad de la creación de este tipo de interacción es asegurar que los usuarios siempre sepan lo que hace el sistema en un momento dado, entender cómo pueden modificarlo y entender exactamente cómo sus modificaciones afectan a otros aspectos del sistema. Si se imagina esto entre dos seres humanos, entonces podemos hacer una analogía de un padre que ayuda a un niño a caminar, lo que garantiza que no se caiga mientras se haga esta tarea. También se puede imaginar cómo podría funcionar un sistema regulador en los que el sistema regula las tareas del usuario a medida que se ejecutan. Esto no es en realidad dos entidades comunicándose plenamente debido a que el sistema regulado no responde, sino que simplemente cambia su comportamiento. Los sistemas pueden realizar esta tarea en su propio beneficio al hacer el seguimiento de un proceso y proporcionar la regulación de un proceso continuo.


Este último modo de interacción se funde con otra. Se trata de una muy similar pero ligeramente más compleja de la creación de interacción que podría ser descrito como la didáctica o el aprendizaje interactivo. En este caso, el sistema sigue funcionando de forma continua y el usuario en vez de regular el comportamiento del sistema está aprendiendo de él los datos de salida. Una gran cantidad de aplicaciones de monitoreo funcionan de esta manera, ofreciendo una visión de datos relevantes y los puntos de datos que el usuario puede utilizar para aprender sobre un proceso. Una vez más, el sistema no está conversando activamente con un usuario, sino que sólo está en funcionamiento y le presenta información. El usuario también tiene procesos impulsados por la presentación de información del sistema pero no es realmente modificada por el mismo, es por ello que se trata de un modelo de aprendizaje. Ambos, sistema y personas son más que capaces de aprender de sí mismos, aunque de maneras muy diferentes.


Un modo más complejo de la interacción es un modelo de tipo gestión en el que el usuario  comunica “algo” a un sistema y el sistema comunica “algo” al usuario; permitiendo al usuario continuar con una tarea secundaria. Aquí es donde se empieza a ver las complejidades reales de comunicación entre usuarios y sistemas. El usuario se está comunicando con un sistema y le pide al sistema realizar alguna tarea. El sistema responde de una manera que permite al usuario continuar con una tarea secundaria. El sistema sigue funcionando  y el usuario sigue funcionando incluso cuando el sistema tiene su propio bucle de retroalimentación interna. Uno puede encontrar esto en muchas aplicaciones de control en tiempo real en distintos campos desde las finanzas a la medicina.


Por último, tenemos el más complejo modo de interacción: la conversación en todo aspecto. Esto es algo que los seres humanos han aprendido interactuando con otros humanos, pero es harina de otro costal; crear esta interacción entre un humano y una máquina por lo complejo que es en realidad la idea de una conversación. Cuando se piensa en la cantidad de los datos que se comunican en una conversación a través de palabras, tono de voz, expresiones faciales, postura corporal, subtexto y el contexto, se da cuenta que es una cantidad considerable de información que se intercambia y es procesada ​​en tasas extremadamente altas.


Otro ejemplo simple pero buen ejemplo sería navegar desde un dispositivo móvil: el dispositivo está constantemente actualizando su posición y proporcionando al usuario direcciones, mientras el usuario está viajando activamente y consultando al dispositivo para obtener información. Al activar este modo conversacional de interacción entre los usuarios y los sistemas se tiene uno de los desafíos más apremiantes en diseño de interacción e ingeniería. Estos modos de interacción y todos los presentes desafíos, ayudan a los usuarios a hacer diferentes tipos de cosas. Encontrará que el modo adecuado depende de los usuarios, la tarea y el contexto en el que la interacción está teniendo lugar.
_____________________________________________________
Basado en el libro: Programming Interactivity, segunda edición O’Reilly
Autor: Joshua Noble