martes, 30 de octubre de 2007

Mashups: tomar prestado, crear algo nuevo

La palabra "mashup" proviene del acto de crear remix musicales. La WEB 2.0 colonizó el término, convirtiéndolo en un método para crear sitios a partir de aplicaciones ajenas, combinándolas para generar un producto totalmente nuevo... este uso de distintas fuentes de forma unificada es lo que se conoce como aplicación web híbrida o mashup.

Continúa...


En la cultura popular, la noción “mashup” quiere decir muchas cosas, que van desde los remix musicales hasta los posillos para el té, en partes del Reino Unido. Pero más recientemente, la web se ha apropiado del concepto.

Para el programador y gerente de Productos Confianze, Carlos Gaona, la Internet es “como el Aleph de Borges, al parecer ahí está todo lo que fue, es y será”.

En ese sentido, señala que “lo difícil no es buscar, sino encontrar. Los buscadores nos asisten en la tarea de encontrar datos, pero los mashups permiten transformar datos en información”. Ahí está la gracia. Y el programador agrega: “estos cruces, son finalmente una herramienta poderosa para la creación de nueva información, o ‘información emergente’”

Un mashup es un sitio o aplicación web que combina datos de múltiples fuentes, que antes no estaban relacionadas. Los mashups utilizan interfaces de comunicación abiertas, proveídas por terceros y actualizadas en tiempo real.

En esencia, la idea es tomar prestados trozos de otros y cruzarlos con el fin de producir un servicio novedoso y unificado. Los mashups rinden honor a la vieja frase: “el todo es más que la suma de las partes”.

Usualmente, los mashups se nutren de APIs (como Flickr, Twitter, YouTube, Amazon Web Services, etc), y los métodos utilizados incluyen sindicadores web (RSS o Atom), Screen scraping, y otros.

La fórmula más común es mezclar información geográfica (frecuentemente Google Maps) y diversos datos sobre esos lugares. Acá un ejemplo.

El uso en Chile es más bien escaso, sin embargo en otras latitudes es explosivo. “En Estados Unidos los mashups son relativamente populares, y las empresas de tecnología apuestan por su crecimiento”, señala Gaona.

Según el joven fundador de Confianze, los mashups han cruzado 2 etapas. La primera comenzó hace unos años, y consiste en la liberación o publicación de estándares abiertos para distintas plataformas.

“Esto es un requisito clave para la construcción de mashups: quienes tienen fuentes de datos deben entregar "interfaces" para que otros desarrolladores puedan conectarse con tales fuentes de datos. Google lideró esta área y tuvo un impacto. Existe un gran número de mashups de geolocación, que utilizan Google Maps, por ejemplo”, explica.

La segunda etapa de las aplicaciones híbridas, tiene que ver con facilitar la creación de mashups a los usuarios finales, y que el propio lector de este texto diseñe el suyo propio. Otra cara de la Wev 2.0...

¿Quiere aprender a hacer mashups? No es tan difícil: aquí un amigo español explica cómo cruzó la información del Ministerio del Medio Ambiente de su país con la API de Google Maps, y obtuvo esto. Si quiere aprender, acá hay un curso (si sabe inglés)....

Además, si quiere hacer un mashup, por suerte para usted, varias empresas se han dado el trabajo de hacerle el camino más fácil. Google es líder en la materia, y junto otros, “como Yahoo!, que lanzó Pipes, permiten crear mashups utilizando una interfaz gráfica, sin necesidad de programar”, explica Gaona.

Algunos editores:
“Probablemente en el futuro veamos la maduración de estos servicios, y la incorporación de su tecnología en servicios existentes. Por ejemplo, los mismos medios de prensa tienen una gran oportunidad, con herramientas que permitan a sus lectores crear el medio que quieran leer, mezclando aplicaciones, sitios, feeds y blogs en una experiencia informativa única”, concluye Carlos Gaona.

Finalmente, antes de hacerse un mashup, píenselo dos veces, no se vaya a estar convirtiendo en un “nerd”.

Algunos ejemplos y links relacionados:

Mobilidad

