Blog de JoseMPelaez

Aprendimiento: aprender del entorno con atrevimiento

Archivos de la categoría ‘web’

Nudos entre comunicaciones

Publicado por josempelaez en Miércoles, 26 noviembre 2008

Las redes de ordenadores siguen incrementando su protagonismo en la sociedad y culturas actuales. A sus usos en proyectos científicos y aplicaciones técnicas con presencia en los medios de comunicación hay que añadir el empleo extensivo de internet para diseminar mensajes de forma distribuida. Las innovaciones en la conectividad entre unidades de procesamiento de información permitirán avances que pocos pueden intuir, pero algunos sí que los ven, y la «tercera cultura» ayudará en su difusión.

grid-light

Grid para una luz fluorescente (cc RobertFrancis, Flickr)

Hace tres semanas me hice eco de la noticia de que el regulador estadounidense había aprobado la asignación del «espacio blanco» del espectro radioeléctrico —las frecuencias que quedaban libres al cambiar a la TV digital—. Ello me parece relevante porque va a facilitar el despliegue del acceso a internet mediante otra “banda ancha sin cables”. Algunos le denominan una “Wi-Fi con esteroides” ya que tendrá una mayor capacidad que la actual, y que las redes celulares 3G que el empleo de los nuevos terminales tipo iPhone están saturando.

Bueno, en realidad, hablar sólo de acceso es poco veraz. Internet es una red y, como tal, está formada por enlaces o líneas, además de por los nudos o conexiones entre ellos que, en sentido estricto, serían tan sólo sus intersecciones o puntos de cruce. Por consiguiente, los canales de comunicación de este espacio “liberado” serán una parte importante de internet, que el DRAE define como: «Red informática mundial, descentralizada, formada por la conexión directa entre computadoras u ordenadores mediante un protocolo especial de comunicación.» 

Malla, parrilla, enrejado, celosía, trama, cuadrícula, tamiz… son vocablos relacionados con red que, en unos casos, enfatizan los hilos, líneas o canales de unión, mientras que en otros resaltan los huecos que se forman entre ellos. Ahora bien, curiosa y extrañamente, los nudos o nodos parecen carecer de interés en todas sus acepciones. Como pocos saben de su papel crucial en muchos tipos de estructuras para una distribución correcta de cargas, me resulta una paradoja su reducido protagonismo semántico ya que esos puntos fueron los protagonistas iniciales de internet, que nació para conectar ordenadores heterogéneos formando una red de topología distribuida. Por cierto, que los exploradores de la Sociedad de las Indias Electrónicas han explicado las diferencias entre descentralizado y distribuido a estos efectos, distingo que no han hecho los miembros de la Real Academia Española en su diccionario de la lengua.

cern_eege-grid

Algunos nodos del EGEE (datos del Imperial College London sobre Google Earth)

Cuando miro las imágenes que usé para ilustrar las dos anotaciones de hace veinte días en que me referí al proyecto del CERN «LHC Computing Grid», observo que todas ellas  ponen más de relieve los nodos que las líneas de conexión. Si miro al otro proyecto grid computing del CERN, el de infraestructura «Enabling Grids for E-sciencE», concluyo que, durante su difusión, el énfasis se puso en que su software permitió conectar más de 2.000 computadoras en abril de 2006 (con motivo de la crisis mundial de la gripe aviar). Recuerdo que esta red permitió, en sólo 1 mes de colaboración, hacer un trabajo de computación que hubiera demandado 1.200 meses de proceso en 1 ordenador (no decían de qué tamaño, así que debían de referirse al promedio). 

La página informativa del centro público que inventó la web explica que la Grid se basa en la misma idea: compartir recursos entre ordenadores distribuidos geográficamente. Aclara que, mientras la web simplemente compartía información entre ellos, la nueva red, que algunos asocian con la “internet del futuro”, también comparte capacidad de proceso y de almacenamiento. En septiembre de 2006, la EGEE Grid financiada por la Unión Europea estaba formada por más de 200 centros y conectaba más de 20.000 computadoras repartidas por el globo.

