9 de agosto de 2017
El 9 de enero 2007 en el Moscone Center de San Francisco, Steve Jobs realizó la que hasta el día de hoy se recuerda como una de sus presentaciones más espectaculares. Frente a una multitud impresionada, la mente maestra detrás de Apple, empresa que actualmente se perfila como la más valiosa del mundo, daba a conocer el primer iPhone de la historia: un dispositivo que representaba la evolución del teléfono hacia un computador personal de bolsillo, capaz de recibir llamadas y ofrecer una experiencia de navegación mucho más amigable que cualquiera ofrecida por la competencia hasta aquel momento. Ese día fue el génesis de las apps, las que fueron cobrando fuerza a partir de 2008 con el lanzamiento de la App Store y otros servicios similares, permitiendo que miles de desarrolladores empezaran a crear sus propias plataformas de juegos, herramientas de trabajo y servicios, entregando nuevas alternativas de ocio y facilitando a las personas diversas tareas y actividades.
Como señala Jaime Navón, Profesor del Departamento de Ciencia de la Computación de la Escuela de Ingeniería UC, hoy las personas navegan más por dispositivos móviles que por medio de computadores, y del total del tiempo que pasan en internet, el 90% lo hacen a través de apps. Al igual que los dispositivos móviles que las contienen, estas han ido evolucionando incorporando mejores interfaces, nuevas funciones y tecnologías innovadoras, tales como Machine Learning e Inteligencia Artificial. Es así que podemos conversar con Siri a través de nuestro iPhone o utilizar el asistente virtual de Google cuando necesitamos buscar algo en internet. Incluso, hoy podemos aplicar Realidad Aumentada y mezclar del mundo real con el virtual para cazar pokemones y monitorear nuestros signos vitales en todo momento a través de distintos wearables. Las posibilidades parecen ser infinitas.
Sin embargo, el creciente uso de apps y sus funciones cada vez más sofisticadas también requieren mayores recursos, los que no siempre avanzan a la velocidad adecuada. «Con los avances tecnológicos de los dispositivos móviles, el consumo de energía se ha disparado, por lo que hacer baterías más eficientes es uno de los mayores desafíos de la industria, apunta el experto, señalando que una pantalla mucho más grande y con mejor resolución, además de muchos procesadores, entre otras cosas, hacen que haya una gran presión sobre el aparato que debe seguir siendo pequeño. A modo de ejemplo, explicó que en los últimos 7 años la capacidad de almacenamiento de energía del Samsung Galaxi se duplicó, pero esto no es suficiente frente al aumento de demanda de energía que experimenta el mayor uso del móvil. Un tema no menor, considerando que la mayor autonomía de la batería es uno de los atributos más apreciados por los consumidores.
Frente a esto, el Mobile Cloud Computing se presenta como una alternativa atractiva, pues permite a las apps desarrollar funciones complejas y que, por ende, utilizan mucha energía, fuera del móvil. Esto no sólo ayuda a que la carga de los dispositivos dure más, sino que también a que funcionen más rápidamente y puedan realizar acciones más complejas. «Las aplicaciones móviles por lo general tienen una parte que es el cliente y otra parte que funciona en los servidores de la compañía. Plataformas como Facebook, Twitter y Waze necesitan estar permanentemente conectadas a los servidores de la aplicación en la nube, así como los asistentes inteligentes como Apple Siri o Google Assistant. Esto no es algo nuevo”, apunta Navón, quien señala que con el tiempo la nube ha ido mejorando y bajando sus precios, volviéndose más asequible.
Sin embargo, esta tarea denominada Code Offloading que consiste en llevar de manera transparente y automática las tareas de alto consumo de recursos desde dispositivos móviles a un entorno más rico en recursos, es decir, la nube, no siempre es lo más óptimo y cada caso necesita evaluarse. «Si conviene o no dependerá de diversos factores, como el tipo de dispositivo, la tarea a realizar y la conectividad», señala el académico de Ingeniería UC, que además es parte del Laboratorio de Aplicaciones Móviles UC, MECOLAB, el cual se dedica a la Investigación, Desarrollo e Innovación en torno a estas materias.
Hacer apps más rápidas, amigables con los dispositivos móviles y que permitan ahorrar energía es parte del trabajo de esta entidad dependiente del Departamento de Ciencias de la Computación UC, la cual trabaja con diversas tecnologías. El Cloud es una de ellas, pero también avanzan en el desarrollo de la arquitectura de software necesaria para lograr el proceso inverso, que es conseguir que los dispositivos móviles puedan realizar por ellos mismos y de forma eficiente procesos complejos que hoy en día son relegados a la nube, por ejemplo, el Deep Learning.
Otra de sus líneas apunta al uso del Edge Computing, tecnología que permite poner nodos de cómputo y almacenamiento al borde de la internet para mejorar el desempeño de herramientas dependientes de ella, como las apps. De este modo se reduce el tráfico, pues los datos quedan más cerca y así se evita ir a buscarlos a un servidor lejano. Su efecto es similar a lo que ocurre con las Content Delivery Network (CDN), un tecnología muy utilizada en video, las que permiten acercar datos y contenidos utilizando un recurso local en lugar de extraerlos de servidores lejanos, permitiendo una carga más rápida y eficiente. «Lo que nosotros queremos es generalizar la idea de las CDN, permitiendo que los nodos no sólo sirvan de caché, sino que también puedan computar», apunta Navón.