Sí, con “b”, aludiendo a la palabra en inglés “mobility” que significa movilidad, es decir, la capacidad de movimiento.
Este concepto, si bien abarca todo lo que son los aparatos y su capacidad de moverlos, ligado a la portabilidad y al wireless (conexión sin cables), es principalmente la definición de una clase de aplicaciones que nos permiten interactuar cuando como usuarios estamos en permanente movimiento (lugar y tiempo).
Podemos distinguir dos dimensiones de la mobilidad:

APARATOS

Claramente las novedades en hardware apuntan a la mobilidad. Desde los evidentes notebooks, pasando por las palms, los pendrives, la tecnología bluetooth, el wi-fi hasta llegar a los I-Phones o Zunes.
El escritor especialista en Web 2.0, Ajit Jaokar, determina las características que hacen a un dispositivo “móbil”

  • Es transportado por el usuario
  • Tiene la batería incorporada
  • Pequeño por definición
  • Probablemente funcional pero con un enfoque principal
  • Con mecanismos anexos limitados (Ej. teclado pequeño)
  • Personal y personalizado pero no factible de ser accesorio de vestir.


SERVICIOS DE INTERNET

Si respecta a la red apreciamos una vasta lista de aspectos “móbiles”. Lo primero y fundamental es la capacidad de acceso a una conexión a Internet, contando con esto podemos usar servicios que por excelencia se mueven junto a nosotros, acá se anotan la mensajería instantánea (Ej. MSN), Skype o el claro ejemplo del microbloging de Twitter, tanto en su actualización desde la web como desde el celular. Se trata principalmente de sistemas que no requieren acceso mediante el browser.

Un servicio “móbil” de la Web 2.0 lo podemos distinguir por lo siguiente:

  • Es un servicio, no un software convencional (packaged software)
  • Funciona a diversas escalas
  • Es masivo
  • El servicio maneja una permanente base de datos
  • La base de datos se enriquece mientras más gente usa el servicio
  • Los usuarios se consideran “co-desarrolladores” dada su significativa contribución
  • El servicio se define como “inteligencia colectiva” y es por definición “sobre el nivel de un dispositivo singular”
  • Las conductas “por defecto” de los usuarios son capturadas y registradas
  • La información es “con algunos derechos reservados”, los usuarios comparten.


En este escenario podemos advertir un creciente uso de la tecnología “móbil” en nuestro día a día, pero el paso completo lo daremos cuando estas dos dimensiones de la mobilidad funcionen en completa sintonía y así entrar a una suerte de “era móbil”. Y es que no todos los aparatos móviles que usamos tienen necesariamente una conexión con la Web 2.0, como nuestros celulares, agendas electrónicas, reproductores de música o relojes. El desafío 2.0 entonces consiste en incorporar a estos dispositivos los servicios web, los celulares parecen ser los más adelantados en este sentido: está el ya mencionado Twitter y los avances que las compañías telefónicas ya han anunciado hace un tiempo para sus aparatos, como MSN, la capacidad de leer el correo electrónico o los juegos en línea. También está el caso del I-Pod Touch que viene equipado con wi-fi y Safari.

Pero si de mobilidad se trata es el I-Phone el aparato más destacado, éste aparte de cumplir con su función de teléfono, viene con un sistema Mac OSX actualizable que viene con Safari, también brinda la posibilidad de usar mensajería instantánea, tiene tecnología wi-fi, EDGE y bluetooth 2.0 además de permitir la reproducción de audio y video.

Cuando llegue por completo la “era móbil”, la Web 2.0 será parte del día a día de todos.

lunes, 29 de octubre de 2007

WIKIS: INTERACTIVIDAD, INSTANTANEIDAD Y ACCESIBILIDAD

¿Has visitado alguna vez la enciclopedia digital Wikipedia? Es muy probable que tu respuesta sea afirmativa, y es que esta página en más de alguna ocasión ha servido como fuente de información en la búsqueda de variados temas. Desde datos históricos, hasta información biográfica de series de televisión se pueden encontrar en esta “súper enciclopedia” que utiliza un particular sistema de recolección de datos: la colaboración. Wikipedia no es una página común cuyo contenido muestra el trabajo de un equipo de personas, sino que es una plataforma interactiva, en la que cada uno de nosotros puede colaborar en la construcción de esa inmensa base de datos. Estamos hablando de uno de los sitios más populares en el mundo que utilizan la tecnología colaborativa WIKI.