Por consiguiente, a diferencia de las parrillas de acero corrugado que arman el hormigón, o de las redes que se emplean para pescar, internet dota de un gran protagonismo a sus nodos. No debemos olvidar que un buen número de ellos se dedican exclusivamente a regular el tráfico y la confidencialidad de los paquetes de datos que transitan por sus líneas cableadas e inalámbricas: encaminadores, pasarelas, conmutadores, cortafuegos, cifradores, traductores, repetidores, moduladores, emisoras, captadores, centralitas digitales…

grid-poles_cloud

Líneas y postes de electricidad (cc einarfour, Flickr)

Bien, vale, quizá resulte que los cables de cobre, los de fibra óptica, los pulsos lumínicos, las ondas electromagnéticas, los transductores y acopladores, las claves de señales, los protocolos de transmisión, los algoritmos de cifrado… son menos importantes que los nudos de cómputo que también conforman la trama de internet. Será que éstos deben de ser los elementos clave de las redes aplicadas a las TIC. Será que los vocablos de nuestro pasado sociotécnico —que se refieren a las conexiones y espacios vacíos entre líneas más que a los nodos materiales donde se cruzan— deberán de adaptar su significado para poder reflejar lo importante en las nuevas TIC. ¿Y a mí qué?, podría preguntarme.

Pues resulta que considero importante no perder de vista que no hay redes de ordenadores sin conexiones y comunicaciones. Las unidades de almacenamiento y procesamiento de datos servirán de poco si formamos islas de información accesibles sólo desde “ventanillas” dentro del perímetro delimitado por una especie de foso de aislamiento infestado de cocodrilos, o por una profunda zanja cortafuegos o contra asaltadores del tesoro de la información. Sería como si los aeropuertos fueran hubs & spokes completamente aislados, sin aeronaves que los conectaran, o como si las estaciones o terminales de tren no tuvieran redes ferroviarias que las enlazaran. 

La lógica del tamaño del hueco de una red que permite no atrapar al “pezqueñín” es una cuestión básica para el sostenimiento de la vida marina. El lenguaje humano —nuestros protocolos de comunicación—, también es clave para nuestro desarrollo, como enseñan la experiencia y la biolingüística.

internet-mapping_mit

Representación de la periferia del 'universo on-line' (Lanet-vi program of I. Alvarez-Hamelin et al. - MIT Technology Review)

Sin comunicación no habría grupos de personas, ni tribus, ni aglomeraciones urbanas, ni sociedades, ni culturas, ni Civilización Humana (en singular). La nanotecnología, la física cuántica, la genética molecular, la neurociencia… van descubriendo nuevas estructuras dentro de órganos que antes se estudiaban en niveles superiores. Siguiendo “hacia arriba”, ¿qué nos depararán las nuevas redes de ordenadores como el Grid del CERN, o la extensión de una computación en la nube que hoy lastran algunos armados de mitos interesados que montan alrededor de la seguridad, disponibilidad, integración, dependencia…?

Para terminar quiero anotar el desencadenante inmediato para escribir esta entrada en el cuaderno, y así poder recordarlo. Tenía rondando por mi cabeza varias ideas sobre “espacios vacíos”, grids, datos en la nube, islas de información, protecciones culturales y lenguajes de comunicación cuando leí un artículo sobre Ray Ozzie en Wired. Se extiende sobre su actual papel en Microsoft como Chief Software Architect, para lo que se remonta a los orígenes de su posición a favor de la computación en la nube y, por consiguiente, fuera del firewall. Al final del mismo se dice:

«To Ozzie, software’s soul does not lie in the accumulation of features. Instead, it lies in his dream of connectivity. “Live Mesh is very Ray,” Mitch Kapor [Lotus founder] says. “It’s the son of Groove, which is the son of Notes.” Which was, of course, the son of Ozzie’s beloved Plato [an early interactive system to connect people]. Thirty-three years later, Ozzie is still trying to build on what he saw in sophomore year. But it’s no longer the Ray Ozzie vision. It’s Microsoft’s.» [negrita del editor]

