Para Poner en el Arbolito: el Architecture Journal Reader (Beta)

Platform Architecture Team

 Arrimándose  las fiestas y otro año que pasa volando, los del Equipo de Arquitectura de Plataforma Microsoft te queremos acercar la beta de una aplicación que esperamos te resulte piola

El Architecture Journal Reader es una facilidad que te va a permitir recibir en línea la revista homónima (The Architecture Journal), que por si no la conocías, es una publicación trimestral que dirije Simon Guest. The Architecture Journal es traducido a varios idiomas, aunque ésa no es una actividad que hacemos nosotros sino que determinadas subsidiarias de Microsoft, según el presupuesto, etc, traducen ciertos números a idiomas locales. La edición en español está disponible a partir del número 3 (desconozco la razón por la cual nunca se tradujeron los números 1 y 2 porque -como contaba- no pasa por mí traducirlo)

El contenido de la revista, contrariamente a lo que puedas pensar, no es exclusivamente centrado en tecnologías Microsoft sino en tendencias de la industria (aplicaciones compuestas, SOA, Web 2.0, etc). De hecho la mayoría de los artículos de cada edición son contribuciones externas de arquitectos. Sí, quise decir eso: vos mismo podrías ser un contribuyente del Journal y sumarte un poroto ante tus pares. El call for papers se publica en un RSS feed suscribible acá: http://msdn.microsoft.com/architecture/arcJournal/rssCallForPapers.xml

Para contenido específicamente Microsoft te recomiendo que visites el portal de Arquitectura MSDN

El Architecture Journal Reader se instala localmente en tu PC y cada vez que lo abrís se sincroniza con nuestros servidores para descargar -dado el caso- las novedades disponibles. Y con esto no nos referimos exclusivamente a artículos: el Reader tiene un módulo de avisos publicitarios embebido entre las notas, de manera de poder comunicarte el próximo call for papers y/u otras novedades

 

annotations-emphasizing 
Figura 1 – Resaltado de texto y comentarios del lector

Es una alternativa a leerlo directamente de la web, ya que los navegadores requieren de un acceso al servidor cada vez que quieras leer un artículo, y si por alguna razón no hay conexión disponible te van a tirar un error (no: el caché del browser con suerte va a funcar si le diste al back button para volver a una página cacheada en esa sesión)

En este caso, en cambio, el proceso de descarga es una sincronización de datos que queda almacenada localmente (disparada ya sea bajo demanda o al abrir la aplicación). A partir de allí toda la navegación es local con lo cual no hay más ancho de banda involucrado hasta la próxima sincronización. Cada sincronización descarga sólo las novedades (esto es, artículos inexistentes localmente, o bien existentes pero con una versión local anterior). Si la sincronización no fuese posible por algún motivo (no hay conexión, etc), los datos preexistentes localmente siguen estando disponibles

Pero la capacidad de operación fuera de línea (offline) no es la única ventaja ofrecida por este Reader: su idea es adaptar la lectura a las capacidades de despliegue en pantalla, entonces el texto y los gráficos se acomodan automáticamente al espacio disponible (te pasó en un browser de tener que escrolear para encontrar la imagen a que se hacía referencia, o agrandar el tamaño de la letra y que se desacomode todo?)

Por ejemplo, fijate que la figura 1 que pegue más arriba. Quedó ahí: más arriba. Y aparece allí porque el tag HTML <IMG SRC="…"/> que puse, lo puse allí. Ahí queda pues. En cambio en esta aplicación, el texto se organiza según páginas de visualización en base al estado actual (tamaño del área de despliegue, etc). Si el vínculo a la imagen aparece en esa página de visualización, tenés garantizado que la imagen en algún lugar de la ventana se va a acomodar para que la puedas ver completa

También, el texto se organiza automaticamente en columnas según el tamaño de letra elegido (más columnas si la letra es más chica, para que no te caigas del renglón smile_nerd). En ese sentido, las imágenes se escalan acorde a la cantidad de columnas disponibles

El Reader te habilita a resaltar párrafos a los que luego quieras volver a ubicar, así como también agregar tus propios comentarios al texto. A ese respecto, te podés armar una lista de lectura (reading list) con artículos que quieras ubicar rápido (sin tener que acordarte en qué número habían salido publicados), similar a los bookmarks del browser pero, nuevamente, sin la necesidad tener que acceder al servidor cada vez

 

reading_list
Figura 2 – Lista de lectura consolidando artículos en varios idiomas

 

