Saltar al contenido

2

Nada que ver con UAV's, la última tendencia en robótica consiste en utilizar computación en nube para hacer parte de los cálculos y operaciones de un robot. Siguiendo un artículo de microsiervos, he llegado a una explicación muy buena en el ieee automaton. La idea es utilizar computación en nube para realizar los cálculos más pesados y complejos, utilizando tanto la potencia como los datos masivos almacenados en servidores remotos. Cuando un robot se encuentre con un objeto desconocido, podría enviar una imagen del mismo a un servidor que identificará el objeto comparándolo con miles de modelos en su base de datos y recibir una descripción, un modelo 3d, etc. De una manera similar a google goggles y google translate que ya funcionan de esta manera.

¿Dónde encaja este tipo de computación en la arquitectura de un robot? En la parte de planificación, que puede recurrir a la nube para procesar información pesada o desconocida. Pero la parte reactiva también podría beneficiarse de la conexión a internet. ¿Qué tal una biblioteca de comportamientos reactivos? Es lo que en microsiervos comparan con la escena de Matrix de aprender "kung fu". Descargando los comportamientos necesarios, un robot siempre podrá activar los más adecuados a su entorno y a la tarea que esté realizando. Un ejemplo sencillo: un siguelineas puede convertirse en luchador de sumo, descargando de internet  los comportamientos apropiados para cada tarea y activándolos cuando los necesite.

Hay algunos peligros en este planteamiento ¿Qué pasa cuando el robot se queda sin conexión a internet? El sistema debería funcionar correctamente y siempre debería tener comportamientos adecuados para seguir funcionando sin peligro de que el robot termine descontrolado. Por el lado de la seguridad informática, habrá que evitar que se puedan cargar comportamientos peligrosos como "matar a todos los humanos".

Es un paradigma prometedor, hablan incluso de una "app store" para robots, en la que se podrán comprar aplicaciones para nuestro robot. Pero es más prometedora la idea de aplicar esta nube a electrodomésticos y aparatos inteligentes conectados a internet, enlazando con el concepto de el internet de las cosas.

Una de las tendencias actuales es mover las aplicaciones del escritorio a la web. En mi opinión, esta visión de las aplicaciones cómo entidades que residen en la nube mejora la usabilidad: cómo usuario puedo acceder a mis aplicaciones desde cualquier parte (una vez que me haya autenticado).

Una de las aplicaciones que se me ocurre más sencilla de migrar es un lector de pdf's. Pero creo que no debería limitarse una sustitución del plugon de adobe o cualquier otro lector basado en escritorio. Tendría que permitir almacenar nuestros textos favoritos, clasificarlos, recordar la página por la que estamos leyecdo, etc.. De esta forma podríamos leerlos desde cualquier lugar ó descargarlos en pdf para leerlos desde cualquier dispositivo. También se podría mejorar aceptando múltiples formatos de entrada y de salida, pero debe ser una herramienta orientada a la lectura de documentos.

En el pasado, he utilizado plucker en la palm. Actualmente uso un eeepc, que lleva un lector de pdf. Pero el siguiente paso es llevar los documentos a la web para leerlos desde cualquier lugar. Amazon (en la pre-visualización de un libro) y Google (en el book search) ya lo tienen hecho, pero me temo que por una cuestión de derechos de autor o simplemente porque no se han planteado el uso de otra forma, no permiten que se pueda usar fuera de su dominio.

Samuraj Data tiene un intento de lector que deja bastante que desear. Existe un lector bastante aceptable, pdfmenot, pero el enfoque no es a la lectura de documentos sino a poder visualizar documentos en pdf en el navegador. Adobe tiene una herramienta para visualizar pdf's dentro de su Adobe Share, pero tiene el mismo problema: el enfoque es a la visualización de documentos, y no a la lectura.

Muchas de estas soluciones son válidas para la mayoría de usuarios (incluso simplemente la descarga del plugin de pdf para el navegador), pero creo que la experiencia de lectura mejoraría mucho si se hiciera una especie de pluckr online o un iTunes para leer.

1

En unas declaraciones recientes, Richard Stallman avisa de que el cloud computing es una trampa. Hay parte de verdad en esta advertencia, pero no debemos cogerla cómo una negación del cloud computing.