Interesante, ¿no?

Entradas relacionadas: Conmutación a la nube, El «espacio blanco» de la televisión, Sistemas operativos en la web

Suscribirse en un lector a este cuaderno. El servicio co.mments permite seguir los eventuales comentarios por correo electrónico.

Publicado en computación, web | Etiquetado: , , , , , , , | Leave a Comment »

Sistemas operativos en la web

Publicado por josempelaez en Domingo, 21 septiembre 2008

Los ingenieros de Google han querido brindar una herramienta de navegación para la web de hoy y de mañana. Las aplicaciones que cada vez ocupan más tiempo de navegación necesitan apoyarse en un "navegador" más rápido, robusto y seguro. ¿Estaremos asistiendo al nacimiento de un nuevo "sistema operativo" de la web?

google_engineers

Algunos de los ingenieros de Google que hablan en el vídeo

«¿Por qué Google está construyendo un navegador?» es la traducción literal del título de un vídeo de Google sobre las ideas y características que hay detrás del navegador Google Chrome en palabras de varios miembros de su equipo de desarrollo. Me puso sobre su pista una entrada de Jose Miguel Cansado que terminaba diciendo: «it is pushing developers to bet on JavaScript rather than on Silverlight or AIR proprietary technologies for the web interactive applications.»

Los seis segmentos que componen los 4′ 50″ del vídeo tienen estos encabezados: Why is Google building a browser? Speed (V8 and Webkit). Stability. Security. The invisible browser. The code is yours. Del primero y dos últimos he sacado unas cuantas frases que he transcrito como he podido. Aunque haya algún error, el discurso de los ingenieros que lo han construido es claro:

«Browsers syndicate bad because they were designed for an earlier work; web pages are doing completely different things». «Today, most of what we use on a day to day basis are applications, and not web pages». «People are watching videos, they’re uploading videos, they’re chatting with each other, they’re playing games on the web… all these things certainly never existed back when the first browsers were created, when the first web was created». «We have been great to start from scratch and design from it… based on the needs of today’s applications and today’s webmasters». […]

«In an engineering browser sense, chrome is the… user interface itself; it’s the stuff running outside of the window, the buttons, the toolbars, all that kind of stuff; and so, hand in hand with that was this design philosophy that we took which was…, we wanted to maximize content and minimize chrome». «In designing any chrome we thought, we have to make it invisible; people shouldn’t have to think about Google’s chrome, people should have to think about their applications». […]

«We really want… the work that we do is sort of raise the bar for browsers, we want to push browsers further, we wanna make their capabilities better, we wanna be able to allow for better web applications to be delivered». «Even if Google Chrome itself isn’t used by anyone on the web…, as long as it makes the web better, we’ve achieved that goal».

google_chrome_engineer

Lars Bak, líder técnico del equipo de desarrollo de V8

Uno de los ingenieros comentaba que JavaScript es un lenguaje muy usado en todas las partes de la web. Como se ejecutaba lentamente, decidieron mejorar radicalmente este punto. Me he entretenido también con otro vídeo del líder técnico del equipo que ha desarrollado el nuevo motor (V8) para este lenguaje.

Lars Bak justifica su elección por ser multiplataforma al haberse utilizado casi desde el comienzo de la web para “personalizar” el comportamiento de los navegadores. También explica que han hecho tres cosas para incrementar su rendimiento: clases ocultas, código máquina generado y gestión eficiente de memoria.

Creo que estamos asistiendo a un rejuvenecimiento de los estándares canónicos de la web. En lugar de incrementar la diversidad creciente de plataformas, vemos que hay quienes tratan de ampliar el rendimiento y alcance de las herramientas existentes para adaptarse a los nuevos escenarios. Además, facilitan un código interesante a los desarrolladores que construyen aplicaciones diseñadas para una web más dinámica, visual y personalizable. Cumpliendo con el estándar, se podrá utilizar en plataformas diferentes sin tener que recurrir a herramientas de pago o a descargas auxiliares. El movimiento hacia la web de la plataforma de TV Joost podría ser otra confirmación de que no se necesita instalar una aplicación de escritorio para una buena experiencia de uso.