Al igual que nuestra fabulosa Wikipedia existen muchos otros sitios que se construyen como wiki, esto significa que permite que se escriban artículos colectivamente (co-autoría) por medio de un lenguaje de wikitexto editado mediante un navegador. Una página wiki singular es llamada "página wiki", mientras que el conjunto de páginas (normalmente interconectadas mediante hipervínculos) es "el wiki".
Los wikis tienen la ventaja de ser algo mucho más sencillo y fácil de usar que una base de datos, además que se caracterizan por la facilidad con que las páginas pueden ser creadas y actualizadas. En general no hace falta revisión para que los cambios sean aceptados. Esto significa que, la mayoría de los wikis están abiertos al público sin la necesidad de registrar una cuenta de usuario. A veces se requiere hacer login para obtener una cookie de "wiki-firma", para autofirmar las ediciones propias. Otros wikis más privados requieren autenticación de usuario.
Los wikis suelen ser diseñados con la filosofía de que sea fácil corregir los errores, en vez de que sea difícil cometerlos. Los wikis son muy abiertos, aún así proporcionan maneras de verificar la validez de los últimos cambios al contenido de las páginas. En casi todos los wikis hay una página específica, "Cambios Recientes", que enumera las ediciones más recientes de artículos, o una lista con los cambios hechos durante un periodo de tiempo. Algunos wikis pueden filtrar la lista para deshacer cambios hechos.

Esta tecnología es una práctica innovadora que ha expandido su uso, por ejemplo, a las empresas, las que utilizan este medio para que el conocimiento adquirido por los trabajadores pueda ser compartido y complementado por todos, se utiliza como una herramienta que favorece la innovación.
Para los que estudian los wikis personales son una excelente herramienta para realizar trabajos colectivos desde la distancia: Al mismo tiempo que haces tu aporte escribiendo en tu página wiki, tu compañero de trabajo lo ve y asiste, edita o complementa con su contenido. Como vemos, la tecnología wiki nos permite una enorme accesibilidad para potenciar conocimiento y compartirlo, corregir errores de otros colaboradores y así, construir plataformas de acceso ilimitado y colectivo. Si no tienes tu wiki, no pierdas tiempo y accede a esta manera colaborativa de construir información.

PageRank: La búsqueda del más popular

Posicionar una página electrónica es uno de los pasos más importantes a la hora de generar redes en la web, pues para ser visto hay que generar contactos y viceversa. En el medio virtual, congestionado por diferentes espacios comunicacionales, tópicos e intereses, apareció un sistema encargado de ordenar el gallinero web y con ello determinar cuales son las páginas más visitadas por los internautas. Con ustedes, de los creadores de Google: PageRank.

Paulina Roblero T.

PageRank, cuyo nombre original es “Method for node ranking in a linked database” nació inspirado por el modelo Science Citation Index (SCI). Éste fue creado por Eugene Garfield para el Instituto de información científica (ISI) en los Estados Unidos durante la década del 50. Lo que el SCI hacía era establecer una asignación objetiva de méritos suponiendo que los investigadores, cuyo número de publicaciones y/o referencias bibliográficas en otros trabajos científicos es más alto, ayudaban al desarrollo de su área de investigación. Los investigadores que eran más citados recibían becas y dinero para continuar con la exploración científica.

Por ello, de alguna forma similar, el sistema PageRank ayuda a determinar que importancia, popularidad o jerarquía tiene una página web. La idea nació en la Universidad de Standford y fue creada por los fundadores de Google: Sergey Brin y Larry Page, en 1998, y hasta el día de hoy es utilizado por este buscador.

Lo que hace PageRank es confiarse de la democracia que existe dentro de la web. A través de la extensa estructura de enlaces (o links) que maneja, establece el valor – de forma numérica – que una página puede tener. Los enlaces que hay de una página a otra permiten que Google los interprete como votos. Es decir, si la página 1 tiene un enlace a la página 2, se cuenta como si la página 1 votara por la página 2 ¿Se entiende?