Siendo que el Journal se viene publicando desde el 2004, a esta altura va juntando un buen volumen de data como para poder ubicarla inmediatamente. En general cada número tiene un tópico principal (SOA, Software as a Service, etc) pero siempre uno o dos artículos extra a ese tópico son también publicados. Por esto mismo, la aplicación incluye un buscador que clasifica sus resultados por orden de relevancia

 

searching
Figura 3 – Resultados de búsqueda de artículos relacionados con "modelo de datos", clasificados
según relevancia de ese tópico en el artículo en general

 

Con esta aplicación queríamos ejemplificar un par de cosas:

  • Software + Services. No es un mero cliché sino algo en lo que creémos de verdad. Yo mismo admito haber sido alguien que en su hora defendió a muerte el concepto de "ir a la web", "llevar todo a la web", y me cerraba el concepto de la "network computer" (una computadora de muy bajo costo que basicamente iba a ser capaz de conectarse a Internet y consumir la mayor parte de su software directamente de allí). Nunca pasó nada con la famosa "network computer" que alguna vez Larry Elison (CEO de Oracle) dijo que iba a marcar el fin de la PC y (no lo dijo pero todos esperaban que dijera) presuntamente del principal vendedor de software para PCs. Es hoy incluso difícil encontrar referencias a "network computer". Las más actuales que encontré son viejísimas: Microsoft (2001), Search400 (1999)
    Nunca pasó nada porque las PCs tradicionales con los años se fueron abaratando con lo cual la principal premisa de "ir a menos para ser más" perdió gravidez. Irónicamente esas compus baratas iban a costar entre 500 y 1000 dólares. Hoy eso es lo que cuesta una notebook con Windows Vista (sistema operativo éste que no cabe precisamente en un diskette)
    Software plus Services propone hostear atrás de la nube aquellos servicios que se actualizan dinámicamente, habilitando localmente una capa de software para aquellas funciones relacionadas con actividades del usuario junto a todo aquello que se quiera disponer en forma autónoma (aprovechando, de paso, recursos de hardware locales). Originalmente este concepto surgió como "smart client" (cliente inteligente), en contraposición al "thin client" (cliente delgado) que promovía "llevar todo a la web". Esa misma idea hoy se rebautizó como Software más Servicios (S+S) como una propuesta ampliada al Software as a Service (Software como un Servicio o SaaS). No como una alternativa a SaaS sino tomando a éste como un caso particular donde nada se hostea localmente
    En ese contexto podemos decir que la web del Journal actúa como SaaS en tanto que el Reader juega el rol de S+S, capisce?
  • User Experience (UX). Esto, aunque no parezca, es un derivado de aplicar S+S o, en otras palabras, una motivación para aplicar el concepto del punto anterior tiene que ver con la experiencia que le queremos brindar a los usuarios. Te voy a contar una anécdota de este proyecto: un amigo a quien le mencioné en lo que andaba abocado hace un tiempo atrás me respondió que era innecesario ya que con los avances en materia de comunicaciones, en un tiempo más iba a haber internet hasta en el desierto de Atacama y con eso hablar de offline sería innecesario. A ver: yo no tengo ninguna duda de que Internet ya sale hasta por los cajones de la mesa de luz (los que me tienen en su lista del messenger sabrán de las veces que me han encontrado chateando en el bus, porque no sé por allí pero acá hay Internet en los autobuses)
    Sin embargo, así como lo hay… deja de haberlo. Si por hache o por be el servicio no está disponible, pues agua y ajo. Me acuerdo meses atrás de un hotel que paré en Los Ángeles. Tenían internet gratis en las habitaciones, pero no funcionaba. Le hice saber al conserje y me dio las gracias (además de disculparse por las "inconveniences"). Y ahí quedó, no?
    Pero además, el concepto del browser como cliente universal me parece hasta cierto punto cuestionable. Sirvan las características del Reader contadas acá como ejemplo de cosas que el browser no provée per sé, excepto picar una batahola de código entre server-side y JavaScript (además de lidiar con manejo de sesión, escalabilidad, latencia de red, etc). Complicado de desarrollar, y una experiencia de usuario que en el mejor de los casos se va a arrimar. Son loables los progresos alcanzados con tecnologías RIA (por Rich Internet Applications) como AJAX o Silverlight; yo mismo escribí una serie sobre la web social (Web 2.0) enumerando patrones y tendencias actuales. Pero a cada cual según su necesidad: queremos algo disponible en cualquier plataforma en forma inmediata, sin necesidad de instalar nada? Tecnologías basadas en la web son sin duda la solución (y para ello lo más probable es que resignemos parte de la experiencia de usuario, y nadie se va a suicidar por ello si no había requerimientos de experiencia de usuario especificados de antemano). Queremos, en cambio, privilegiar la usabilidad, tomar ventaja de recursos locales (almacenamiento, otras aplicaciones disponibles, etc), reducir tiempos de espera (especialmente para descargar información que ya alguna vez habíamos descargado y no se había renovado)? Bueno, si la respuesta es afirmativa, ahí es donde la primera S de S+S (Software más Servicios) adquiere relevancia. Ahí está el Reader, pues
    Para cerrarte la anécdota que te contaba de mi amigo, es cosa de no creer pero justamente una vuelta me pasó con él que quiso dejar un comentario en un artículo de mi blog (para colmo justo un artículo de SaaS!!!). Se escribió todo un speech (interesante por cierto, creo incluso más jugoso que mi propio artículo), pulsó "Aceptar" para mandar todo el choclo y… "The site could be temporarily unavailable or too busy. Try again in a few moments." Todavía mi amigo se había enojado conmigo por eso, por tener mi blog en ese servidor, etc smile_regular Si me llega a pasar eso en el desierto de Atacama, la primera vicuña que se cruce es tapado