Me ha resultado llamativo que Sergio Montoro, más amigo del código abierto que de los enfoques académicos, se haya molestado porque piense que muchos nos confundimos con las categorías de producto. Digo molestado porque es lo que he deducido del contenido y estilo de lo que ha escrito:

«Me resulta sorprendente hasta que punto el buzz está confundiendo las categorías de productos. Chrome es un navegador, sólo eso: un puñetero y jodido navegador. Nacido de un comando rebelde de Mozilla que abogaba por Webkit en lugar de Gecko y se fue a Google a poner en práctica sus ideas. Chrome no es un paso en la dirección de fabricar un sistema operativo. Fabricar un sistema operativo es un algo extremadamente más complicado que fabricar un navegador. […]

Una máquina virtual que corre encima de un sistema operativo, no es un sistema operativo. Y aquí se confunden los terminos, hablando de JavaScript como “el lenguaje del futuro” y cosas así. ¿JavaScript? Pooor faavor… Un poquito de seriedad.»

splashtop_screenshot

Pantalla de «sistema operativo instantáneo» basada en Firefox 2 (Splashtop)

He leído bastantes cosas sobre Chrome. En muchos casos lo he visto relacionado con los sistemas operativos (SO), como en este artículo de Roger Smith, o en este otro del citado Jose Miguel Cansado. En ninguno lo he visto como un paso hacia un “verdadero” SO de Google. No implica que no esté escrito en algún lado, sino que yo debo de leer otros tipos de análisis. Donde he visto analogías con los SO, se hacían en el marco del uso de la plataforma web, que no deja de ser una clase de computadorathe network is the computer», «cloud computing»).

Entiendo que algunos se molesten en establecer clasificaciones y en categorizar las cosas, y que se reboten si otros no las usan como esperan. No entiendo ni comparto que Chrome se considere en este momento un navegador “como los demás”, aunque confío en que lo sea dentro de poco porque haya quienes sigan su camino, como esperan sus ingenieros.

Supongo que otra cosa que también habrá molestado a Sergio es que se sigan bifurcando los esfuerzos de los desarrolladores de código abierto, lo que tan poco ha favorecido la adopción de Linux, por ejemplo. ¿Debería de haber seguido Google a Mozilla en el empleo del viejo Gecko y del nuevo TraceMonkey como motor gráfico e intérprete de lenguaje? ¿Tendrán que ser los programadores de la Fundación los que adopten la tecnología de la entidad que tiene más medios para consolidarla en el mercado frente a la competencia no estándar o no abierta?

Estamos ante una nueva máquina virtual —el propio navegador, que tiene una gestión independiente de procesos, memoria, intérprete…— que corre sobre otra máquina virtual, que otra cosa no es el SO de turno que se ejecuta sobre la máquina o cacharro “real”. Me voy a saltar en esta ocasión el referirme a los “hipervisores” y SO “instantáneos“.

Pensando en Windows y MAC OS X, dadas las relaciones entre los fabricantes de software y hardware que los suministran preinstalado, no quedaría demasiado mal decir que estos SO son casi tan “firmware” como el software de las BIOS. En un entorno moderno no me parece descabellado considerar que el verdadero sistema con el que opera el usuario es el navegador, que ahora es más que una interfaz al poder servir y gestionar los recursos de las máquinas que tiene por debajo (terminal) y por arriba (nube).

Entradas relacionadas: Clientelismo para navegar, Interfaces en aplicaciones webNavegar por las aplicacionesJuegos de vendedores.

Publicado en computación, web | Etiquetado: , , , , , , , | 3 Comments »

Clientelismo para navegar

Publicado por josempelaez en Martes, 16 septiembre 2008