Eso si, no todos los links son reconocidos o tomados en cuenta por Google, ya que filtra y descarta los enlaces de páginas dedicadas exclusivamente a colocar enlaces. Estas son conocidas como “granjas de links” (link farms).

Para la clasificación Google comprende que una página no puede controlar los links que apuntan hacia ella, pero que sí puede determinar los enlaces que coloca hacia otras páginas. Así que tener links que vengan de las “granjas” no es problema, pero si lo será si el usuario coloca links de páginas penalizadas.

Por eso la importancia de tener un PageRank alto es la posición que va a tener la página dentro de los resultados de la búsqueda. La barra de Google va de 0 a 10. Siendo 10 el máximo PageRank posible, aunque son muy pocos los sitios que tienen esta calificación. Tener calificación cero significa que el sitio ha sido castigado o aún no ha recibido una calificación de PageRank.

De todas formas Google ve más allá de la cantidad de votos “emitidos” o el número de enlaces que una página puede recibir. Lo que también analiza es la página que emitió el voto. O sea, si una página de las “grandes” emitió un voto, como por ejemplo: Emol, este valdrá muchísimo más que un voto hecho por una página “cualquiera” además es tan grande el poder que tienen las páginas mediáticamente posicionadas que con sus enlaces ayudan a las páginas menos populares. Como en todas las votaciones el ganador es el que logra conseguir más adeptos. Pero es un mejor ganador aquel que consigue los votos de las páginas mejor posicionadas, pues (como ya lo mencionamos) estos tienen un mayor peso. O sea, si la página 1 que tiene un enlace a la página 2, pero la página 1 tiene un PageRank bajo no ayudará de mucho. La idea es ser popular con los peces gordos de la web. Es como: “dime con quién andas y te diré quien eres”, pero virtual.

Estas son algunas de las páginas que tienen PageRank 10:
  • Yahoo!
  • Microsoft
  • Apple
  • Adobe
  • Google
  • NASA
  • Macromedia
Si quieres saber el ranking de una página en particular visita el Directorio PageRank: http://www.directoriopr.es/

domingo, 28 de octubre de 2007

PORTABILIDAD

La portabilidad es un concepto tan libre para definir como para el que la usa. Según Wikipedia es una característica de ciertos programas que les permite ser utilizados en distintos ordenadores sin que precisen modificaciones de importancia. Aunque también la portabilidad se define en instrumentos portátiles que nos permiten dicho traslado de información, tales como los pendrive, microprocesadores o memorias SD.

En el software, la portabilidad se define como su dependencia de la plataforma en la que corre. La portabilidad es mayor cuanto menor es su dependencia del software de plataforma.

Si un software puede ser compilado en plataformas diversas (x86, IA64, amd64, etc), dicho software se dice que es multiplataforma.

En algunos casos el software es "independiente" de la plataforma y puede ejecutarse en plataformas diversas sin necesidad de ser compilado específicamente para cada una de ellas, a este tipo de software se le llama interpretado, por que necesita de un interprete para ser ejecutado en las diferentes plataformas.

Mucho se ha hablado de algunos esfuerzos para lograr la portabilidad de software entre diversas plataformas. Diferentes aproximaciones existen, de las cuales dos se distinguen por que han mostrado muy interesantes resultados: la portabilidad a nivel de código binario (Java, por ejemplo) y la portabilidad a nivel de código fuente.

La primera, aunque es técnicamente muy retadora e interesante, ha mostrado, quizá como resultado de lo mismo, muchos problemas para su adopción generalizada. De tales problemas se distinguen cuatro:

  1. la eficiencia del código,
  2. las dificultades en la adopción generalizada de estándares,
  3. la estabilidad de las aplicaciones,
  4. el difícil crecimiento.

Por otra parte, la portabilidad a nivel de código fuente es un esfuerzo que cuenta con una mucho mayor experiencia, tanto en el rubro de soluciones técnicas concretas como en el de adopción de estándares. Tiene también desventajas, entre las cuales se distingue la necesidad de recompilar las aplicaciones para cada plataforma de interés. Sin embargo, contra esa desventaja existe un número de ventajas que la hacen aparecer, creemos, como la forma racional y viable de lograr la portabilidad real.

