Gracias a la gran comunidad que se gestó en la primer Campus Party, T4Lan, hemos sido invitados al segundo encuentro de éste evento. La cosa se va gestando entre algunxs chicxs que trabajan en sus computadoras, otrxs que organizan la cena para las 200 personas que hoy forman ésta comunidad, y lxs que van seteando equipos de música y routers inalámbricos (porque todavía no confiamos en las validaciones de wifi públicos). Campus Party es un evento lleno de patrocinadores, empresas intentando vendernos algún que otro producto mágico, stands ofreciendo muchísimos regalitos a cambio de tus datos, entre otros productos de entretenimiento. Pero, ¡por suerte! también cuenta con la presencia de personas con otro tipo de objetivos enfocados a la formación, información y conocimiento.
Gabriel Maljkovich y quien les escribe, estuvimos recorriendo distintos workshop y charlas que se llevaron a cabo el primer día. Compartimos en ésta nota algo de lo que estuvo pasando.
Mentes Virtuales, Cerebros Virtuales.
Fernando Tarnogol, fundador de una startup dedicada a la investigación en Psicología, nos pregunta: ¿qué es la realidad?
Una rápida introducción de Psicología nos sumerge en los papiros egipcios y chinos, que ya comenzaban a plantearse los orígines de la depresión. Buscando herramientas que puedan dar respuesta al conflicto del ser humano nos hace pensar en Descartes y su teoría de distinción entre mente y cuerpo. Hacía el siglo XX comenzamos a inspeccionar métodos de análisis médicos como la resonancia magnética funcional, electroencefalogramas, entre otros. Paralelamente intenta introducir un sistema binario a la teoría de Descartes, de que el cuerpo y la mente deben considerarse entidades distintas y ser analizadas por separado, en un intento de relacionarla con el concepto de realidad virtual que tanto adoptamos.
¿Cómo construimos la realidad?
Utilizamos dispositivos para comunicarnos, anteojos de realidad virtual para entretenernos, y tenemos la sensación de que todo aquello pertenece al fenónemo de realidad virtual cuando, en realidad, cada vez que nuestras emociones y sentidos se estimulan, estamos experimentando algo real. Todo lo que podemos experimentar pertenece a la realidad. La construímos, entre otros mecanismos del cuerpo, con nuestra percepción óptica. Bastan 20 milisegundos de observación para distinguir algo o a alguien, y 200 milisegundos hasta que podemos construir un marco que interprete aquello que observamos. No es un caso menor el uso de dispositivos de realidad virtual que nos producen fuertes estímulos. Toda ésta introducción nos permite entender cómo una plataforma puede utilizar dispositivos de realidad virtual para tratar fobias en personas.
Phobos es una plataforma de código libre y abierto que recrea escenarios con elementos que estimulan reacciones en un paciente, por ejemplo una escena de alturas, algún ser vivo que represente una amenaza para la persona que está siendo tratada, etc. Éste método se basa en la teoría por exposición, que habitúa a una persona a recibir estímulos para que un supervisor pueda analizar los resultados o descubrir experiencias traumáticas. La plataforma también utiliza accesorios smart, como bandas para las muñecas, que toman mediciones.
Link de interés: https://www.indiegogo.com/projects/phobos-anxiety-management-vr-platform
Web + Mobile: una relación progressive
Ésta charla estuvo dedicada a las progressive web apps, de la mano de un desarrollador de Digital House.
En pocas palabras, una progessive web app es una aplicación web que intenta con todas sus fuerzas aparentar ser una aplicación nativa, en el dispositivo en el que corre. Una aplicación nativa es aquella que fue desarrollada en el lenguaje que el sistema operativo de un teléfono particular sabe interpretar o compilar (Java -ewww- en Android, por ejemplo).
¿Por qué una web app, por qué una app nativa?
Las web apps son generalmente multiplataforma, en contraste, una aplicación nativa es muy costosa de implementar, ya que requiere distintas implementaciones para los distintos dispositivos (utilizar distintas tecnologías, distintos lenguajes, etc). Contrariamente, desarrollaríamos una app nativa para aprovechar toda la performance, accesorios y utilidades que trae un dispositivo móvil (cámara, micrófono, giroscopio). No quiere decir que una web app no pueda acceder a alguna de éstas características, sino que la implementación resulta mucho más intuitiva en las alternativas nativas.
Algunas de las características de una progressive web app es que sea confiable, es decir, que cierto funcionamiento no dependa de la conexión a internet. A diferencia de una web app, las progresivas utilizan service workers para mantener información en cache y así poder ser utilizada o, al menos, visualizada aún cuando la conexión a internet es baja o nula. Apuntan también a ser aplicaciones más rápidas que las ya conocidas web apps, la interacción con el usuario debe ser eficiente, se debe sentir como una aplicación móvil. Muchos de los frameworks están optimizados con Web Assembly para satisfacer éste requerimiento. Siguiendo con la línea de experiencia de usuario, los frameworks dedicados suelen estar integrados por componentes que replican assets y funcionalidades características de las nativas: botones, mensajes toast (pop up), notificaciones, íconos de escritorio.
Algunos frameworks relacionados podrían ser:
React Native
Vue Native
Next.js
Primer workshop del día. Se trataba de un mini taller, concurrido por personas de todos los palos (desarolladores, marketing, gamers, curiosos…), bastante dinámico, que tuvo como desafío realizar una web app que consuma datos de noticias de Hacker News.
Se utilizó Next.js, un framework de Server Side Rendering. Comenzó muy lentamente esperando que todos tengamos el entorno instalado. Utilizamos git, node en su versión 9.0.0 y npm 5, aunque sus predecesoras también eran válidas.
Instalamos react, next.js y otros módulos de ayuda. Creamos páginas estáticas en 10 minutos y ya estábamos metiendo estilos a lo Vue (no sé realmente por qué hubo tanto escándalo por una <style> dentro del .js, ¡ya se había hecho antes!). La parte mas emocionante para los geek y la más traumática para los desorbitados chicxs de marketing fue el consumo de datos utilizando pedidos HTTP.
El alcance del taller alcanzó para entender como estructurar una aplicación con server side rendering en React y conocer sus limitaciones como framework.
Link al repositorio.