5/12/2008 16:18 El Bruno

[Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Buenas,

el próximo jueves 18 de Diciembre siguiendo con la tradición de hace varios años, Miguel Jimenez cerrará el año en Madrid.Net con un evento genial: The Underground Experience of DeepZooming.

En este evento experimentaremos el proceso de construcción y exploración de mapas de imagenes a la vez que profundizamos en los detalles de la tecnología SeaDragon. Originalmente creada para el proyecto Photosynth, de Microsoft Research, tiene actualmente una aplicación directa en aplicaciones Silverlight. A lo largo de esta sesión se mostrará como utilizar DeepZoom Composer para crear colecciones de imagenes que pueden ser usadas para crear mapas de contenido interactivo que pueden ser ampliados, navegados, ocultados, detectados e integrados junto a otros procesos de interacción de Silverlight. Una sesión eminentemente práctica donde se mostrará como trabajar con las herramientas y APIs necesarias para ser "eficiente" con la tecnología DeepZoom.

http://madriddotnet.spaces.live.com/blog/cns!6453107D41F04C68!181.entry

Por otra parte, estamos comenzando a planear los eventos para 2009 y como no me dejan hablar de Visual Studio Team System 2010 una de las ideas que estamos planteando es la de hacer mesas redondas con los participantes para exponer ideas, experiencias, etc. en las mismas sobre algunos temas.

Mientras estábamos tirando ideas para la primera lista de temas, yo comenté mi experiencia con “la arquitectura de la cebolla” y claro, como es una experiencia personal, David, Jorge, Luis y Octavio se quedaron mudos, asi que esta es mi pequeña contribución sobre la que seguro alguien tendrá algo que decir.

Muchas veces cuando llego a un proyecto me encuentro con una arquitectura de aplicación que se divide en muchas capas. Existen casos donde para pasar el valor de un estado (que es un enumerado) suele existir un Factory Provider. Como soy un poco curioso pregunto el porqué de esta factoría, y la respuesta es “por si acaso”. Un poco más abajo, veo que el estado se pasa a través de un Proxy; vuelvo a preguntar y en esta ocasión la respuesta es “por las dudas”. Finalmente, me encuentro con la implementación de un patrón Observer que dispara eventos por todos lados, pero a los que nadie se suscribe; para no perder la tónica hago una nueva pregunta y en este caso la respuesta es “no vaya a ser que lo necesitemos álgún día”.

Vamos que al final, la aplicación tiene más capas que una cebolla y al igual que la misma, cuando la empiezas a destrozar no te queda otra que llorar.

Yo en estos casos, siempre trato de recordar la frase de Tintin Fowler donde nos recomienda aplicar la solución correcta al problema específico, y que cuando el mismo cambie o evolucione, en ese momento cambiemos o evolucionemos nuestra solución. Por lo general, pensar de antemanos en escenarios complejos suele llevar a complicar más el asunto, lo mas aconsejable, es refactorizar y adaptar nuestra solución a medida que lo necesitamos.

Pues bien esta es una opinión, y seguramente alguien tiene otra parecida o algo que decir al respecto.

¿Cómo veís que organicemos eventos de Madrid.Net donde expongamos temas como estos en mesas redondas y TODOS podamos opinar al respecto? (remarco TODOS, porque esperamos que toda le gente que asista se anime a participar :D)

¿Qué temas os gustaría tratar?

 

Saludos @ Here

El Bruno

 

Actualización: no quiero dejar de agradecer a Edu y Sergi, padres de un actual modelo de negocios, que tiende a convertise en una cebolla épica.

Crossposting from ElBruno.com
Archivado en:
Comparte este post:

# re: [Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Friday, December 05, 2008 5:09 PM by Juan Irigoyen

Qué pena no poder estar ahí para verlo.

Desde luego el "patrón cebolla" es muy utilizado, recuerdo a Miguel diciendo "haz aquello que necesites.... no más"....

# re: [Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Friday, December 05, 2008 6:25 PM by Mario A Chavez

Hola,

Veo que en el post comentas sobre la "arquitectura de la cebolla" y luego mencionas el patrón de la cebolla de manera indistinta.

Tal y como la platicas parece que los desarrolladores del código no están muy familiarizados con el concepto YAGNI.

Pero al mismo tiempo no me suena realmente como a al arquitectura de la cebolla, denominada así por Jeffrey Palermo, en donde el expone que esta arquitectura es una compilación de patrones y técnicas, dispuestas de forma que se minimiza la alta cohesión de una aplicaciones con sus componentes, permitiendo que estos sean intercambiables minimizando el impacto de estos cambios en la aplicación.

Esta arquitectura también esta diseñada de manera que permita la "testeabilidad" de sus componentes de forma fácil.

Aquí hay dos posts con detalles de la misma: mario-chavez.blogspot.com/.../la-arquitectura-de-cebolla-parte-1.html y mario-chavez.blogspot.com/.../la-arquitectura-de-cebolla-parte-2.html

Saludos

# re: [Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Friday, December 05, 2008 9:48 PM by El Bruno

Mario gracias por el dato, ya he corregido el error.

La verdad es que no conocía a "onion architecture" como un concepto serio, pero después de leer tu post me ha gustado la idea.  Dependencia inversa basada en interfaces me parece un acercamiento aceptable para muchos escenarios, pero lo de no pensar en la DB en el core, ahí me has dejado pensando ... gracias !!!

Asi que mira, lo que nació como un chiste con las cervezas con los amigos, ahora resulta que ya existe !!! eso es lo bueno de las mesas redondas (o en este caso un post)

Muchas gracias ... :D

# re: [Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Saturday, December 06, 2008 11:54 AM by Jorge Serrano

¡Olé Bruno!

Muy interesantes los comentarios también.

Como dice Bruno, la idea de las mesas redondas que queremos impulsar es algo que para tener éxito y ser provechoso, debemos interactuar entre todos, poner las mesas en posición circular si se puede, y charlotear sin tapujos ni problemas, exponiendo los problemas de productos Microsoft diciendo que cosas odias o te parecen una caca o cuales son las más alucinantes... es decir, como diría yo, enriquecimiento cíclico.

Es algo que personalmente llevo persiguiendo mucho tiempo y en el que los integrantes de MAD.NUG tenemos puestas muchas ilusiones. Una apuesta nueva para el grupo de usuarios que espero sea del agrado de la gente y que seguro que da para que salgan muchas entradas en los blogs (para compartirlo con los que no puedan estar allí).

Si sale mal,... pues nada, intentarlo es lo primero, pero honestamente creo que puede salir muy bien y abrir las mentes de todos los que estemos allí, donde compartamos nuestras experiencias y puntos de vista.

Lo de la cebolla me ha quedado ahora mucho más claro con todo lo que se ha hablado y los enlaces de Mario. Yo también desconocía que fuera un término que ya existiera... y es que volvemos a lo de siempre, es de sentido común, pero no por eso, todo el mundo utiliza ese sentido común para hacer las cosas. Y ahí es donde este tipo de iniciativas que queremos impulsar, tiene mucho más sentido si cabe. :-)

P.D.: Bruno, ya te dije, la foto... ¡GENIAL!. Me encanta.

# re: [Evento] User Experience: Deepzooming, la arquitectura de la cebolla y las mesas redondas

Sunday, December 07, 2008 10:11 PM by Mario A Chavez

Hola otra vez,

Un solo comentario adicional sobre la arquitectura de la cebolla y lo que mencionas sobre no estar muy a gusto que la DB quede "fuera" del "core" de la aplicación. Esta visión tiene sentido si tenemos en cuenta que actualmente las aplicaciones pueden gestionar datos que pueden o no pueden estar dispuestos mediante una base de datos o servicios web, ya sea de forma local o remota por medio de la interoperabilidad con otras aplicaciones.

Sobre las mesas redondas, estoy de acuerdo que son la mejor manera de compartir experiencias, por nuestro lado en la Comunidad Tijuana.NET -www.tjnet.org - (En México), los dos últimos eventos que realizamos fueron un CodeCamp y un Entreprenuer Workshop, sin un formato estricto y la respuesta de los asistentes fue bastante bueno, ya que todos tuvimos la oportunidad de expresarnos y aportar experiencias.

Saludos