A manera de ejemplo, en materia de interacción de las aplicaciones con el API del sistema operativo existe un estándar tan difundido y aceptado que se ha vuelto exigencia: se llama Posix. Si se escriben aplicaciones en C o C++ que, en su dependencia del sistema operativo se ciñen a lo que dicta el estándar, su portabilidad en ese sentido es completa.

Por otra parte, cuando se trata de los aspectos particulares de la compilación en cada ambiente de desarrollo, existe en Unix un conjunto de herramientas de autodetección del entorno de desarrollo y de la preparación de los parámetros para la compilación, que simplifican en grado sumo tal labor y la vuelven, en la mayor parte de los casos, trivial. Dichas herramientas, entre otras cosas pueden hacer lo siguiente:

  • detección del sistema operativo,
  • identificación del compilador,
  • detección de las librerías instaladas,
  • detección de herramientas auxiliares,
  • definición de la estructura de directorios,
  • detección de las capacidades del usuario que está llevando a cabo el proceso.

A cambio de la aparente dificultad en la recompilación de las aplicaciones, se obtiene como beneficio la eficiencia de un código que se ejecuta siempre en su plataforma nativa, con la funcionalidad idéntica en todas la plataformas.

El software libre ha demostrado su calidad, muy por encima de las correspondientes aplicaciones comerciales, de la siguiente forma:

  • presenta menor número de fallas (bugs),
  • es más rápida la respuesta de los cuerpos de desarrollo a las fallas (soporte verdadero),
  • brinda a los usuarios más amplitud en el soporte,
  • dada su amplia vinculación con la academia y a la investigación, incorpora de ellas todos sus avances y tendencias, anticipándose a lo meramente comercial.

NANOTECNOLOGÍA

La nanotecnología es un campo de las ciencias aplicadas dedicado al control y manipulación de la materia a una escala menor que un micrómetro, a nivel de átomos y moléculas. Tal manipulación se produce en un rango de entre uno y cien nanómetros.

La nanotecnología es el estudio, diseño, creación, síntesis, manipulación y aplicación de materiales, aparatos y sistemas funcionales a través del control de la materia a nano escala, y la explotación de fenómenos y propiedades de la materia a nano escala.

La nanotecnología habla de máquinas pequeñas al extremo de lo invisible capaces de construir edificios, detener enfermedades, pelear guerras y producir alimentos.

*Memoria:

En un laboratorio de IBM en Zurich, uno de los que ayudó en la invención del microscopio AFM de 1986, se trabaja en la miniaturización a nivel nanómetro del registro de datos. El sistema de almacenamiento se basa en un conjunto de 1024 agujas de AFM en una matriz cuadrada que pueden escribir bits de información de no más de 50 nanómetros de diámetro. El mismo conjunto es capaz de leer la información e incluso reescribirla.

La capacidad de guardar información a esa escala es una noticia para el mercado, pues multiplica la cantidad de información que se puede almacenar en un área determinada. El sistema actual de registro, basado en la memoria magnética, puede guardar alrededor de dos gigabits por centímetro cuadrado. Con unidades de almacenamiento provistas de matrices gigantescas, con millones de agujas, se puede lograr un almacenamiento en el orden de los terabytes, como 40 veces lo que está disponible hoy comercialmente.

*Computadoras ubicuas:

La miniaturización a nivel nanométrico apunta a la inserción de potentes computadoras en relojes de pulsera y teléfonos celulares que posean un disco rígido. Se supone que la tecnología del "Miriápodo" (como un ciempiés) proveerá de discos rígidos de una capacidad en el orden de los gigabytes y de un tamaño de un centímetro cuadrado. Este nanodrive de tecnología AFM requerirá menos energía para su operación que los de tecnología magnética, un factor crítico en los productos portátiles.

*Nanotecnología puede crear una red de Internet basada en energía solar.

Investigadores de Canadá han demostrado que se puede utilizar la nanotecnología para conseguir un Internet de máxima potencia basado en la potencia de luz. Este descubrimiento puede llevar a una red 100 veces más rápida que la actual.