La experiencia también nos sirvió (o me sirvió) para afilar mis cualidades de administrador de proyectos: no teníamos ni todo el tiempo del mundo ni tampoco un equipo de gente atrás apoyando. Teníamos, sí, el core que se había usado meses atrás con el New York Times y otros diarios que podríamos decir que incluía gran parte de la lógica. No obstante, no preveía soporte multilenguaje y por ende la persistencia de este estado (es decir, si cuando lo cerraste lo tenías en español, asumamos que es que lo querés volver a encontrar en la lengua de Cervantes la próxima vez que lo uses). Bueno, en ese tipo de cosas estuvimos trabajando este último tiempo

Cómo de experiencia de usuario se trataba, hubo que tener en cuenta que hoy por hoy los usuarios mayoritariamente tienen Windows XP SP2, que no incluye .NET 3.0 (requerido ya que la aplicación está basada en Windows Presentation Foundation). Por tal motivo llevamos el análisis hasta ese ámbito: el instalador tenía que hacerse cargo de todo (controlar la presencia de los requisitos, instalarlos en caso de que no estén presentes, etc). Analicé MS Installer versus ClickOnce, qué pasa si necesitás que quien lo instala acepte un EULA (end-user license agreement o acuerdo de licencia de usuario final) y una larga lista de etcéteras. Bueno, no lo voy a contar todo ahora pero se viene un artículo al respecto de distribución de aplicaciones (escenarios -usuarios desconocidos vs usuarios de tu organización-; tecnologías -MS Installer, ClickOnce, scripting-; y demás)

Para cerrar, y como incidencias reconocidas, nos han reportado ya algunos incidentes:

  • El Reader no detecta bien proxies (o no hereda, por caso, la configuración del Internet Explorer)
  • Si en una página de visualización hay más de una imagen que desplegar, de momento despliega sólo una. Es un issue del core y según me contaron los que trabajaron en él, lo tendrían ya resuelto (por lo que voy a incluirlo en la versión 1.0 a liberar en el primer trimestre del 2008)
  • La facilidad de poner comentarios o realzar textos no se puede, hoy, aplicar a imágenes
  • El envío de artículos vía mail, ni siquiera lo mencioné más arriba como característica porque no estoy conforme con lo que pude hacer
  • Lo mismo para la opción "guardar" artículos

Bueno, y debe haber otras más que yo todavía no detecté (pero vos podés hacerlo fingerscrossed)

El Reader versión beta está ahí disponible desde fines de Noviembre. Dos días después de su lanzamiento ya se podía leer una crítica en InfoQ: http://www.infoq.com/news/2007/11/aj-reader

Joojojoojooojojojojojooooooojjooo!! Feliz Navidad!!! smile_party

Esta entrada fue publicada en Software Architecture. Guarda el enlace permanente.

3 respuestas a Para Poner en el Arbolito: el Architecture Journal Reader (Beta)

  1. Patricia dijo:

    Muy bueno Diegum!! Yo recibia la revista en papel. Muy buena calidad de los articulos y la revista en si misma.
    Voy a utilizar esta nueva opción, y así ahorraremos papel.
    Reenviaré la noticia a mis amigos de sistemas.
    Un beso y muy feliz navidad!
    Pato
     
     

  2. Patrick dijo:

    Diego,
     
    ya le envié la carta a "Papá noes". Esperemos que aparezca en el arbolito.
     
    Saludos,

  3. Daniel A dijo:

    Excelente info Diego, gracias por compartir (como siempre). Muy buena la publicación, personalmente no la conocía.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s