Pienso que el nuevo Google Chrome va a poner de manifiesto aún más los distintos intereses en juego a la hora de aprovechar mejor los contenidos la web, lo que también determinará el desarrollo futuro de la propia web. Microsoft, Apple, Adobe, Mozilla, Opera, Google… sacan partido de la web pero, ¿quiénes la cuidan y piensan más en su futuro? En la web hay mucho más que "contenidos".

yahoo_mail_vache

La vaca mascota de Yahoo Mail (Teorem; Flickr)

En las tres entradas anteriores he tocado varios temas en relación con la aparición de la versión beta del primer producto de navegador web fruto del proyecto abierto Chromiun de Google. La cuestión que quiero destacar más en esta ocasión es que los navegadores sirven para más cosas que ver páginas web, cumplimentar formularios de entrada de datos o disfrutar de ricos contenidos sonoros o visuales (con la ayuda de ciertos plug-ins embebibles, o de máquinas virtuales que corran por debajo).

Aplicaciones del navegador

La mejora de la experiencia de los usuarios (diálogo y contenidos más visuales, reducción de latencia aparente, autonomía frente a desconexiones), junto al interés por captar clientes para los mercados de ciertas herramientas, han conducido a la diversidad RIA enumerada parcialmente en la anotación previa. Hay aplicaciones web que no emplean sólo un navegador con plug-ins y necesitan la descarga de otros componentes que corren por debajo (runtimes). En este terreno hay varias aproximaciones: la de los más ligeros (Adobe, Google) y los menos (Sun, Microsoft); la multi (Sun, Adobe, Google) y la monoplataforma (Microsoft); la de los estándares de derecho (Google) y los de hecho (Sun, Adobe, Microsoft); la del código abierto (Sun, Google) y el propietario (Adobe, Microsoft).

El objetivo oficial de todos es el de dotar al terminal de las mejores características de un cliente stateful (no tan dependiente de la red) con interfaz visual del tipo de la que tienen algunas aplicaciones de escritorio “vistosas” para mejorar la «experiencia de usuario». En la práctica parece que algunos están buscando vender más tecnología a los desarrolladores que preocupándose por los usuarios. Debemos considerar que los analistas, diseñadores y programadores de las aplicaciones trabajan de una manera muy distinta de la de los que emplean los desarrollos que construyen.

Por otra parte, a pesar de los que defienden la necesidad de replicar la experiencia de uso en el PC, y por el motivo que sea, hay empresas que han abandonado los planteamientos híbridos en el escritorio para enfocarse sólo en la web, como el caso de la “televisión” de Joost. Ryan Stewart ha lamentado esta decisión y, sin explicar cómo cree que se pueden combinar bien las experiencias de escritorio y móvil, dice que:

«In the end I think a hybrid approach is the way of the world going forward. Despite the buzz from Chrome, the desktop still has a lot of benefits as an application platform. But the web browser has to be central to every strategy. The companies that can easily blend those to worlds – and then incorporate the mobile world as well – will have a leg up on everyone else.»

Estrategias clientelistas

google_chrome_task-mgr

Gestor de tareas de Google Chrome

Como he escrito en notas previas, con Chrome no creo que estemos tratando sobre si hay que mejorar la visualización de páginas o la interacción gráfica con los contenidos web. Más bien se trata de plantar un elemento crítico para la ejecución de aplicaciones “en la nube” que se apoye fundamentalmente en el navegador del terminal respetando los estándares. La incorporación de gestión de memoria e independencia de procesos mejorará la robustez y seguridad, aunque haya ciertos riesgos si se emplea Gears al tener que grabar en el terminal. Las sesiones diferentes corriendo en pestañas distintas del navegador también van a permitir que los usuarios puedan emplear roles diferentes para acceder a la misma aplicación desde la herramienta, lo que facilitará algo el trabajo de desarrolladores y probadores.

Opino que también está en juego algo importante para el futuro de las aplicaciones en la web (SaaS): el desenlace de la guerra comercial sobre «The Next-Gen Web». En este terreno, las aportaciones de Chrome son significativas y alejadas del planteamiento de Microsoft con IExplorer. Tim Anderson escribía en The Register que:

