sábado, 31 de mayo de 2014

El Internet de las Cosas, los dispositivos fungibles y las aplicaciones ubicuas.


El éxito del Internet de las cosas (IoT), dependerá de la rapidez en la implantación del hardware intercambiable y reemplazable, o si no es posible, de las aplicaciones ubicuas.


Ríos de tinta digital existen actualmente en la red, para explicar cómo será un universo, con todas las cosas conectadas entre sí.


Los fabricantes de las infraestructuras de interconexión se están frotando las manos, ya que las oportunidades de negocio son enormes. Se están barajando cifras de negocio de 1.4 billones de Euros concentrados en esta y sucesivas décadas.


El Internet de las cosas (IoT) creará escenarios complejos donde: ordenadores, tabletas, teléfonos inteligentes, complementos llevados en el cuerpo y sensores ubicados en cualquier cosa imaginable, hablarán entre ellos.

El programa informático que permitirá hacer "entender" entre si todo estos "actores", deberá ejecutarse en hardware diferentes.

Si la industria informática y la no informática consiguen aislar el hardware del software, y se crea hardware pensado para ser intercambiado sin necesitar diferentes versiones de software, el éxito del Internet de las cosas será rotundo. Pero es prácticamente imposible conseguir esos dispositivos fungibles (intercambiables).

Para poder conseguirlo, entran en escena las aplicaciones ubicuas. Es decir programas informáticos que están en todos lados, ofreciendo una solución global, con presencia en todos los dispositivos que sean necesarios para cubrir la necesidad demandada.

El vídeo siguiente muestra algunas aplicaciones:






Un posible esquema que muestra cómo se conseguiría esa funcionalidad, en un determinado momento estar presente en todas partes, sería el mostrado en el siguiente esquema. El objetivo es conseguir aislar el interfaz del usuario (UI) mediante una arquitectura de software MVC (Model-view-controller).







La arquitectura MVC divide un el software en tres partes interconectadas entre sí, para poder separar las representaciones internas de información, de las formas en que se presenta la información o que acepte el hipotético dispositivo del usuario.

La parte entre el Servidor y el Cliente en el esquema anterior, sería el "driver" (software necesario para la interconexión con el cliente) necesario para presentar en el dispositivo los datos requeridos (gráfico, imagen, vídeos, texto...).





Muchos entornos de programación actuales, están incorporando funcionalidades Model-view-Controller (MVC) en sus librerías de programación ( .NET o AJAX), por tanto es de prever que serán forzosamente usadas por los desarrolladores si, tal como parece, el Internet de las Cosas (IoT) se consolida.



La idea principal es que las aplicaciones ubicuas (ubicomp, Things That Think, Everyware, ambient intelligence) se integren en el entorno de los humanos, sea en la empresa o en el hogar, de forma que el hardware en cualquier expresión física (ordenadores, tabletas, teléfonos inteligentes, sensores...) no se perciba como objetos / cosas diferenciados.


Teniendo en cuenta que la "pantalla pequeña" (teléfono inteligente o smartphone) se ha convertido, casi sin quererlo, en nuestra pantalla principal, si y sólo si tenemos toda la electrónica de nuestra alrededor interconectada, se desarrollarán aplicaciones para una experiencia de usuario unificada y transparente.

Seguidamente se muestran algunas de las aplicaciones de la Internet de las Cosas (IoT).:




- Agricultura: Combinando sensores de temperatura, humedad y luminosidad, podremos controlar el grado de madurez de la uva. Ya existen empresas vitivinícolas que están usando esta aplicación.










- Medio ambiente: Combinando sensores de ultravioleta, ultrarrojos y CO2, podremos prevenir y detectar incendios forestales..













- Balizas informativas: un comercio o tienda coloca una baliza informativa (sensor). Cuando pasamos al lado, nuestro teléfono inteligente nos muestra las ofertas en su interior. Al entrar a la tienda la aplicación ubicua nos reconoce en el sistema informático y propone nuevas compras en base a las realizadas en el pasado






La finalidad de toda la industria tecnológica informática (IT), es desarrollar entornos trasparentes a los usuarios y, con una experiencia de usuario vinculada a todos los dispositivos casi sin que el propio usuario se de cuenta.



La cita:

"Cuando hechizas a la gente, tu meta ni es hacer dinero con ellos y conseguir lo que ellos quieren, sino darles satisfacción". Guy Kawasaki, cofundador de Apple


domingo, 4 de mayo de 2014

Chromecast, ¿Qué lo hace diferente?. Hardware y Software.

Desde hace una semanas, hemos probado en casa este gadget de Google, a la venta en varios países europeos desde hace semanas. El icono Cast puede llegar a ser obligatorio para cualquier app o aplicación web




El packaging del producto es minimalista, tal y como marcó en su momento tendencia la caja del IPhone de primera generación de JobsDesde entonces todo el "packaging" ha seguido el mismo camino. 




