Recibido: 06 julio 2022
Aceptado: 06 marzo 2023
Disponible: 14 marzo 2023
El estudio presentado en este artículo tuvo como objetivo contribuir a la comunidad de desarrolladores móviles hispanohablantes con un conjunto de herramientas libres de programación, documentación y ejemplos en español para crear interfaces tangibles de usuario con dispositivos móviles inteligentes. Este tipo de interfaces permiten diversificar las interacciones con los celulares, priorizando usos alternativos de sus sensores. El desarrollo de este conjunto de herramientas ocurrió en el marco de un proyecto de investigación que buscó promover el diálogo de saberes entre la ingeniería y los saberes textiles tradicionales. En el proyecto se usó una metodología de diseño participativa que involucró actores diversos en las diferentes etapas: reconocimiento propio y mutuo, ideación, prototipado y experimentación. Como resultados se presentan una revisión de referentes sobre dispositivos móviles e interfaces tangibles, destacando aquellas interacciones móviles que usan objetos físicos y acciones gestuales; una descripción técnica de SensorMov: su arquitectura y diseño específico y, finalmente, su evaluación preliminar a través de un estudio de caso y de un proyecto académico. La biblioteca entiende lo tangible como el propio móvil u objetos físicos pasivos, que no requieran alimentación mediante energía eléctrica, como imanes. En este sentido, la versión de SensorMov documentada permitió trabajar con datos crudos de los sensores, identificar objetos y posiciones según el campo magnético estático de objetos físicos e identificar y posicionar objetos físicos sobre la pantalla del móvil. El principal reto a futuro es posibilitar espacios de apropiación que faciliten y extiendan su uso y funcionalidades, creando comunidad en torno a ella.
Palabras clave: Tecnologías Móviles, Aplicaciones Android, Interfaces Tangibles de Usuario, Software Libre
The study presented in this paper aimed to contribute to the Spanish-speaking mobile developer community with a set of free programming tools, documentation, and examples to create tangible user interfaces with smartphones. These interfaces allow diversifying interactions with mobiles, prioritizing alternative uses of their sensors. The development of this set of tools occurred within the framework of a research project that sought to promote the dialogue of knowledge between engineering and traditional textile knowledge. The project used a participatory design methodology that involved diverse actors in different stages: self-recognition and mutual recognition, ideation, prototyping, and experimentation. As a result, we present a review of references on mobile devices and tangible interfaces, highlighting those mobile interactions that use physical objects and gestural actions; a technical description of SensorMov: its architecture and the specific design and, finally, its preliminary evaluation through a case study and an academic project. The library understands the tangible as the mobile itself or passive physical objects that do not require electrical power, such as magnets. In this sense, the documented version of SensorMov allowed working with raw data from the sensors, identifying objects and positions according to the static magnetic field of physical objects, and identifying and positioning physical objects on the mobile screen. The main challenge for the future is to enable appropriation spaces that facilitate and extend the library's use and functionalities, creating a community around it.
Keywords: Mobile Technologies, Tangible User Interface, Open Software, Android Applications
La interacción humano-computador (IHC) nació como un área de investigación en la década de los 60s [
El reconocimiento de gestos, en el contexto de la IHC, tiene principalmente dos acepciones. Una, en relación con el uso del cuerpo en movimiento, especialmente las manos, como agente principal en la comunicación del humano hacia la máquina. Desde los primeros dispositivos de entrada, múltiples avances han sido desarrollados y con ellos diferentes formas de interacción y manipulación a través de acciones gestuales. Sin embargo, no fue sino hasta finales de los 70s e inicios de los 80s, que muchos de estos descubrimientos empezaron a estar disponibles para su comercialización [
Las interfaces tangibles de usuario (ITU) agrupan todos aquellos medios de interacción en los que las personas utilizan recursos materiales, objetos físicos cotidianos para representar y manipular información digital [
Actualmente, uno de los dispositivos tecnológicos cotidianos más versátiles son los teléfonos inteligentes -smartphones-; su uso se ha expandido a gran parte de la población, a tal punto que, por ejemplo, en Colombia hay más de sesenta millones de celulares conectados a internet [
Este artículo presenta una biblioteca nativa para dispositivos móviles Android, llamada SensorMov, que comprende el potencial de smartphones, a través de su vasto repertorio de sensores, para desarrollar interacciones gestuales e interfaces de usuario tangibles. Para esto, considera al propio móvil como un objeto tangible dada su portabilidad, autonomía, y apropiación en la cotidianidad de los usuarios. Así mismo, recurre al gesto, de acuerdo con Pierre Guiraud, como un aspecto fisiológico consciente o inconsciente que se exterioriza a través de algún movimiento del cuerpo, inherente a la comunicación del ser humano [
Adicionalmente, SensorMov es una biblioteca libre desarrollada en Colombia, cuyas funcionalidades, documentación y ejemplos se encuentran en español. Con esto se busca que los desarrolladores independientes, pequeñas y medianas empresas de desarrollo de software, diversifiquen el tipo de interacciones que permiten a los usuarios de sus aplicaciones. Así, este artículo contribuye a la comunidad de desarrolladores de habla hispana con un conjunto de herramientas para reducir el tiempo y complejidad de desarrollar ITU e interfaces gestuales, con teléfonos inteligentes Android. Esta contribución se presenta a través de la sección metodología, donde se muestra cómo surge la biblioteca y cuál fue la metodología seguida. En la sección 3, se presenta una revisión de referentes. La sección 4 detalla el desarrollo y la sección 5 los resultados y discusión, detallando la biblioteca, su arquitectura, diseño, y evaluación preliminar. El artículo cierra con las conclusiones, en las que se concreta el estado actual, y los desafíos a futuro con SensorMov.
SensorMov es un producto derivado del proyecto de investigación “Diálogos de saberes en la creación de interfaces físicas artesanales para la interacción con dispositivos móviles”. Este proyecto tuvo como propósito poner en diálogo diferentes formas de conocimiento y de hacer, que coexisten en la región Sabana Centro de Bogotá, específicamente, los asociados a la ingeniería en multimedia, y los relacionados con las artesanías textiles. Aquí, se identificó el dispositivo móvil como el artefacto computacional que permeaba ambos saberes/haceres. Sin embargo, más que ser un punto en común para entablar el diálogo de saberes, se identificó que en ambos casos su uso estaba limitado al consumo y publicación de contenidos, especialmente a través de redes sociales.
Así mismo, se identificó una connotación fenomenológica en ambas formas de hacer; de un lado, las artesanías textiles cuyo conocimiento está en las manos de las artesanas y es comunicado a través de la demostración y la experimentación conjunta. De otro lado, el de la ingeniería en multimedia, donde las representaciones computacionales y desarrollos tecnológicos están íntimamente ligados con la práctica y la abstracción del mundo material.
A partir de la comprensión del dispositivo móvil como un artefacto tecnológico que podría tender un puente entre la ingeniería en multimedia y los haceres textiles, y entendiendo la importancia de profundizar sobre el rol del cuerpo en estos saberes y en el uso del dispositivo móvil, los fundamentos metodológicos que guiaron este proyecto fueron el diseño participativo [
La fase de reconocimiento, en el ciclo inicial, se refiere al reconocimiento propio y mutuo de prácticas textiles y de desarrollo de tecnologías digitales; durante esta fase se realizaron talleres colectivos para involucrar a estudiantes y artesanos en haceres relacionados con su práctica (Figura 2). En los ciclos siguientes, esta fase permitió hacer indagación y reconocimiento técnico de referentes sobre cómo podría ser utilizado el dispositivo móvil para interfaces tangibles y gestuales, donde el cuerpo y los objetos cotidianos tuvieran un papel preponderante en la interacción. Finalmente, el reconocimiento se enfocó en una evaluación del modelo propuesto, para identificar errores y potenciales mejoras de los artefactos que se iban desarrollando.
La fase de ideación correspondió a la propuesta de artefactos tecnológicos en los que convergieran las tecnologías digitales y las artesanales; en particular, ideas orientadas a la creación de tangibles como interfaces físicas para la interacción con móviles. Adicionalmente, se propusieron criterios técnicos y de usabilidad para ser abstraídos en la etapa de prototipado, en un modelo que permitiera el diseño de tangibles para la interacción con móviles en otros contextos.
El prototipado estuvo enfocado en materializar las propuestas de la fase de ideación. Según el ciclo, los prototipos correspondieron a realizaciones físicas de las funcionalidades esperadas de los tangibles, o a abstracciones, como el modelo técnico y de usabilidad de los tangibles, como ejemplo, la Figura 3. Finalmente, la experimentación correspondió a las actividades de evaluación y sistematización de los prototipos generados en la fase anterior, desde un punto de vista técnico, social y de experiencia de usuario.
De este proceso metodológico surgió la propuesta de creación de un conjunto de herramientas de desarrollo para Android, que redujera los tiempos de desarrollo y optimizara funcionalidades para la creación de interfaces gestuales y tangibles con el dispositivo móviles, aprovechando la diversidad de sus sensores. Uno de los requisitos más significativos es que la biblioteca: sus funcionalidades, documentación y ejemplos sean en español, considerando que se desea propiciar, localmente, el desarrollo de interfaces tangibles que aprovechen el extendido uso de dispositivos móviles y que, a la vez, reconozcan las capacidades locales, como en el caso de las artesanías textiles.
Una vez definidos los requisitos de la biblioteca, se siguió una metodología ágil, basada en SCRUM, pero adaptada a las particularidades de este proyecto, en donde se desglosó el proceso de desarrollo de software en cinco grandes etapas: especificación de usos, desarrollo de funcionalidades, Trabajo personal, Retroalimentación y, por último, la Publicación (Figura 4).
En la etapa de “Especificación de usos” se analizaron posibles interfaces que se podrían realizar para así encontrar qué debía incluir la biblioteca, en dónde se podría desarrollar y qué tipo de artefactos se podrían exportar. Así mismo, se contrastaron con las formas de utilizar los dispositivos móviles identificadas en los talleres de diseño participativo del proyecto de diálogos de saberes. A partir de este análisis, se especificaron los usos y formalizaron los requisitos funcionales y no funcionales de la biblioteca. La especificación de usos permitió establecer funcionalidades específicas que debía cumplir la biblioteca, por ejemplo, permitir el acceso a los datos crudos de los sensores. Con estas funcionalidades claramente definidas, se continuó con el desarrollo, de acuerdo con una arquitectura orientada a objetos. Cada funcionalidad, según su complejidad, tuvo tiempos de desarrollo de entre dos y cuatro semanas. La siguiente etapa correspondió al trabajo personal, teniendo en cuenta que la programación fue realizada principalmente por una persona. Una vez se consideraba una funcionalidad como completa para pruebas preliminares, se siguió con la retroalimentación, que consistió en reuniones donde se revisaron los resultados en comparación con los requisitos, se comentaron las adversidades encontradas en cada una de las tareas, para luego investigar o definir las siguientes tareas dependiendo del análisis realizado. Este proceso se hizo continuamente para ir avanzando y obteniendo resultados hasta llegar a una versión funcional de la biblioteca de acuerdo con los requisitos planteados.
Esta sección se divide en tres partes: fundamentos filosóficos y metodológicos, tecnologías plurales y referentes técnicos.
3.1 Fundamentos filosóficos y metodológicos
Este apartado presenta los fundamentos filosóficos y metodológicos que guiaron el desarrollo de la biblioteca SensorMov, dada su naturaleza sociotécnica. Desde lo filosófico, se tiene como base la fenomenología; metodológicamente, se tiene el diseño participativo y la investigación basada en el diseño constructivo.
La fenomenología es una corriente filosófica que da énfasis al papel del cuerpo en los procesos de percepción y cognición. De acuerdo con esta corriente, el sentido que damos al mundo está estrechamente ligado a las acciones que realizamos con nuestro cuerpo en relación con el ambiente, pero también con las herramientas, objetos y tecnologías que están en él [
El diseño participativo fue fundamental de este proyecto, en tanto se considera que la concepción del móvil como un objeto de interacción gestual y tangible es situada y se realiza continuamente con los usuarios y no solo para los usuarios [
3.2 Tecnologías plurales
En esta parte se presentan algunos ejemplos en los que se han desarrollado artefactos socio-tecnológicos con una definición plural y horizontal de la tecnología, en los que se encuentran tanto tecnologías digitales, como tecnologías artesanales.
El primer referente es Cala-ITU, prototipo de una ITU realizado como parte del proyecto Bordando el Conocimiento Propio [
El segundo referente es SPYN, creado por Daniela Rosner y Kimiko Ryokai en el 2010 [
La tercera referencia es Crafted Logic, desarrollada por Irene Posch y Ebru Kurbak en el 2016 [
El cuarto referente corresponde al Proyecto Jacquard de Google [
Otras de estas tecnologías plurales se pueden encontrar en el artículo de Pérez-Bustos -2017-: “Hilvanar tecnologías digitales y procesos de tejido o costura artesanal: una revisión crítica de prácticas” [
3.3 Dispositivos móviles e interfaces gestuales y tangibles
Esta parte refiere a antecedentes relacionados con el uso de tangibles y gestos para la interacción con dispositivos móviles. Inicialmente, se presenta CapWidgets, tangibles pasivos que se pueden usar sobre pantallas táctiles capacitivas: mientras el usuario tiene el tangible con su mano y el tangible está tocando la pantalla, se reconoce su posición y rotación. Estos tangibles se construyen con placas de circuito impreso -PCB- doble capa, donde el tamaño y forma de las áreas conductoras que cierran el contacto entre la mano y la pantalla, son similares al área de contacto de los dedos sobre la pantalla (Figura 6) [
CapStones y ZebraWidgets son el siguiente referente. Estos tangibles, así como CapWidgets, utilizan el sensor de las pantallas capacitivas, para que sean reconocidos por el móvil. Sin embargo, CapStones y ZebraWidgets permiten más acciones físicas con los tangibles, reconocidas por el móvil, que solo ponerlos sobre la pantalla. Por ejemplo, se pueden apilar, desapilar, deslizar, o rotar; acciones que modifican conexiones internas que permiten variar qué áreas quedan en contacto o no con la pantalla [
Otro referente que se enfoca principalmente en la pantalla es ToMMI, una biblioteca de software libre para la interacción móvil [
Además de la pantalla como sensor capacitivo multitáctil, se han utilizado otros sensores de los teléfonos inteligentes para la creación de tangibles. El primer ejemplo es MagnetiCode, proyecto que usa el compás; en este caso, los tangibles son activos emitiendo pulsos magnéticos que permiten transmitir su número de identificación (ID) al móvil [
Otras investigaciones de interés en este trabajo son aquellas en las que se indaga sobre la relación del usuario con el móvil, desde una dimensión corporal y experiencial. Este es el caso de la investigación de Larsen, et.al. [
Respecto a la aplicación de interfaces gestuales y tangibles con el móvil, uno de los campos en crecimiento es la fisicalización de datos. Por ejemplo, el trabajo de Bhargava y D’Ignazio [
En el campo educativo también se evidencia creciente interés en el uso de teléfonos y tabletas inteligentes para optimizar procesos académico-administrativos y apoyar didácticas en procesos de enseñanza-aprendizaje. Un ejemplo de esto es el trabajo “Diseño de un juego basado en Interacción Tangible para la enseñanza de Programación” en el que, mediante una superficie interactiva tipo mesa, enseñan conceptos fundamentales de programación, a partir del planteamiento y estructuración de un problema [
SensorMov es una biblioteca de código abierto, desarrollada en lenguaje nativo de Android para dispositivos móviles, disponible para su uso, modificación y extensión en el repositorio: https://github.com/ljcortesr/SensorMov. Esta biblioteca reúne un conjunto de funcionalidades para aumentar el uso de varios de los sensores del móvil, de allí su nombre, a través gestos y de objetos físicos llamados tangibles. SensorMov busca facilitar el trabajo de los desarrolladores brindando funcionalidades ya establecidas y permitiendo su modificación y conexión con otras funcionalidades del sistema operativo, como las de comunicación, manejo de bases de datos, o gestión de archivos. Así mismo, está exportada en un formato que permitiría incluirla, con algunos ajustes, en otras plataformas de desarrollo, como Processing for Android.
Fue concebida en un proyecto de investigación interdisciplinario, con un fuerte componente social, que llevó a identificar la necesidad de diversificar los desarrollos móviles en Colombia y Latinoamérica. En este sentido, se busca suavizar la curva de aprendizaje y facilitar la comunicación con los desarrolladores. Así, todas las clases, métodos, atributos, documentación y ejemplos están en español. La primera versión de SensorMov permite la recuperación de datos sin procesar del acelerómetro, giroscopio, vector de rotación, pantalla multitáctil, magnetómetro y GPS, la identificación y posicionamiento de imanes, y la identificación de la rotación del móvil desde una orientación inicial calibrada. La Tabla 1 presenta las clases principales.
Clase | Definición |
DatosCrudos | Es la clase principal y permite acceder a los datos crudos de todos los sensores usados en la biblioteca. |
SensorDatos | Es responsable de obtener los valores los sensores de tres ejes usados en la biblioteca. |
DatosPantalla | Obtiene datos de la pantalla multitáctil. |
IdentificadorTactil | Se utiliza para identificar objetos que tienen un identificador pasivo de tres puntos, sensados a través de la pantalla táctil. |
GPS | Permite obtener los datos del GPS. |
RotaciónAngular | Permite obtener la rotación del móvil como un ángulo en grados, para cada uno de los ejes, a partir de una rotación inicial calibrada. |
ObjetosMagneticos | Permite calibrar, entrenar e identificar diferentes imanes (campos magnéticos). |
PosicionadorMagnetico | Permite calibrar e identificar la posición de un imán. |
Esta biblioteca se diseñó siguiendo una lógica orientada a objetos, dado que el lenguaje nativo de Android está basado en Java. SensorMov funciona por herencia, esto quiere decir que las clases principales heredan de la actividad main brindada al inicio de la creación de un proyecto en AndroidStudio algunos métodos como lo son el OnCreate y el Context de dicha actividad para poder acceder a los sensores que se utilizarán. Adicionalmente, sobre cada clase se incluyeron mensajes informativos a través de bitácoras (LOG) informativas o de ocurrencia de errores, que permiten al usuario reconocer la ocurrencia de eventos o problemas cuando ocurra alguna excepción. El diagrama de clases se presenta en la Figura 8.
Las clases que se presentan a continuación permiten la gestión básica de sensores de tres ejes, pantalla multitáctil y GPS en el móvil: 1. DatosCrudos permite acceder a los datos crudos de los diferentes sensores, que son provistos por SensorDatos, DatosPantalla y GPS, a través de objetos de cada una de esas clases. 2. SensorDatos es la clase que se encarga de obtener los valores de los sensores acelerómetro, giroscopio, magnetómetro, y vector de rotación; todos con tres ejes. 3. DatoSensor fue creada para el manejo de los sensores tres ejes, de manera que se puedan manejar siempre, en un mismo objeto, sus valores a través de los mismos atributos flotantes: x, y, z. 4. DatosPantalla se encarga de obtener los valores brindados por la pantalla multitáctil (posición en x, posición en y, tamaño y presión), a través de una lista que crece y decrece de acuerdo con la cantidad de puntos que están siendo tocados en la pantalla. 5. PuntoTactil fue creada para el manejo de los valores provenientes de la pantalla en un solo objeto.
Entrega los valores de posición y si están disponibles, los de presión y amplitud de cada toque. 6. DatoGPS sirve para manejar los tres valores provenientes del GPS en un solo objeto: latitud, longitud y altitud – No disponible en algunos móviles-. 7. GPS se encarga de obtener los valores brindados por el GPS.
Adicionalmente, esta versión incluye algunas clases más avanzadas que permiten realizar desarrollos más avanzados, orientados a lo gestual y lo tangible, procesando los datos crudos del celular. Gestos, permite obtener el ángulo en grados en el que se encuentra el celular por cada uno de los tres ejes utilizando solamente el sensor vector de rotación. Esta clase es limitada en la versión actual, pues solo incluye el gesto de rotar el celular. Sin embargo, está pensada para incluir otro tipo de gestos asociados a los sensores de tres ejes como vibración, saludo, voltear el móvil, etc. IdentificadorTactil utiliza los datos de posición de tres puntos táctiles que están a la vez sobre la pantalla y, según su posición relativa, les asigna una etiqueta. Esta clase se utiliza en fase de entrenamiento y en reconocimiento.
Para realizar la identificación, se crea un vector de características y se utiliza la técnica de aprendizaje no supervisado k-means usando como criterio de distancia en el espacio característico, la euclidiana. El vector de características tiene tres dimensiones, representando la longitud normalizada de las rectas que conectan los puntos táctiles, ordenada según el ángulo entre el centro de la circunferencia que circunscribe el triángulo formado por los tres puntos táctiles y cada una de las esquinas, tal como se muestra en el siguiente algoritmo y en el procesamiento de los datos de las etiquetas en la Figura 9:
La clase ObjetosMagneticos permite identificar distintos imanes utilizando la norma del vector proveniente de imanes diversos y un radio (como tolerancia). En este caso, el campo magnético del imán es el identificador, caracterizándose por una media y una desviación estándar. La clase permite primero un proceso de calibración (dado que el campo magnético puede variar según el lugar y entorno en el que se ejecute la aplicación). Así mismo, permite entrenar el sistema para aprender el campo magnético de cada objeto, tomando varias muestras para calcular el centro y radio -media y desviación-. En fase de reconocimiento, la clase permite la identificación de acuerdo con el entrenamiento que se haya realizado. Esta clase se apoya con IdentificadorMagnetico, para el manejo de las variables usadas para la identificación en ObjetosMagneticos en un solo objeto.
Finalmente, PosicionadorMagnetico permite identificar la posición de un imán. Para esta clase el método de identificación utiliza un promedio de los datos obtenidos por cada eje; estos promedios cuentan con su desviación estándar que es utilizada como el criterio a evaluar. Un ejemplo de cómo se distribuyen los datos recolectados para 4 posiciones diferentes se presenta en la Figura 10. Esta clase se apoya de IdentificadorPosicionadorMagnetico para el manejo de las variables usadas para la identificación en PosicionadorMagnetico en un solo objeto.
Finalmente, PosicionadorMagnetico permite identificar la posición de un imán. Para esta clase el método de identificación utiliza un promedio de los datos obtenidos por cada eje; estos promedios cuentan con su desviación estándar que es utilizada como el criterio a evaluar. Un ejemplo de cómo se distribuyen los datos recolectados para 4 posiciones diferentes se presenta en la Figura 10. Esta clase se apoya de IdentificadorPosicionadorMagnetico para el manejo de las variables usadas para la identificación en PosicionadorMagnetico en un solo objeto.
La biblioteca desarrollada contribuye con un conjunto de herramientas de desarrollo, documentación y ejemplos en español, para diversificar las interacciones con los móviles, priorizando usos alternativos de sus sensores; de allí su nombre: SensorMov. Su clase más sencilla recoge y organiza los datos crudos de los sensores, y los dispone en español, reduciendo los tiempos de compresión de la documentación nativa, y facilitando los procesos de apropiación. Al momento, se tienen cuatro clases de más alto nivel que permiten la identificación de objetos: táctil y magnética, su posicionamiento en dos dimensiones para el caso de objetos sobre la pantalla táctil, en tres dimensiones para los objetos magnéticos y la posición angular del dispositivo móvil como un todo. A continuación, se presenta el uso de la biblioteca en el marco del proyecto de investigación Diálogo de Saberes, y posteriormente un caso de evaluación en un proyecto académico de la clase Physical Computing de Ingeniería en Multimedia.
5.1 Estudio de caso
SensorMov fue utilizada en el proyecto investigación mencionado anteriormente. En este caso, artesanas y estudiantes de Ingeniería en Multimedia desarrollaron una serie de interfaces con componentes textiles y digitales. Los estudiantes (n = 5) utilizaron SensorMov para el desarrollo de las interfaces tangibles y gestuales, que usaran elementos digitales y textiles y que tuvieran como artefacto tecnológico al dispositivo móviles. En el desarrollo de estas interfaces se observó una alta facilidad de diálogo entre las artesanas y los desarrolladores de software que permitió a los estudiantes especificar colectivamente las historias de usuario e implementarlas en interfaces tangibles y gestuales (Figura 11).
Los estudiantes concluyeron que es necesario hacer pruebas de usuario más específicas para definir nombres más apropiados en los atributos, métodos y clases de la biblioteca. Así mismo, es necesario diseñar un método de apropiación para la construcción de comunidad en torno al uso de la biblioteca para tener una colección de ejemplos más extensa que reduzca los tiempos de desarrollo. Sin embargo, consideran que la biblioteca tiene una curva de aprendizaje rápida, lo que contribuye a una mayor propiedad por parte de los desarrolladores móviles.
5.2 Evaluación
Se realizó una evaluación preliminar de la biblioteca con estudiantes de Ingeniería en Multimedia de décimo semestre (n=22), en el marco de una asignatura electiva denominada Physical Computing. Esta evaluación se realizó a través de un taller sobre el uso del dispositivo móvil como plataforma para el desarrollo de interfaces tangibles y gestuales, dividido en tres etapas: exploración de referentes, reconocimiento de la biblioteca, y reto final.
La exploración de referentes buscó que los estudiantes hicieran una reflexión activa sobre sus dispositivos móviles, sus potencialidades, formas de interacción, usos atípicos y aplicaciones con interfaces diferentes a las tradicionales. Para hacerlo, se propusieron actividades como completar una tabla con los sensores disponibles, rangos de medición, y unidades de medida; el de responder a la pregunta de ¿Qué acciones realizamos con el móvil para cumplir qué tareas?, a través de dibujos (Sketch list); o el compartir a través de un diálogo material, ¿Cuál es la interfaz de usuario más curiosa que recuerdas? (Figura 12).
El reconocimiento de la biblioteca se realizó a través de una introducción al desarrollo móvil en Android Studio, un Hola Mundo en esta plataforma usando el lenguaje Java, y el despliegue de un glosario de términos asociados a esta forma de desarrollo. La biblioteca fue presentada a grandes rasgos, sin profundizar en su uso. La razón, es que la documentación y ejemplos disponibles también eran objeto de la evaluación. En esta etapa, cada grupo de cuatro estudiantes replicó tres ejemplos de la biblioteca y extendió alguno de ellos con funcionalidades similares. Todos lograron completar adecuadamente esta parte del taller.
Finalmente, para la parte del reto se planteó que diseñaran y desarrollaran un juego de mesa tangible que hiciera uso de SensorMov. Al ser tangible, se incluyó como requisito que debía tener componentes físicos (que podría ser objetos o gestos con el cuerpo) y digitales; y todos los componentes debían ser relevantes para la experiencia de usuario. El proceso de diseño implicó hacer un video escenario para probar en papel los prototipos (Figura 13 A). Los cinco grupos diseñaron y desarrollaron los juegos, de acuerdo con los requisitos planteados, como se muestra en el ejemplo de la Figura 13 B.
Los juegos desarrollados por los estudiantes permitieron evidenciar que la curva de aprendizaje de la biblioteca y la apropiación de la documentación y ejemplos es rápida. Sin embargo, uno de los aspectos más relevantes a mejorar en SensorMov es el planteamiento de retos dentro de la documentación, que permita más fácilmente moverse de los ejemplos planteados. Así mismo, es importante diversificar los ejemplos con otras funcionalidades del sistema operativo, para que los desarrolladores puedan integrar más fácilmente la biblioteca con otros desarrollos.
Adicionalmente, se identificó la necesidad de hacer más versátil la herencia de las clases principales. Como se mencionó anteriormente SensorMov se extiende de la actividad main brindada al inicio de la creación de un proyecto básico en AndroidStudio. Sin embargo, la versión actual de Android permite, por defecto, la creación de varias actividades más allá de la básica (ej. AppCompactActivity, FragmentActivity o ActionBarActivity). Por esta razón, es limitado el alcance de la biblioteca, en tanto no se puede combinar actualmente con otras formas de actividad que también reducen tiempos de desarrollo, especialmente de interfaces gráfica de usuario.
Finalmente, son aún amplias las funcionalidades que es preciso desarrollar con la biblioteca. Por ejemplo, gran cantidad de referentes utilizan tangibles sobre la pantalla multitáctil para identificar y detectar la posición y rotación de objetos sobre la pantalla- widgets- [
La biblioteca presentada es potencialmente aplicable en el desarrollo de experiencias interactivas que hagan uso del dispositivo móvil como interfaz de interacción o como dispositivo para el cómputo de información, en caso de que los datos sean capturados a través de sus sensores. Un campo en el que ha crecido el uso de este tipo de experiencias es en el desarrollo de artefactos museales para la divulgación de la ciencia y la tecnología, o incluso como estrategia para conectar más estrechamente a los públicos con los contenidos de las exhibiciones en museos tradicionales [
Adicionalmente, esta biblioteca puede ser usada en proyectos educativos orientados a conocer los paradigmas de programación móvil y específicamente para el sistema operativo Android. En el caso de evaluación presentado, se evidenció cómo los estudiantes tuvieron curvas rápidas de aprendizaje, realizando los ejemplos en un periodo aproximado de tres horas, incluso en los casos en los que no habían realizado previamente programación con Android. En particular, para los hispanoparlantes, es de gran ayuda encontrar las funcionalidades y la documentación en su lengua, reduciendo el temor de enfrentarse a herramientas nuevas y desconocidas.
Esta versión de SensorMov, biblioteca nativa para dispositivos móviles con sistema operativo Android, permite recoger datos crudos de los sensores los ejes x, y, z: acelerómetro, giroscopio, magnetómetro, y vector de rotación. Así mismo, captura los datos de la pantalla multitáctil, entregando una lista de puntos con su posición x,y, presión y amplitud del toque si están disponibles. Del sensor GPS entrega los datos crudos de latitud, longitud y, si el hardware del celular lo permite, altitud. Además, implementa funciones de alto nivel para identificar objetos a través de dos métodos, determinar el ángulo de giro de un móvil según una orientación inicial y localizar la posición (x,y,z) de un imán según una calibración de partida. Respecto a la identificación de objetos, el primer método utiliza el campo magnético estático de un imán anclado al objeto, de manera que se realiza una calibración inicial seguida de un proceso de entrenamiento para asociar la etiqueta del objeto a su campo magnético. El segundo método de identificación se realiza a través de la pantalla táctil, asignando a un objeto un identificador de acuerdo con la posición angular y radial de tres puntos de marcación.
El trabajo futuro incluye el desarrollo de nuevas funcionalidades de alto nivel, como la identificación de mayor número de tangibles en la pantalla multitáctil, el uso del micrófono como sensor para la triangulación de posición de las fuentes de audio y el reconocimiento de una mayor diversidad de gestos mediante el uso combinado de los diferentes sensores. Adicionalmente, es fundamental que la documentación de la biblioteca sea más clara en cuanto a la variable tiempo: ¿Cuánto tiempo tarda la captura de los datos?, ¿Cuánto tiempo se demora el entrenamiento en las clases de identificación magnética e identificación táctil?, ¿Cuánto tarda en reconocer un objeto luego de haber hecho el entrenamiento? Además de requerir esta información en la documentación, la cada una de las clases podría hacer el cálculo y proveerlo a través de la bitácora LOG. Otro aspecto de gran relevancia para el trabajo futuro se encuentra en la construcción de comunidad alrededor de la biblioteca. Al ser un desarrollo de código abierto, es importante que los desarrolladores de habla hispana la conozcan y contribuyan con la ampliación de sus funcionalidades, el ajuste de errores, los foros de discusión sobre su uso y dificultades, entre otros.
Este artículo es producto del proyecto INV-ING-2981 “Diálogos de saberes en la creación de interfaces físicas artesanales para la interacción con dispositivos móviles”, financiado por la Vicerrectoría de Investigaciones de la Universidad Militar Nueva Granada, Vigencia 2019.
No existe conflicto de interés de los autores.
Camilo Urdaneta: Ajuste de la documentación, creación del repositorio, desarrollo del taller de evaluación, escritura del artículo.
Julián Rodríguez-Almanza: Desarrollo inicial de SensorMov y documentación preliminar.
Laura Cortés-Rico: Concepción y diseño de SensorMov, escritura del artículo, investigadora principal del proyecto Diálogo de Saberes.