Por un lado, es innegable que se trata de un término comercial. Como dice Stallman es un nombre nuevo a algo antiguo. Por otra parte, creo que necesitamos nombres nuevos cuando cambia algún aspecto antiguo. Dónde antes teníamos software embebido para terminales móviles, software de escritorio y programación web, ahora tenemos aplicaciones en nube. El objetivo debe ser unificar la programación en la medida de lo posible, la aplicación es única. Por ejemplo, el dúo outlook + blackberry, por mucha integración que haya no es comparable a acceder a gmail desde cualquier dispositivo.

Por otra parte, el miedo a la pérdida de privacidad es una cuestión de confianza, las empresas deben demostrar a los clientes que son dignas de su confianza.

Pero cuando Stallman habla de trampa, se refiere a que el software no es modificable, no sabemos que procesamiento de nuestros datos se estarán haciendo. Esto es un peligro inerente al software propietario y es independiente de si un software se usa en nube, en escritorio o en web. La solución es sencilla: frente a blogger, tenemos wordpress. Uno es cerrado y no sabemos cómo se manipulan nuestros datos, el otro es abierto y tenemos acceso al código fuente.

El peligro no es la nube, sino el software propietario. Al igual que linux se extendió lo suficientemente en un momento en que microsoft dominaba el mercado, surgirá la correspondiente aplicación libre en caso de que lo necesitemos.

Sobre la computación en nube, es muy difícil jugar a futurólogo, simplemente se trata de la tendencia actual, pero no implica que en el futuro esto no cambie.

Es posible que en el futuro aparezca una nueva tecnología, llamemoslo el cisne negro, que nos hará cambiar de opinión y presentará las siguientes características:

  • impredecible: nada anterior permite predecir al cisne negro. Todas las previsiones actuales se basan en lo que ya existe.
  • gran impacto: su aparición tiene un impacto importante. Normalmente una reducción de precio o un aumento de calidad o valor manteniendo el mismo precio.
  • retrospectiva: todo el mundo puede explicarlo "a posteriori" y parece sencillo de predecir y lógico.

Teniendo en cuenta estas características, ¿no son parecidos el "cloud computing", al modelo "cliente/servidor" y al mismísimo "terminal tonto"? Todos fueron impredecibles, todos tuvieron un gran impacto (en el desarrollo tecnológico) y todos se pudieron explicar a posteriori.

¿Qué es lo que podemos hacer mientras esperamos al siguiente cisne? Observar lo que ya existe e intentar prever su crecimiento. Como dice O'Reilly, observar al alpha geek, el futuro ya está aquí, sólo que no está lo suficientemente distribuido.

Otro argumento en contra de la computación en red, es el argumento de que los terminales tontos ya se inventaron y fracasaron. Pero esto no es cierto, los terminalos tontos fueron un éxito en su momento. Simplemente fueron reemplazados por otras tecnologías propiciadas por un cambio en el entorno:

  • Un terminal tonto, al menos al inicio, no era ni siquiera un ordenador, llevaba la electrónica justa para acceder a un ordenador central y mostrar una consola que ejecutaba en el ordenador central.
  • El motivo de los terminales tontos era compartir recursos, un ordenador era muy caro y la ventaja de las terminales tontas era permitir el acceso de varias personas a un carísimo ordenador central.
  • La arquitectura de PC's surgió por un efecto imprevisto: el abaratamiento de los PC's. En cada escritorio se podía tener un ordenador muy potente a un precio razonable, ya no había necesidad de compartir el ordenador central. Al menos para aplicaciones como procesadores de textos, hojas de cálculo, etc.
  • La web surgió como nuevo modelo de comunicación, compartir información entre pc's usando un protocolo sencillo. Su uso se popularizó cuando el acceso a internet se abarató.
  • La nueva arquitectura en la nube no persigue abaratar costes como los terminales tontos, ni centralizar la información en un sólo lugar. La idea principal es permitir el acceso desde múltiples localizaciones y desde múltiples terminales. Aunque también se basa en el abaratamiento tanto de los PC's, como de los servidores, como en el abaratamiento de las comunicaciones.

Una aplicación que refleja los cambios de modelo de arquitectura es el correo electrónico. Inicialmente había que usar pine en terminales tontos, de ahí se pasó a usar outlook en un modelo cliente servidor y actualmente usamos gmail al que se puede acceder desde la nube (terminales móviles, pc's y/o cualquier cosa que interprete html + javascript).

Por eso no creo que se pueda comparar la arquitectura de terminales tontos con la arquitectura de nube. Cada tipo de arquitectura surge como respuesta a unas condiciones económicas y de mercado distintas. Actualmente es barato tener ordenadores en todas partes, con comunicaciones baratas de banda ancha. Casi es lógico que aparezcan arquitecturas en nube.