El Chromecast tiene mucho potencial, es muy probable que marque un punto de inflexión, conceptualmente hablando: crear un dispositivo pequeño para dotar de capacidad de proceso multimedia a cualquier televisión, usando una infraestructura WiFi compartida, para aplicaciones colaborativas. 





La capacidad de proceso conseguida en el televisor no inteligente, se traducirá en reproducción de vídeo desde el propio gadget, o en "streaming", juegos colaborativos, lectura compartida de contenidos web o documentos en la nube...





¿Qué tipo de hardware tiene?

Aunque inicialmente parece una memoria USB,  en sus entrañas hay muchísima tecnología, tal y como detallo a continuación:


- Marvell DE3005 - Dual Core 1.2Ghz SoC. Con una gráfica interna GPU Vivante GC1000 core 3D. (Chip cuadrado marcado en naranja).




- Micron D9PXV 4Gb RAM. Algunos comentan que sólo tiene 512 KBytes, pero por la fluidez del dispositivo, pienso que es poca RAM, no queda nada claro. (Chip rectangular marcado en verde).



- Micron 4GB Flash Memory 29F16G08MAA. Donde se aloja el sistema operativo. Inicialmente se pensaba que era un versión personalizada de Chrome OS, pero parece ser que una vez "hackeado", se asemeja a una versión de Android modificada para parecerse a una versión de Google TV.(Chip rectangular marcado en amarillo).



- AzureWave chip dotando al dispositivo de WiFi N, Bluetooth 3.0+HS y radio FM con RDS. Actualmente la versión de software sólo activa el WiFi. (Chip cuadrado marcado en rojo).



Un detalle de la configuración...


Los pasos para poner el gadget en marcha son muy intuitivos y cómodos, sobretodo porque no es necesario consultar la clave de la red inalámbrica del router de casa, los chicos de Google ya la tienen guardada en sus bases de datos, pudiendo indicar en la instalación que rellene automáticamente la contraseña WiFi. Es francamente inquietante, tal y como comenté en su día en una entrada de mi blog



¿Qué aplicaciones tenemos disponibles? Entre apps nativas Android y extensiones Chrome para ordenadores "corriendo" con Windows o Mac OS.



Es posible que actualmente no exista una gran oferta de aplicaciones, pero hemos probado en casa las que se muestran en la imagen.

Las propias de Google funcionan de una manera fluida, pero aplicaciones de terceros no funcionan tan rápido, de momento.

Existen emulaciones de Nintendo para el Chromecast y los juegos disponibles emulan obviamente a las máquinas de los años ochenta; pong, snake, tetris...

Hemos probado un par de juegos arcade con gráficos paupérrimos, que parecen emular un Sinclair ZX Expectrum (Dog Park y Up Down Fish), no son la mejor forma de aceptar el dispositivo como consola de juegos (pero no es este el propósito inicial, supongo)...

Ahora bien, DoodleCast me ha robado el corazón, y aquí empieza a mostrar el poderío combinacional, el "lápiz" HDMI de los chicos de Mountain View. La idea es simple, Chromecast hace de puente entre dos dispositivos interconectados:

  • Un Nexus 7 ejecuta la aplicación DoodleCast , también hace lo mismo un BQ Aquarius de 5 pulgadas.
  • En cada turno, uno de los dos dispositivos, tienen que escoger una palabra en inglés, el otro dispositivo tiene que adivinar las letras de la palabra.
  • Para adivinar la palabra, el jugador que la ha escogido, tiene que dibujarla en su dispositivo, que a su vez se muestra en la TV de alta definición un clon de lo dibujado en tiempo real.

Todo con una velocidad más que interesante. Y con una definición de imagen excelente.

Para el universo sobremesa y, asociando la correspondiente extensión Chromecast para Chrome, existe otra muy buena aplicación llamada Videostream.




La idea es similar a la aplicación AllCast, pero sólo es posible reproducir vídeos en el televisor. Nos bajamos la extensión para Chrome de VideoStream, buscamos un vídeo cualquiera (no importa el formato) y lo lanzamos al televisor usando el Chromecast.

Hemos probado con diferentes calidades de vídeos. Si no disponemos de una buena red de área local con un buen WiFi, para fuentes de vídeo de alta definición, la reproducción puede presentar retardos / "lack". Probando con calidades menores, el vídeo se reproduce correctamente.


Conclusión, ¿Qué puede venir?

La idea está clara: poder reproducir ficheros multimedia, entre diferentes dispositivos interconectados (PC, Mac, consolas...) mediante aplicaciones gestionadoras de contenidos (Plex, Serviio, o cualquier software DLNA / UPnP), usando extensiones para Android para controlar la reproducción y, evidentemente, Chromecast como receptor del contenido para "castearlo" (lanzarlo) al televisor.

Es muy probable que estemos en el inicio de una revolución en el salón, sea en forma de lápiz HDMI o en un ChromeCast de segunda generación, con capacidad aun mayor. Sobretodo si se desarrolla para él.


La cita:

“No puedes simplemente pedir a tus clientes que te digan lo que quieren e intentar proporcionárselo. Cuando lo logres, estarán pidiendo algo nuevo” Steve Jobs.