Profesores de la Universidad de Carleton diseñaron una sustancia que combinaba buckyballs (una nano-estructura compuesta de 60 átomos de carbono C60 estructurados en un espacio cerrado y perfectamente simétrico, especialmente como superconductores), con un tipo de polímero. Esta combinación logró crear una capa clara y lisa, diseñada para lograr que las partículas de luz captase la trayectoria de otras partículas.

Sargent y Chen, estudiaron las propiedades ópticas de esta nueva sustancia híbrida. Descubrieron que la sustancia era capaz de procesar datos transportados en ondas de telecomunicaciones, los colores infrarojos de luz utilizados en cables de fibra de óptica. Según Sargent, un sistema basado en la comunicación vía fibra óptica podría enviar señales por la red global en un pico-segundo, resultando un Internet 100 veces más rápido.

viernes, 26 de octubre de 2007

RSS: Noticias al Instante!

¿Quién no se ha cansado de visitar cientos de páginas webs en busca de noticias o para ver si se han actualizado? Al parecer muchos, pero este cansancio y pérdida de tiempo hace años que se está dejando atrás gracias a la llegada del RSS, un sistema que permite agrupar noticias con programas u otros servicios agregadores de feeds.


Un poco de Historia

El Really Simple Syndication, más conocido como RSS, sentó sus bases iniciales en 1995, cuando el cientifico indú Ramanathan V. Guha junto a otros ingenieros de Apple crearon el MSF ( Meta Content Framework), otro tipo de archivo que es antecesor al actual que conocemos como RSS.

Las investigaciones de Guha y sus colaboradores continuaron investigando los alcances de su desarrollo y en 1999 crearon el primer RSS para Internet. Éste se colocó en el Portal de My.Netscape.com y al darse a conocer masivamente, otros cientificos comenzaron a trabajar en la nueva forma de publicar información. Es así como Dan Libby, ya en julio de 1999, perfecciona el sistema RSS y lo denomina de esta medida (RSS significa "Rich Site Summary").

Con los años, el perfeccionamiento del RSS ha seguido su curso y hasta ahora, son 3 las versiones de este archivo que se pueden encontrar en los diferentes sitios webs que ofrecen el servicio: RSS 0.91, RSS 1,0 y RSS 2,0.

¿Cómo se leen los RSS?

Existen vaios softwares gratuitos y servicios a través de Internet que nos permiten la lectura de los feeds de las distintas páginas. Estos programas o servicios se llaman "agregadores", que son capaces de interpretar el lenguaje de los feeds de cada sitio y visualizarlos de una forma acorde para la lectura del usuario.

"Bloglines" es uno de los agregadores de feeds online más famosos del mundo. A través de este sitio, donde uno puede registarse de manera gratuita, el usuario puede agrupar sus sitios favoritos y mantenerse al tanto de sus actualizaciones.
Y como no podía faltar, Google también cuenta con un servicio Online para leer los feeds de cualquier sitio del mundo. Google Reader es el nombre de este sitio, que permite a los usuarios agregar sus sitios mediante su cuenta Google , por lo que cualquiera que posea un correo de Gmail, tiene acceso a Google Reader.

También exiten diversos servicios que permiten insertar Feeds de otras páginas en nuestros sitios webs. Uno de ellos es el que ofrece Euroresidentes, donde uno puede poner una fuente RSS y èste genera de inmediato un còdigo html que se copia y pega fàcilmente hacia el sitio web.

¿Cómo puedo crear un RSS para mi sitio web?

A simple vista, realizar un RSS para nuestro sitio web se ve como una tarea dificil, pues contempla codigos HTML de no mucho uso. Pero existen guías en Internet que enseñan paso a paso a crear nuestros propios servicios de sindicación web. A continuación, una lista con algunas guías rápidas para hacer nuestros propios feeds:

- Guía Fácil del RSS

- Guía de Euroresidentes

- Video Tutorial de RSS

Aparte de estas guías, existen programas que crean automáticamente los feeds que queramos para nuestros sitios webs. Entre ellos se destacan RSS Builder y ListGarden RSS Feed Generator, entre otros, los que se pueden descargar de forma gratuita y poseen una interfaz muy fácil para usuarios básicos de Computación.