Internet:Web-OS, si tal cosa llega a existir Salvador Pérez Crespo A Fondo ¿Se podrá crear e implantar un sistema operativo web?, ¿qué le diferenciaría de los OS clásicos?. Descubra la respuesta en este interesante artículo. Descargar archivo de audio (22:44 min / 5,20 Mb) La idea es poderosa: ser capaz de contar con el equivalente a un sistema operativo para la web. Se tiene en mente el enorme poder, sobre todo económico, conseguido por Microsoft al ser el desarrollador del sistema operativo que utiliza la inmensa mayoría de ordenadores personales del planeta. Sin embargo la tarea de crear un sistema operativo para la web se antoja una labor notablemente más complicada. Por un lado, la situación de partida no es la misma. Microsoft se encontró con una escasísima penetración del mercado de ordenadores y con ello la posibilidad de añadir poco a poco funcionalidades cada vez más complejas. En el caso de la web ocurre que ya existe una base de usuarios enorme con una herencia en cuanto a la forma de actuar con el mundo web que no es posible despreciar. Por otro lado, mientras Microsoft desarrolló sus productos en un entorno de escasa competencia con otros desarrolladores, el número de potenciales competidores en el mundo web es, en muchos casos, elevado; y lo que es peor, diferentes agentes desarrollan soluciones radicalmente diferentes para solucionar problemas similares. El panorama actual apunta más hacia el equivalente web de las redes de servicios profesionales. Igual que un constructor cuenta con una red de contactos profesionales (fontaneros, electricistas, ) a los que contrata en función de sus necesidades en cada momento, el sistema operativo web se podría parecer a redes de servicios que hábilmente combinadas permitan crear servicios que solucionen los problemas de los usuarios. Analogía con los sistemas operativos clásicos El propósito de un sistema operativo es simplificar a usuarios y desarrolladores el acceso a las capacidades de computación que integra un ordenador. A los primeros les facilita la interacción con las aplicaciones y a los segundos les simplifica la labor de desarrollo de las aplicaciones que los usuarios necesitan. El sistema operativo oculta al máximo la existencia de componentes hardware y limita la visibilidad de estos a la mínima información necesaria para uso, como podría ser la capacidad del disco duro. Un sistema operativo para la web debería perseguir propósitos similares, con la gran diferencia de que el entorno es notablemente más complejo. Desde el punto de vista del usuario sería deseable que un sistema operativo web simplificara la interacción con los servicios, por ejemplo definiendo un 'look and feel' uniforme, o que ocultara el hecho de que algunos componentes de las soluciones se resuelven de forma local y otras de forma remota. Para el desarrollador, el sistema operativo debería simplificar el acceso a los componentes básicos del servicio como el almacenamiento de la información o la gestión de la capacidad de computación. A día de hoy no existe, ni por asomo, nada que cumpla todos estos requisitos. Más bien, el panorama lo cubren un conjunto de soluciones particulares que individualmente afrontan parte de las tareas. Se trata de un entorno altamente heterogéneo, rico en innovación y en constante reinvención. El escritorio en red En la actualidad, el término de 'sistema operativo web' (WebOS) se asocia principalmente a lo que otros conocen como 'escritorios web'. Se trata de servicios que afrontan la tarea de proporcionar a los usuarios la componente de interacción propia de los sistemas operativos. Porque, a pesar de que con el tiempo el modo de funcionamiento de los servicios web se ha homogeneizado sustancialmente, todavía existe un elevado grado de dispersión en los modelos de interacción con las aplicaciones. Mucho más lejos queda el conseguir la circulación uniforme de la información. Mientras que en un ordenador personal el usuario tiene control sobre el lugar donde se encuentran sus datos, en el web es habitual que los datos estén cautivos en el servicio que los utiliza. O cuando es posible el movimiento, éste se realiza de una forma cuando menos inconveniente. Es lo que ocurre si intentamos mover nuestras fotografías de un sitio de gestión online de imágenes a otro; mientras en un ordenador personal es una tarea innecesaria pues basta con utilizar una u otra aplicación que accede a los mismos datos, en el mundo web los datos residen en los servidores de cada servicio y se hace necesario un costoso proceso de migración. En la actualidad existen dos grupos de servicios web en la línea antes descrita. Los escritorios online basados en widgets del tipo de Netvibes ó Pageflakes y los escritorios online autonombrados Web-OS del tipo de Goowy o EyeOS. Son estos segundos los que habitualmente se identifican con el término Web-OS y así son nombrados en numerosas ocasiones. Los escritorios online basados en widgets son páginas web que el usuario configura a su voluntad para colocar en ellas aquellos componentes de muy diverso tipo: acceso a predicciones meteorológicas, titulares de noticias, acceso a barras de búsquedas, listas de tareas, y un largo etcétera (ver la Figura 1). Su principal valor es que constituyen un punto único de acceso a multitud de servicios web de los usuarios a través de un interfaz homogéneo. Se apalancan en disponer de un entorno de creación de nuevos componentes (widgets) por parte de terceros que permite aumentar el atractivo de entorno. Se encuentran limitados por cuanto que desde los widgets no es posible acceder a la funcionalidad completa de servicio. Por ejemplo, un widget puede permitir el acceso a un grupo de fotografías de Flickr, pero será necesario ir a la página web de Flickr para realizar funciones más complejas como subir imágenes o gestionar la cuenta de usuario. Aún así, su popularidad es creciente, aunque todavía escasa, como lo muestran los datos referentes a usuarios estadounidenses que se ofrecen en la Figura 1. En este sentido, un indicador de las buenas perspectivas de difusión es la gran cantidad de clones e imitadores que están apareciendo (ver por ejemplo http://mimundo.elmundo.es/MiMundo). Figura 1. Escritorios online basados en widgets Un mayor nivel de abstracción muestran los escritorios online autonombrados Web-OS. Como se aprecia en la Figura 2 buscan imitar el funcionamiento de un escritorio como el que un usuario dispone en su ordenador personal pero dentro de un navegador web. Los hay incluso que imitan la apariencia de otros sistemas operativos como Windows Vista o MacOS X. Su objetivo es reproducir el mecanismo de interacción entre personas y ordenadores conocido bajo las siglas de WIMP por 'window, icon, menu, pointing device' (ventana, icono, menú, dispositivo apuntador) que es el que utilizan la gran mayoría de sistemas operativos para el gran público y que, por lo tanto, es ampliamente familiar. Permiten ejecutar aplicaciones diseñadas para el entorno y es habitual que entre las proporcionadas por estos Web-OS se encuentren programas de correo electrónico, clientes de mensajería instantánea, reproductores de contenidos multimedia y acceso a algún tipo de sistema de almacenamiento online. En estos sistemas toda la información utilizada se encuentra online lo que permite ser accedida desde cualquier ordenador con conexión a Internet que tenga instalado alguno de los navegadores web populares. Al igual que los escritorios online basados en widgets, no son capaces de controlar los recursos que existen en el ordenador donde se visualizan, lo cual es en cierta medida lógico para garantizar la seguridad y privacidad del usuario. Además, se encuentra el hecho de que iniciativas ActiveX que permitían acceso a los recursos del PC tuvieron muy mala prensa por los problemas de seguridad colaterales. Ello limita el acceso a dispositivos locales y con ellos el acceso a dispositivos electrónicos digitales tan habituales en la actualidad como cámaras fotográficas, videocámaras, teléfonos móviles, agendas electrónicas o reproductores de música, sólo por poner algunos ejemplos. Es decir, en su versión actual proporcionan acceso a un mundo online de servicios sin conectividad a lo local. Alcanzar su completa capacidad depende de la creación de aplicaciones específicas para este entorno. Es decir, depende de que las aplicaciones más populares en el mundo online se puedan ejecutar en estos entornos. De no ser así, corren el peligro de convertirse en versiones más atractivas gráficamente, más poderosas pero con funcionalidad semejante a la de los escritorios online basados en widgets, cosa que, dicho sea de paso, no es despreciable en si misma. Por el momento su popularidad es baja y menor que la de los escritorios online basados en widgets (ver la Figura 2). Ello no es óbice para que durante los últimos meses se esté produciendo una avalancha de lanzamiento de nuevos servicios de este tipo que esta ocasionando de forma indirecta una creciente atención hacia los servicios más veteranos. Incluso se están iniciando pequeñas 'guerras' entre algunos de sus actores como la hecha pública a partir de la denuncia de los desarrolladores de EyeOS (que por cierto son españoles, europeos como la mayoría de estos servicios) contra MyBooo por haber copiado el código de la versión 0.9 de EyeOS que era distribuido bajo licencia GPL. Figura 2. Escritorios online autonombrados Web-OS Acceso a recursos básicos de computación La función clásica de un sistema operativo para escritorio de dar accesos a los recursos básicos del ordenador (discos, capacidad de procesamiento, ) tiene su extensión en el caso de la web en el acceso a servicios equivalentes en red que en la actualidad van mucho más allá de los primitivos servicios de hosting y housing de aplicaciones. En este sentido, las necesidades de usuarios y desarrolladores son muy diferentes lo que conduce a la existencia de productos especializados para cada grupo tanto en forma como en los modelos de negocio que explotan. Las necesidades básicas del desarrollador se cubren con la disponibilidad de almacenamiento en red y capacidad de computación. En este ámbito se incluirían servicios como Elastic Compute Cloud (EC2) de Amazon que revende la capacidad de su 'nube de ordenadores' y cobra una cantidad proporcional al tiempo de procesamiento utilizado y la cantidad de datos de entrada y salida al sistema. En el caso del almacenamiento en red, Amazon dispone de un servicio equivalente llamado Simple Storage Service (S3) que cobra por la cantidad de información almacenada y nuevamente a la cantidad de datos de entrada y salida al sistema. Un segundo grupo de servicios para desarrolladores estaría formado por facilidades de más alto nivel conceptual que los programadores necesitan para desarrollar sus servicios. Nuevamente cabe aquí mencionar a Amazon y su servicio Simple Queue Service (SQS) un servicio de colas de mensajes que los programadores pueden utilizar para gestionar la lógica de sus aplicaciones. Los servicios para desarrolladores son de pago, principalmente porque otros modelos de negocio como los basados en la publicidad tienen menos sentido aquí. Esto es debido a que los proveedores de los servicios no tienen acceso a un número elevado de destinatarios de los anuncios al no contar con acceso directo a los usuarios finales. Además, se trata de servicios en los que el modo de uso es un tanto tosco, ya que al no tener que estar diseñado para usuarios poco expertos, no es necesario prestar una excesiva atención a la usabilidad más allá de la razonable. En todos estos servicios, Amazon se aprovecha de la disponibilidad de una 'nube de ordenadores' (computer cloud) necesaria para llevar a cabo su negocio clásico de la venta online que aprovecha para diversificar su negocio. Y no es el único que participa en esta tendencia. Los grandes de Internet disponen como uno de sus activos principales de una infraestructura de computación de tamaño superlativo necesaria para desarrollar su actividad principal. Prácticamente todos ellos están buscando apalancarse en ella de una u otra manera incluso para abrir nuevas líneas de actividad como ha hecho Google con sus aplicaciones ofimáticas online. Para el usuario final las cosas han de ser forzosamente distintas. Por ejemplo, resulta extraño que un usuario particular tenga necesidad de procesamiento en red, sobre todo porque su modo de acceso es un ordenador personal que, a día de hoy, suele tener infrautilizada este componente hardware. Si que es remarcable, en cambio, el gran número de servicios de almacenamiento en red que han surgido recientemente y son posibles gracias al abaratamiento de los precios de los sistemas de almacenamiento como discos duros o memorias de estado sólido. Entre estos servicios de almacenamiento en red hay dos tendencias claras: los que se venden como un servicio de disco en red accesible desde cualquier lugar de Internet y los que se promocionan como servicios de backup. Los primeros son más antiguos y alguno de ellos como box.net están empezando a tener una popularidad razonable (ver la Figura 3) en el mercado estadounidense. Parte de esta popularidad se debe al esfuerzo de la compañía de conseguir que su producto sea integrable con las plataformas más populares de Internet incluyendo la red social Facebook, los escritorios online basados en widgets (antes comentados con nombres como Pageflakes o Netvibes) o aplicaciones ofimáticas en red como el popular Zoho. Los servicios de backup son más recientes y destacan nombres como Mozy o Carbonite, con ofertas muy ajustadas en precio y orientadas al usuario doméstico. A diferencia de los servicios para desarrolladores, estos servicios son ofrecidos todavía principalmente por pequeñas startups. Existen rumores frecuentes sobre la posibilidad de que gigantes de Internet como Google o Microsoft estarían desarrollando sus propias soluciones pero por el momento todavía no se han materializado en ofertas competitivas [1]. Se prima la facilidad de uso, no en vano proceden de la ola de inversiones llegadas con la Web 2.0, y son habituales las estructuras de precios clásicas de este entorno con productos básicos gratuitos de funcionalidades limitadas y productos premium de pago. Aplicaciones basadas en el web Otra visión del Web-OS abarca la tendencia actual de hacer accesibles a través de un navegador web aquellas aplicaciones que tradicionalmente estaban ligadas al escritorio. Inicialmente se incluían aplicaciones de uso cotidiano y poco exigentes en el uso de los recursos básicos del ordenador como procesadores de texto, hojas de cálculo o diseñadores de presentaciones, que podían ejecutarse con soltura en el navegador web. Recientemente han aparecido versiones online de tareas mucho más intensivas como el retoque fotográfico o la edición de videos. Bajo este concepto, las aplicaciones se ejecutan en los servidores del proveedor del servicio y son vistas desde el navegador web del usuario. En este sentido tendría más sentido utilizar la terminología atribuida a Microsoft de CloudOS en el sentido de que las aplicaciones se ejecutan en la nube de ordenadores del proveedor de servicio. También se las denomina 'rich Internet applications' (RIA) por comparación con las 'sencillas' paginas web tradicionales carentes de interacción con el usuario. Entre los grandes de Internet la iniciativa la lleva Google, aunque las suite más completas de aplicaciones están creadas por startups como Zoho en el área de la ofimática online o Zimbra en las herramientas de productividad. Al igual que con otros servicios antes mostrados su popularidad es reducida pero creciente como se aprecia en la Figura 4. Nota: Compete no diferencia en sus datos los accesos al servicio de Google por lo que no es posible comparar sus datos con los de las empresas presentadas. La funcionalidad de estas aplicaciones online es menor que la de sus correspondientes versiones para escritorio aunque progresivamente se van acortando las diferencias. A cambio, las herramientas permiten potenciar aspectos relacionados con el mundo online como la colaboración entre usuarios o la integración con otro tipo de servicios web. 'La interoperatibilidad online-offline' o 'la coordinación Web-OS-desktop-OS' La existencia de aplicaciones basadas en el web como las anteriores generan una necesidad hasta ahora no cubierta en los sistemas operativos: permitir que dichas aplicaciones sean utilizables cuando no se dispone de conexión a Internet. Obviamente, la ventaja que supone poder utilizar una aplicación en cualquier ordenador del mundo con conexión a Internet se limita cuando no existe, por algún motivo, dicha conectividad. Y aunque la cobertura de las redes inalámbricas de banda ancha es mayor todavía existen circunstancias donde no es posible la conexión bien sea porque el lugar no tiene cobertura por su propia naturaleza como en el caso de los aviones o bien porque los operadores de acceso utilicen una tecnología distinta de la de nuestro operador de telecomunicaciones habitual. Los primeros ejemplos de este tipo de funcionalidad salen a la luz en la primavera de 2007 cuando Google añade la posibilidad de que su producto Google Reader, un agregador de fuentes RSS, pueda ser utilizado de forma offline. El funcionamiento es el siguiente. Cuando un usuario sospecha que va a quedarse sin conexión a Internet habilita mediante un clic el uso offline. Esto ocasiona que los datos que maneja el programa, que habitualmente residen en los ordenadores de Google, se descarguen al ordenador del usuario. También se descarga el código necesario lo que permite su uso posterior incluso cuando se cierra el navegador web o se apaga el ordenador. Este servicio está basado en el producto Google Gears, que es software libre y está compartido bajo licencia BCD, motivo por el cual, servicios de otras empresas han decidido su uso. En el momento de escribir este texto, lo utiliza el servicio de gestión de tareas Remember the Milk, y Zoho ha añadido la facilidad de uso offline en modo de sólo lectura de sus productos ofimáticos. Es decir Google Gears se ha convertido en el estándar de facto a falta de alternativas. La solución canónica a este problema sería que fuera resuelto por el navegador web. En este sentido, es público que los desarrolladores de Firefox están trabajando desde hace varios meses en esta línea para que esté disponible en la próxima versión del navegador web, la 3. De hecho las versiones alfa de Firefox 3 incluyen un soporte primitivo y existen prototipos de prueba de aplicaciones sencillas. Pero con Gears 'en el mercado' las soluciones basadas en el navegador podrían verse perjudicadas. Sin estándares que unifiquen la forma de implementar la funcionalidad en los navegadores, un programador podría tener incentivo en desarrollar con Google Gears si este es multiplataforma y multinavegador para evitarse así generar una versión distinta para cada navegador web. Lo que podría haber sido una ventaja estratégica en la lucha de Firefox con Internet Explorer podría no ser tan determinante. Y para complicar aún más el terreno, estamos presenciando colateralmente al lanzamiento de, al menos, hasta tres grandes iniciativas de plataformas de desarrollo para que los programadores creen aplicaciones de escritorio que aprovechen al máximo la conectividad con Internet con una secuencia de anuncios por parte de Adobe (Apollo), Microsoft (Silverlight) y Sun (JavaFX). Su objetivo es abordar alguna de las limitaciones de las RIA como la imposibilidad de acceder a los recursos y datos locales, o mejorar la seguridad de las aplicaciones. Los interfaces de programación / Las librerías de programación Otra de las bondades de los sistemas operativos es que proporcionan a los desarrolladores interfaces de programación. Con ellos y con las librerías de programación, la tarea del programador se simplifica notablemente hasta el punto de que es casi más necesario conocer en profundidad estas librerías que dominar sofisticadas técnicas de algorítmica. En el mundo web el equivalente serían los API [2] que proporcionan multitud de servicios web para la creación de mashups; otra herencia de la web 2.0. Un mashup es una aplicación web que utiliza recursos de otras aplicaciones web para crear un servicio completo. El ejemplo clásico es el un servicio web que cuando tiene que utilizar mapas aprovecha el servicio de Google Maps y lo enriquece con información propia del servicio. No en vano la gran mayoría de mashups existentes en la actualidad (ver la Figura 5) tienen algún tipo de componente de información geográfica. Lejos de un verdadero Web-OS Que no existe un verdadero sistema operativo web en la actualidad es claro. Pero tampoco tiene porqué ser necesaria su existencia. Los servicios que proporciona un sistema operativo tradicional comienzan a estar disponibles, aunque sea de forma inconexa, tanto para usuarios como para desarrolladores. En este entorno la tarea del programador se parece un poco a la del buen recolector que elige cuidadosamente la fruta más madura para llenar su cesto. Lo cual no está exento por completo de riesgo pues deberá elegir con gran incertidumbre afrontando constantemente el riesgo de apostar por una solución perdedora. Es por eso que las grandes empresas, en igualdad del resto de condiciones, parten con una ventaja frente a las startups cuyo futuro es mucho más incierto. Una vez clarificado, con el tiempo, un escenario abierto como el que se asienta en las entrañas de Internet no tiene porqué ser malo. El sistema operativo web estará formado por un conjunto de funcionalidades, no necesariamente uniformizadas, procedentes de distintos proveedores habitualmente en competencia ofreciendo soluciones intercambiables. En el fondo, es como funcionan las redes de servicios profesionales. Con los años, las alegrías y los desengaños, los contratantes acaban formándose una cartera de profesionales para ser usados según el problema que se busque resolver. Existe una cierta deformación procedente de la preponderancia de soluciones monolíticas como son los sistemas operativos de Microsoft o Apple, cuando en otros entornos no siempre es así. Por ejemplo, en el mundo Linux existe competencia en el área de los entornos de escritorio (en inglés, Desktop Environment) donde rivalizan KDE y Gnome, tras los cuales quedan un largo número de alternativas más o menos conocidas. Pero mientras que en los sistemas operativos tradicionales este tipo de fenómenos es poco frecuente, en el caso del Web-OS este fenómeno sería lo habitual. La ¿web 4.0? Y como estamos en tiempos de asimilación de la web 2.0, y en plena faena de imaginar la web 3.0, hay quien incluso se atreve a pronosticar (ver figura adjunta), que la web 4.0 será este sistema operativo web, ese Web-OS. Desde luego, en lo que sí habremos de estar de acuerdo es que tendremos que esperar algunos años, llegue o no en el 2020. Salvador Pérez Crespo - Telefónica I+D para Telefónica España Otros artículos del autor: Las redes sociales online llegan, poco a poco, al móvil Cómo será la web 3.0 Widgets por todas partes Mobile 2.0, el segundo intento de llevar la web al móvil. La economía de la colaboración Artículos relacionados: Qué es Web 2.0. Patrones del diseño y modelos del negocio para la siguiente generación del software Tim O'Reilly.Presidente y CEO de O'Reilly Media, Inc Servicios basados en redes sociales, la web 2.0. Ruth Gamero. Telefónica I+D para Telefónica Móviles España Cómo será la web 3.0 Salvador Pérez Crespo. Telefónica I+D para Telefónica España. La Web Semántica, la siguiente generación de Webs José Manuel Cantera Fonseca, Juan José Hierro Sureda y Pedro Ángel Romo Zabala. Telefónica I+D Descargar archivo de audio (22:44 min / 5,20 Mb)