«Chrome lets you create desktop shortcuts to web pages. In addition, when you open a web page from one of these shortcuts, it opens without any browser furniture. This really is a significant feature, because a well-designed and responsive web application will be indistinguishable from any other desktop application. The name Chrome is in part a reference to it – in software development, the term describes the surrounding user interface of an application. At the press conference announcing Chrome, Google’s vice president of product management Sundar Pichai said: “We used to call it content, not Chrome – that’s what we should focus on.” The name Chrome is an ironic one, that means as little chrome as possible.»

Naturalmente, también hay otros articulistas que defienden puntos de vista menos positivos acerca del nuevo navegador. El columnista y crítico de la Wikipedia Andrew Orlowski, que también hace referencia a su vecino y mi “buscador de fallos” Ted Dziuba, manifiesta en The Register que:

«There have been plenty of hiccups in the “cloud”, recently. […] That’s where the “runtime” comes in. Today, Chrome is simply a technology demonstration – and I can’t see Firefox users with their carefully-cultivated selection of add-ons, or Opera users, making the jump any time soon. But Chrome is a Trojan Horse for bundling Google’s Gears onto your PC – and in the hope that manufacturers look to Google services for new Eee-type lightweight PCs, perhaps running something like gOS, the Ubuntu-derivative. Gears is simply designed to make Google’s online services more attractive, and makes it looks like Google’s is setting the standard: leading where everyone else follows. (That isn’t entirely unfair.) And as a technology demonstration, Chrome succeeds.»

network_effects

El secreto real de la salsa de la web 2.0: los «efectos de red» (Dion Hinchcliffe) ¿Y en la web 3.0?

Andrew termina su exposición cuestionando que haya una estrategia planeada tras la salida de Chrome. También opina que Google va a tener más difícil el provocar el «cambio de paradigma» —frente al enfoque de computación en el escritorio—, de lo que lo tuvo Microsoft frente al de IBM en los 80. Considero que hay demasiados que no valoran algo muy básico en internet, cual es el «efecto de red» que puede lograrse con las aplicaciones en “la nube”. Recordemos que en las redes aparece lo que en economía llamamos externalidad: «perjuicio o beneficio experimentado por un individuo o una empresa a causa de acciones ejecutadas por otras personas o entidades», pero éste es un tema que merece claramente un tratamiento aparte y más extenso.

Futuro de la navegación web

En el panorama actual veo diferentes propósitos entre las entidades que ofrecen los navegadores y entornos para su enriquecimiento que más se emplean en la web: Microsoft, Adobe, Mozilla, Apple, Opera… y Google. Unos promueven plataformas software o hardware particulares para vender más; otros buscan que internet siga siendo abierta y descentralizada, o que gane terreno frente a otros medios de comunicación; los hay que se especializan en navegar desde dispositivos móviles, o en ejecutar aplicaciones de forma robusta y segura, etcétera. Considero que el futuro de todos ellos está más vinculado a los usos que hagamos de la web, tanto los particulares como las empresas, que a los fines, tecnologías y mercadotecnia de las empresas promotoras.

El correo electrónico, la banca en línea, la vídeo conferencia, el comercio electrónico… son aplicaciones informáticas y de telecomunicaciones que existían fuera de la web desde hace tiempo, pero que ahora asociamos cada vez más con ésta. En otra entrada trataré de ir más allá de especular sobre las eventuales metas y estrategias de cada proponente de navegadores para reflexionar desde la perspectiva de uso de una “web estándar”, y de sus implicaciones: interacción, externalidad, ubicuidad, sincronismo, semántica…

Entradas relacionadas: Interfaces en aplicaciones web, Terminales ubicuos para navegar, Navegar por las aplicaciones, Buscador de fallos, Computadoras sin margen, Juegos de vendedores

Publicado en software, web | Etiquetado: , , , , , , , , | 6 Comments »

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.