Download ¿Se podrá crear e implantar un sistema operativo web?

Document related concepts

Computación en la nube wikipedia , lookup

EyeOS wikipedia , lookup

Rich Internet application wikipedia , lookup

Google Cloud wikipedia , lookup

Univention Corporate Server wikipedia , lookup

Transcript
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)