Cuando el desarrollador israelí Uri Shaked vio hace unos meses un casco de medición de ondas cerebrales no pudo resistirse a hackearlo para conseguir enlazarlo a su medio preferido: la web.
Estos dispositivos utilizan la Electro-Encefalografía o EEG para medir y monitorizar la actividad eléctrica del cerebro. Básicamente lo que hacen es colocar unos cuantos electrodos lo más pegados posible a tu cuero cabelludo y mediante los mismos miden las débiles señales eléctricas que genera el cerebro al trabajar, que fluctúan en función de lo que estés haciendo.
En concreto, Uri utilizó un modelo comercial de medidor de EEG llamado Muse que se vende por unos 250 dólares y que está enfocado según sus creadores a ayudarte a relajarte y meditar, pero que en realidad es un producto robusto de EEG, para ser dirigido al consumidor final y no a profesionales.
El dispositivo viene con una aplicación para iOS o Android con la cual se comunica mediante Bluetooth, e incluso tiene un kit de desarrollo, aunque solo es válido para aplicaciones móviles nativas. Pero Uri quería aplicarlo a la web, y permitir que sus usuarios pudieran controlar una aplicación con el pensamiento a través del aparato.
Su primera intención fue hacer ingeniería inversa del protocolo (como de hecho ya consiguió con otros dispositivos en el pasado), pero al final encontró una biblioteca Open Source en Python que ya lo había conseguido antes que él, así que esa parte se la ahorró.
Lo primero que hizo fue conectar el dispositivo mediante Bluetooth al navegador y empezar a leer la información de los 8 electrodos que tienen los cascos EEG de Muse, graficando la señal:
Para ello hizo uso de RxJS, la biblioteca JavaScript de RectiveX.io, especialmente diseñada para la gestión de flujos intensos de datos entre otras muchas cosas de programación asíncrona y funcional.
Aunque como primer paso está muy bien y es muy interesante, es algo de poca utilidad práctica más allá de ver unas gráficas con mediciones que te acabarán aburriendo al cabo de un rato, así que tenía que ir más allá.
El siguiente paso sería utilizar esta información para hacer algo útil con ella, como por ejemplo poder controlar el navegador con la mente a través de los electrodos.
Por suerte su novia es optometrista y le habló de una técnica denominada electro-oculografía. Esta técnica permite medir la actividad ocular a través de la diferencia de potencial de los ojos, que tienen una carga positiva hacia la parte delantera y una negativa en la trasera. Dado que el Muse tiene dos electrodos muy cercanos a la zona ocular, podría utilizarlos para medir esta actividad y detectar así los pestañeos y guiños de los ojos.
Para hacer una historia larga, corta, esto es lo que consiguió:
Con su aplicación es posible detectar el movimiento de los ojos lo cual, aparte de la frikada en sí, puede tener muchísimas utilidades. Por ejemplo, imagínate lo mucho que puede hacer por personas inmovilizadas que, al menos podrían comunicarse aunque fuese de forma lenta y con un coste muy reducido comparado con las alternativas. Además esto solo ha explorado la superficie de lo que se puede hacer. Seguramente analizando bien los datos de los demás electrodos y adaptándolos a cada caso concreto se podrían conseguir aplicaciones más complejas.
Este tipo de dispositivos eran imposibles de conseguir fuera de los ámbitos profesional hace tan solo unos años, y los precios eran prohibitivos. En la actualidad no solo disponemos de éstos, sino también una gran variedad de dispositivos y sensores que eran impensables a principios de siglo (o sea, hace nada). Y esto abre un mundo de posibilidades para crear proyectos interesantes como este, con mucho potencial de ayudar a las personas.
¿Qué opinas? ¿Se te ocurre alguna otra aplicación práctica de esto? En el artículo original de Uri tienes todos los detalles de cómo lo hizo.