Jaimir G. blog

Experiencias de mi trabajo diario construyendo soluciones sobre plataformas Microsoft
Experiencia de Usuario

La comunidad de Avanet http://avanet.org, me dio la oportunidad de hablarles sobre experiencia de usuario en las empresas. La charla quedó grabada y la pueden ver en Ustream:

Resultados de la encuesta: “Temas que le gustaría recibir capacitación sobre productos o conceptos de Microsoft®”

El 10 de octubre con los compañeros del MCS Colombia, tomamos la decisión de correr una encuesta con el fin de determinar sobre qué temas les gustaría recibir capacitación en próximos eventos dictados en el seno de las comunidades técnicas o incluso aquellos organizados por Microsoft Colombia®. Quise compartir los resultados con ustedes, pues dan luces sobre las expectativas de los asistentes a charlas y eventos técnicos de nuestras latitudes latinoamericanas.

La encuesta.

Utilizamos el portal http://www.surveymonkey.com, no solo por lo gratuito, sino por tratarse de una herramienta muy completa para crear encuestas. Simplemente configuramos tres preguntas:

  1. ¿Cuál es tu área principal de relación con Microsoft(r)? (Usuario Final, Desarrollador e IT Y Plataforma)
  2. ¿Sobre qué tema le gustaría recibir capacitación sobre productos o conceptos de Microsoft(r)?
  3. ¿A qué nivel de profundidad te gustaría conocer de este tema? (Generalidades; Características detalles; Como se usa o se implementa; Una característica en profundidad).

Para la pregunta dos, debido a que se trataba de una respuesta de texto libre, al tabular la información, cree una columna de categoría, con el fin de clasificar los textos y obtener resultados sobre los cuales se puedan realizar análisis.

Adicionalmente, basado en las respuestas, agregué una clasificación para determinar si los participantes quería ver temas o productos actuales, o por lo contrario quería tener información de aplicaciones en estado beta o que no se habían lanzado todavía.

Desafortunadamente, la opción gratuita del portal, solo nos dejó consultar los primero cien (100) resultados (al día de hoy habían contestado 160 personas). Al analizar los resultados tomé la decisión de tabular aquellas personas que contestaron dos o más temas como una respuesta independiente, llegando a 137 respuestas.

La invitación fue abierta a los miembros de las comunidades técnicas o seguidores a través de Facebook o Twitter, incluso se puede constatar que participaron personas fuera de Colombia.

Los Resultados.

En general, todos los participantes contestaron juiciosamente la encuesta, no faltó el fanático que escribió "Me gusta recibir capacitación de como destruir Microsoft", a lo cual aprovecho para responderle: Sigue los pasos de Steve Jobs!!! (… el que lo entendió, lo entendió…J).

Pregunta Uno.

A la primera pregunta los resultados fueron:

  • Desarrollador è 77%
  • IT y Plataforma è 18%
  • Usuario Final è 5%

Antes de lo importante, aclaro que el 5% no corresponde ni a nuestras madres, hermanas, novias, esposas, hijos, etc… Resulta obvio la falta de balance entre nuestras audiencias, tenemos muchos más desarrolladores. Sería interesante identificar las causas (no hay suficientes comunidades IT, no estamos identificando los miembros activos para ser parte de MCS, nos falta relacionamiento), para lograr que el mensaje llegue de forma equitativa, ya que los dos áreas se complementan y son necesarias.

Pregunta Tres.

Los resultados de la pregunta tres fueron:

  • Generalidades è 2%
  • Características detalles è 13%
  • Como se usa o se implementa è 47%
  • Una característica en profundidad è 38%

Este es un llamado al contenido de las charlas. Se concluye que la gente ya no quiere un contenido abarrotado de mucha información, ya no quieren el "Qué", prefieren el "Cómo", prefieren ver una charla que se centre en una sola característica y que al final puedan tomar el contenido de esa charla y aplicarlo a su trabajo diario. También considero que es un llamado a las demostraciones que hacemos: Es mejor hacer una demostración de un tema puntual donde podamos mostrar como lo hicimos, y no aquellas tipo mago, donde no podemos revelar nuestros secretos.

Pregunta Dos.

Deje para el final la pregunta dos, porque hice varios análisis y es donde está el meollo del asunto.

Antes de llegar a los fríos números, quiero decir que me llamo mucho la atención como la gente (23%) pide temas de base (lenguajes de programación, conceptos, mejores prácticas, metodologías, etc). Podríamos decir que no es parte del alcance, que es un problema de las universidades, pero finalmente si los profesionales que van a utilizar o implementar una solución a través de tecnologías, no tienen claras las bases teóricas o metodológicas que apalancan los productos, seguramente los resultados serán desastrosos. Deberíamos pensar en el seno de las comunidades como reforzar estos temas por el crecimiento profesional de los integrantes.

Información de temas futuros.

Al clasificar las respuestas por personas que quieren tener información de productos futuros se obtuvo:

  • Si (futuros) è 19%
  • No (prefiero actuales) è81%

Efectivamente como ya lo sospechábamos, la gente prefiere ver charlas sobre productos que actualmente está utilizando en sus organizaciones, sobre los cuales pueden poner en práctica los conocimientos adquiridos. Si se desglosa los resultados por tipo de relación (pregunta uno), los resultados no cambian, o sea que al 81% de los desarrolladores, o administradores de plataforma, prefieren ver temas actuales y no información del futuro.

Aquí también puede existir una oportunidad de mejoramiento para las personas que dictamos charlas o escribimos blogs. Muchas veces por hacer más, terminamos haciendo menos. Creemos que por siempre estar hablando de los productos futuros podemos demostrar nuestra experiencia y dominio en los temas, y resulta que estamos alejando a nuestras audiencias ya que ellos no sienten valor agregado en ese contenido futurista. Por ejemplo, 12 personas pidieron contenidos sobre Silverlight, pero solo 1 pidió información de Silverlight 5. Igual ocurre con SQL Server, solo 1 quiere ver información sobre la nueva versión.

Los cinco temas más solicitados.

A continuación, los temas más solicitados. Para esta clasificación tomé en cuenta el tipo de relación (pregunta uno), ya que el contenido del tema es diferente, y la clasificación que generé a partir de los textos escritos en las repuestas:

 

Para la gráfica de Usuario Final, la categoría "No" representan encuestados que no quieren conocer nada respecto a las plataformas de Microsoft®.

Buenos señores, eso es todo. Espero que la información recolectada sea de utilidad para ustedes y sus comunidades. La hoja de Excel con todos los datos, la pueden consultar a continuación.

Evento Virtual - Cloud Power 17 de Mayo

El 17 de mayo se realizará un nuevo evento virtual dirigido a todas las personas de habla hispana. El Evento Virtual - Cloud Power logró reunir expertos, herramientas, recursos y soluciones para todos los que quieren empezar a disfrutar de las ventajas de la Nube.

Yo los estaré acompañando en una charla sobre desarrollo de aplicaciones de negocio en Silverlight® 4.0. Se pueden inscribir aquí.

Silverlight – Cacharreando con Windows Phone 7® en un LG e900

Me prestaron por una semana un celular LG OPTIMUS7 E900 el cual trae instalado el nuevo sistema operativo Windows Phone 7® con el objetivo de cacharrear (experimentar sin ningún método científico) sobre el desarrollo de aplicaciones Silverlight para este nuevo sistema operativo.

Primero me gustaría dar mi opinión como usuario final y consumidor. Si lo compara contra cualquier móvil con Windows Mobile 6.5, la evolución es asombrosa, principalmente en el área de la usabilidad, donde uno encuentra una interfaz totalmente amigable y sobre todo fácil de aprender… intuitiva es la palabra que yo usuaria para calificarla. Adicionalmente el hardware de LG ayuda a lograr un buen desempeño y una experiencia fluida. Microsoft® logra reunir varias de sus plataforma dirigidas a consumidores (Bing, Messanger, xBox, Live, Office, etc...) en un único dispositivo, que no solo le permite mantenerse comunicado, sino distraerse durante esas horas de ocio y reuniones ladrilludas.

Como todas las plataformas de Microsoft®, existe todo un conjunto de herramientas que permiten desarrollar aplicaciones. En el caso de Windows Phone 7 (WP7) se pueden descargar de forma gratuita en el portal orientado a los desarrollares (http://create.msdn.com/en-US/). Con el fin de lograr la usabilidad y la riqueza en la experiencia del usuario final Microsoft® decidió como estrategia de desarrollo basarse en la plataforma de Silverlight™ y XNA™. Yo me puse como objetivo migrar una aplicación Silverlight existente para que funcionara sobre WP7.

Pros.

Lo más relevante es que para cualquier desarrollador que ya conozca cualquier plataforma XAML (WPF o Silverlight) la curva de aprendizaje es muy corta, más si se tiene alguna experiencia desarrollando aplicaciones sobre superficies Multitouch y entiende los conceptos respecto a la gesticulación con estas superficies.

Es evidente que es necesario hacer algunas adaptaciones a la capacidad de procesamiento del dispositivo, botones de control (los tres botones físicos que tiene el dispositivo) y el tamaño de la pantalla, pero…. si la aplicación de origen fue desarrollada bajo un patrón de diseño como MVVM y las diagramaciones de los formularios fueron realizados con tamaños y posiciones relativas y no absolutas… el trabajo es muy poco.

Una vez instaladas las herramientas de desarrollo, Visual Studio 2010 les permite crear un proyecto nuevo de tipo "Windows Phone Application", de ahí en adelante todos los conceptos base de Silverlight (Data Binding, Styles, Templates, WCF y RIA Services, etc..) siguen funcionando de forma similar. Existen algunos controles propios de la plataforma listos para usar como ApplicationBar, Pivot y Panorama, los cuales ayudan a estandarizar el comportamiento de nuestras aplicaciones con las ya existentes en el sistema operativo.

Contras.

Básicamente encontré dos cosas que no me gustaron: Dentro del ambiente de desarrollo, instalar la aplicación en el dispositivo es muy fácil, ya que a través del "Zune client software", tiene in asistente que ayuda en el proceso, sin embargo, si yo quisiera hacer una distribución masiva de mi aplicación en un ambiente corporativo tendría que hacerlo a través de Marketplace, y no necesariamente yo quisiera que mis aplicaciones estén disponibles en este lugar público, yo esperaría que a través de mi infraestructura corporativa pudiera distribuir la aplicación.

El otro tema es el acceso a bajo nivel de algunos elementos del Hardware del dispositivo, por ejemplo un lector biométrico o de código de barras. Así el dispositivo móvil contara con este tipo de hardware adicional, el ambiente protegido de Silverlight no me permite hacer operaciones directas sobre el API de estos elementos, lo cual puedo hacer en Windows Mobile 6 y 6.5.

Los invito a que bajen las herramientas y puedan juzgar ustedes mismos. Se pueden guiar con el blog de dan Wahlin's al respecto aquí.

Entrevista radial sobre Silverlight y temas varios

El programa Ciberradio de la emisora radial de la Universidad del Valle me invitó para entrevistarme sobre Silverlight y otras tendencias del mercado, incluyendo la posición frente a HTML v. 5.0. Al final resulto una conversación agradable, le agradezco a los muchacho de Ciberradio. Quienes estén interesados en escucharla, la subí a YouTube:

Simposio SATI

Del 13 al 15 de Octubre en Cali se va a llevar a cabo el congreso SATI (Simposio de Actualización en Tecnología de la Información y Comunicación), auspiciado por la Universidad Libre de Cali y la empresa privada de la región. Un evento dirigido a toda la comunidad que esta alrededor de la tecnología. Es importante resaltar que no es un evento meramente estudiantil, sino que se espera la participación de los profesionales, la empresa privada, tanto empresas de tecnología como consumidores de la misma, y los gomosos de la informática y telecomunicaciones. Toda la información sobre el simposio, inscripciones, agenda, ubicación, etc... lo pueden encontrar en la página web http://www.sati2010.com/.

Los organizadores me han invitado para dictar una charla, y el día jueves 14 voy a hablar sobre el desarrollo de clientes inteligentes y al final les voy a mostrar el nuevo paradigma de Microsoft® XAML, sus diferentes implementaciones: WPF, XBAP y Silverlight, para terminar mostrando lo que se puede hacer con ella y donde radica la diferencia frente a otras propuestas. Igualmente, para las sesiones prácticas de taller, durante el día viernes, vamos a utilizar una máquina virtual con todo el software necesario para que los asistentes puedan conocer de primera mano las herramientas y la forma de crear aplicaciones cliente a partir de esta nueva plataforma.

Adjunto el material de mi presentación. Nos vemos en SATI.

Steve Ballmer en Bogotá – {Actívate} 2010

Imagino que muchos de los asistentes a evento de {Actívate} 2010 han reportado esta noticia en sus blogs, por esta razón simplemente quiero compartir mis opiniones respecto de la magistral charla dictada por Steve Ballmer en la ciudad de Bogotá.

Más allá de los anuncios sobre las características y bondades de los nuevos productos lanzados por Microsoft® durante este 2010; de cómo la computación en la nube cambia el paradigma de ser dueño de la "plataforma" y controlar el "centro de computo" de una organización; de como más que nunca (…y como siempre…), son los desarrolladores de software "¡¡¡developers, developers, developers!!!" los que le dan sentido y aglutinan todas estas estrategias para generar valor agregado.

Más allá de todo eso, en lo personal, lo que más me gusto fue su visión de futuro a largo plazo, la cual compartió de forma espontanea durante una sesión de preguntas abiertas al final de su presentación. Estas son algunas de sus ideas… escritas bajo mis percepciones:

Los servidores deben evolucionar a sistemas que "aprendan a servir" a partir de su uso diario: en algún momento lo importante en los servidores no se va a centrar en el software y los servicios instalados: Windows Server, SQL Server, SharePoint, etc... Estos se fusionaran en una sola cosa que les permita mejorar momento a momento a través del uso cotidiano. Por ejemplo, el traductor de idiomas de Bing entrega sugerencias más refinadas en cada momento, porque construye un modelo estadístico basado en las acciones seleccionadas por los usuarios del mundo entero. Sin embargo, lo que debe evolucionar en los siguientes años, es la forma como "aprenden" los aplicativos, ya que los modelos estadísticos son costosos en recursos y poco naturales. Ningún ser vivo aprende a partir de un paquete de datos heredado de sus padres, lo hacen a través de una asociación de experiencias vividas. Entonces, ¿Cuál es el mejor mecanismo? Aquí se reciben ideas.

Por otro lado, no importa si esos servidores están en la "nube", o debajo del escritorio, los datos per se no tienen sentido, se deben combinar para generar información y ser útiles para las personas que requieren de ellos en el momento y lugar oportuno. El objetivo es crear dispositivos y aplicaciones cliente que enriquezcan la experiencia de interactuar con la información y explotar la funcionalidad de forma natural. Natural, NO ES a través de un teclado y un mouse. Natural es ser reconocido por mi voz y que entiendan mis particularidades lingüísticas (acentos, dejos, muletillas). Natural es poder interactuar a través de los gestos de mi rostro, manos y cuerpo (como las cámara fotográficas que hoy toman la fotografía cuando sonríen). Natural es tener dispositivos que se integren a mis herramientas de trabajo y tomen información al momento que ocurren los hechos (por ejemplo para operaciones de logística) y no esperar a que yo actualice una bitácora de tareas. Natural es interactuar con personas de todas partes del mundo sin que el idioma sea una barrera. Natural es poder compartir y usar información sin pasar por el proceso de copiar y pegar. Natural es que los desarrolladores de software entendamos la robótica como un conjunto de dispositivos sobre los cuales pueden correr nuestras aplicaciones.

El reto de HOY es que dejemos de ver todos estos dispositivos y características nuevas del hardware (multitouch, biometría, reconocimiento de video y voz, interactividad por gestos, movilidad, pantallas de diferentes tamaños, etc) como simples juguetes tecnológicos y los incorporemos a soluciones reales que mejoran y apalancan el trabajo de nuestros usuarios. En otras palabras, crear aplicaciones de negocio que cambien la percepción del usuario sobre los sistemas de información volviéndolos un habilitador de sus tareas cotidianas y no como otro trabajo más a realizar.

Les dejo el link para que descarguen el contenido de la charla que dicté en el marco de este evento (un verdadero honor para mí) sobre patrones arquitectónicos para la capa de presentación, un de las primitivas bases para hacer este futuro una realidad palpable.

Ahora en Twitter

Acabo de abrir una cuenta en twitter, la ides es compartirles mi experiencia aprendiendo Silverlight 4.0.  Ls interesado esta es mi dirección: http://twitter.com/jaimirg

La eficiencia en tus manos

Actualización:

Todos los videos de las charlas, tanto las pregrabadas como las sesiones en vivo, van a seguir colgadas por un mes más en la misma dirección.

En este mes de Abril, Microsoft® lanza más de 11 nuevas versiones en todas sus líneas de productos: Plataforma, desarrollo y usuario final.

Office, SharePoint, Visual Studio, Azure, Forefront, Expression, Silverlight, .Net Framework, SQL Server 2008 R2, SQL Azure y nuevos servicios Online.

Con este fin, MSDN y Technet Latinoamérica organizaron un evento virtual el 21 de Abril, en el cual nos mostraran todas las nuevas características de estos productos.

En lo personal voy a participar con una charla sobre todas las nuevas funcionalidades del Visual Studio 2010 y el .Net Framework 4.0 para el desarrollo de Smart Clients y como nos habilita para explotar las características de Windows 7®.

La inscripción al evento la pueden realizar en www.laeficienciaentusmanos.com

Adjunto el contenido de mi charla.

Versiones Microsoft® Windows® que finalizan su ciclo de vida en el 2010

En el 2010 cuatro (4) versiones de sistemas operativos Microsoft Windows® terminan su ciclo de vida. ¿Qué significa esto? Básicamente que Microsoft® no generará nuevas actualizaciones de seguridad para estas plataformas, y tampoco los tendrá en cuenta para los procesos de evaluación y compatibilidad en el lanzamiento de nuevos productos. Por ende, el consejo es que nosotros tampoco los tengamos en cuenta e iniciemos el proceso de migración o actualización de estas plataformas. Las versiones son:

  1. Windows 2000 Professional y Windows 2000 Server están aproximándose a cumplir 10 años desde su lanzamiento, y ambos productos saldrán de soporte a partir del 13 de julio de 2010.
  2. Windows XP fue lanzado en 2001. El soporte para el producto va a continuar, sin embargo, el Service Pack 2 sale de soporte el 13 de julio de 2010. A partir de esta fecha Microsoft® ya no proporcionará actualizaciones de seguridad para Windows XP SP2. Instale el Service Pack 3 para Windows XP. (http://www.microsoft.com/downloads/details.aspx?FamilyID=68C48DAD-BC34-40BE-8D85-6BB4F56F5110&displaylang=en)
  3. Finalmente, Windows Vista sin ningún Service Pack instalado terminará el ciclo de soporte el 13 de abril de 2010. Instale el Service Pack 2 para Windows Vista para que la plataforma de Windows Vista sea más segura y compatible.(http://www.microsoft.com/windows/windows-vista/default.aspx)
Como solucionar el error: Project Server Events Service and Queue Service Event ID: 7000

Sí en el  EventLog encuentra los siguientes errores:

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7009
Date: 9/7/2009
Time: 9:24:42 PM
User: N/A
Computer: PS07
Description:
Timeout (30000 milliseconds) waiting for the Microsoft Office Project Server Events Service service to connect.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7000
Date: 9/7/2009
Time: 9:24:42 PM
User: N/A
Computer: PS07
Description:
The Microsoft Office Project Server Events Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7009
Date: 9/7/2009
Time: 9:24:42 PM

User: N/A
Computer: PS07
Description:
Timeout (30000 milliseconds) waiting for the Microsoft Office Project Server Queue Service service to connect.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7000
Date: 9/7/2009
Time: 9:24:42 PM

User: N/A
Computer: PS07
Description:
The Microsoft Office Project Server Queue Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion
.

La solución completa y simple la puede encontrar en http://rperreaux.spaces.live.com/blog/cns!5D7BD18D324CBEEF!529.entry

 

{Activa} tu conocimiento - Workshop Desarrollo para Windows 7.
9 de febrero 2010
16 de febrero 2010
23 de febrero 2010
2 de marzo 2010

 

Durante los martes del mes de febrero (o sea desde hoy) vamos a dictar un ciclo de talleres orientados a desarrollar aplicaciones cliente que sean compatibles y exploten todas las ventajas de la plataforma Microsoft Windows 7®.

Para este fin vamos a basarnos en el "Windows 7 Training Kit For Developers" el cual pueden descargar aquí.

Pueden asistir de forma presencial en las instalaciones de Microsoft Bogotá, o pueden asistir de forma virtual. Para inscribirse y conocer los demás temas de logística, lo pueden hacer a través del portal de {Activa} Colombia, aquí.

Los espero!!!.

Activate - Windows 7 para desarrolladores

Los asistentes del evento del dia de hoy de Microsoft Colombia "Actívate", pueden obtener una copia de la presentación aquí, sobre desarrollo de aplicaciones para Windows 7.

Gracias Microsoft® por Windows 7™

Yo sé que desde este espacio, no todos consideren esta nota como algo imparcial. Sin embargo la escribo como el socio de una empresa de desarrollo de software que se ve obligado a adquirir continuamente hardware para los miembros de los equipos de desarrollo.

No voy a referenciar Benchmarks realizados por prestigiosas empresas o estadísticas de ventas (que entre otras cosas ya superaron las propias expectativas de Microsoft). Simplemente como una persona que puede experimentar como la inversión en hardware se ha maximizado y disminuido el costo de propiedad, gracias a la forma como Windows 7™ explota y utiliza los recursos de computo de las estaciones de trabajo.

Las personas que trabajan en esta estaciones (las cuales no fueron repotenciadas al momento de la migración a Windows 7®) me han manifestado que su experiencia como usuarios ha mejorado sustancialmente, en maquinas con 2 gigas de memoria solamente.

En mi caso, el primer semestre adquirí un portátil AMD x64 con 4gb de memoria, el cual traía instalado Vista Ultimate x64, y era frustrante sentir como la operaciones cotidianas congelaban la maquina y hacían pesado su desempeño. Vista calificó esta máquina como 3.6, apenas la actualice a Windows 7® Ultimate para x64, la calificación subió a 4.3, pero lo importante es que el rendimiento también subió exponencialmente. Hace poco tuve que preparar una charla, tenia abierto: Visual Studio 2008, SQL Server 2008, Camtasia Studio, LiveMeating y una maquina virtual, y aun podía seguir trabajando sin ningún problema.

Adicionalmente al rendimiento, debo manifestarme fan de la nueva Barra de Tareas, su facilidad de manejo y sobre todo las miniaturas de cada ventana de aplicación, resultan muy útiles a la hora de desarrollar software. Lo más importante, Windows 7® reafirma mi convicción que cualquier programa es factible de mejorarse, sin importar el grado de madurez en el que esté, si no me creen los invito a ver la Calculadora y se encontraran con un aplicativo totalmente renovado.

Mi especialidad no son los temas de plataforma y esta podrá se la reseña menos técnica sobre Windows 7® que hayan leído, simplemente tómenlo como la opinión de otro usuario más, espero que les sea de utilidad.

ScreenCast en Community Media Center

Como dirían las abuelas "no hay mal que por bien no venga". Gracias a la colaboración de Karina Leal y Sergio Victorio los videos de los screencast y webcast que he realizado se encuentran ahora publicados en el sitio web .

En este portal pueden encontrar videos sobre temas de desarrollo y plataformas Microsoft®, adicionalmente la programación de los próximos WebCast en vivo y la programación de los eventos presenciales para todos los países de la región latinoamericana. Por tratarse de expositores de la misma región todo el material y los eventos son en español y dirigidos a nuestras audiencias. Por estos días se encuentran realizando el concurso "Community Quest", pueden usar el link del banner de la derecha.

Aunque corregí cada link del blog, aquí una lista de los videos publicados:

Windows Presentation Foundation usando Microsoft Visual Studio 2008.
Windows 7- Creando proveedores de sincronización.
Administración del proyecto e ítems de trabajo.
Windows Comunication Foundation Y Typed DataSet.
Lleve su Aplicación Web al siguiente nivel con Minería de Datos.
Final del servicio Soapbox en MSN video

Antes de iniciar, agradezco a William por informarme que los videos de mi blog no estaban funcionando.

Desafortunadamente por temas de derecho de autor o simplemente de mercado, el portal de MSN videos tomó la decisión de cancelar de forma unilateral el servicio de publicación de videos para los habitantes de ciertos países. Quienes quieran conocer que países están excluidos de este servicio pueden dirigirse a las políticas de uso del portal en la siguiente dirección http://help.live.com/help.aspx?mkt=en-US&project=tou&querytype=keyword&query=coc#PU.

Para quienes han leído mi blog, saben que los ScreenCast que he publicado se encontraban en SoapBox y por ende todos los vínculos actuales están desactualizados. Estoy buscando un portal que me de la misma calidad de servicio, permitiéndome subir los videos completos, sin tener que partirlos en fracciones de 10 minutos. Si alguien tiene alguna sugerencia se los agradecería. Por ahora un poquitico de paciencia mientras soluciono el problema.

Consejo de Arquitectos - Cliente Liviano vs Cliente Enriquecido

Hola,

Para los asistentes al Consejo de Arquitectos sobre la selección de la interfaz correcta: liviana o enriquecida.  Aqui pueden obtener una copia de la presentación.

Sincronizando UpdatePanels

Partamos de lo básico, un control <asp:UpdatePanel> viene en las extensiones de AJAX para ASP.Net y tiene por objetivo marcar una región de la pagina web. Interactuando con el <asp:ScriptManager>, el UpdatePanel puede actualizar el contenido de esa región de la página en respuesta a un llamado realizado a través de AJAX. En su forma más simple, el UpdatePanel es capaz de tomar todos los eventos de los controles contenidos y convertirlos en llamados asincrónicos a través de AJAX. Este mecanismo reduce la cantidad de código en javascript a cero (0) y permite implementaciones rápidas de AJAX en sitios web donde los desarrolladores no son expertos en el tema. También es cierto que este no es la mejor opción en todos los escenarios y se debe utilizar de forma conservadora.

El principal problema de esta estrategia de programación está en sincronizar varios UpdatePanels que se encuentran en la misma página web.

Siguiendo el ejemplo de la imagen 1: se necesita que cada vez que se seleccione un nodo del árbol de la derecha (región roja) se muestre el nombre de la ciudad en el texto superior (región verde), y cada vez que se marque o se desmarque una ciudad del mismo árbol con un check, la ciudad debe alimentar la lista del grilla de la izquierda (región azul) .

Primero, la peor solución es encerrar todos los controles dentro de un único UpdatePanel, ya que esto desvirtúa una de las principales ventajas de usar AJAX , la cual es reducir la cantidad de información que viaja entre el cliente y el servidor para responder a un evento de usuario.

Segundo, deben analizar la funcionalidad implícita de cada control antes de incluirlos dentro de un UpdatePanel, por ejemplo, el árbol (TreeView) perite marcar y desmarcar nodos de forma implícita y para tal efecto NO debe realizar viajes entre el cliente y el servidor, por eso la región roja NO se encuentra dentro de un UpdatePanel. Adicionalmente, en caso de controles proveídos por terceros, deben revisar la documentación del fabricante para asegurarse que el comportamiento esperado del control no se vea afectado por el UpdatePanel. Todos los controles de última generación vienen con esta información técnica.

Ahora bien, las regiones se deben actualizar frente a diferentes eventos del árbol: OnNodeSelectionChanged para la región verde y OnNodeChecked para la región azul. Por tal razón no se puede dejar el comportamiento por defecto del UpdatePanel el cual "siempre" actualiza su región (léase: 'envía y recibe información') en cualquier acción de tipo AJAX. Es entonces que resulta necesario sincronizar la acción de los UpdatePanels dependiendo de las necesidades funcionales de la página.

Inicialmente, se debe asegurar que el ScriptManager habilite el rendering parcial de la página web:

<asp:ScriptManager EnablePartialRendering="true" ID="ScriptManager1" runat="server"></asp:ScriptManager>

 Es cierto que en la versión 3.5 de este control, la opción EnablePartialRendering viene en verdadero por defecto, pero….

Para la región verde, se necesita que el control de texto muestre el nombre del nodo seleccionado. Para tal efecto, esta sección se enmarca con un UpdatePanel, el cual tenga la opción UpdateMode en "Conditional".

Esta opción le indica al UpdatePanel que no debe enviar información en todas las operaciones de AJAX y que tampoco actualizará esta región siempre. La condición bajo la cual se actualiza esta región se especifica en la colección de "Triggers"

<asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
   <contenttemplate>
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
   </contenttemplate>
   <triggers>
      <asp:AsyncPostBackTrigger ControlID="UltraWebTree1" EventName="NodeSelectionChanged" />
   </triggers>
</asp:UpdatePanel>

 Existen dos clases de Triggers:

PostBackTrigger: En los cuales se indica cual control que se encuentre dentro de la región del UpdatePanel dispara la operación AJAX a través de sus eventos.

AsyncPostBackTrigger: Asocia la ejecución de la operación AJAX a un evento especifico (no a cualquiera) de un control que NO se encuentre dentro de la región del UpdatePanel.

Adicionalmente existe la propiedad ChildrenAsTriggers. Le indica al UpdatePanel que además de los Triggers configurados, los eventos de los controles contenidos en la región enmarcada se consideran para ejecutar operaciones AJAX.

En el ejemplo, la región enmarcada en verde, se debe actualizar frente al evento NodeSelectionChanged del árbol y no debe ejecutarse ninguna operación AJAX frente a PostBack realizados por los controles internos, en este caso un label.

Para la región azul, se cambia la propiedad ChildrenAsTriggers a verdadero con el fin de permitir que los eventos ejecutados por la grilla interna también se ejecuten a través de operaciones de AJAX.

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="True" UpdateMode="Conditional">
   <triggers>
      <asp:AsyncPostBackTrigger ControlID="UltraWebTree1" EventName="NodeChecked" />
   </triggers>
   <contenttemplate>
      <igtbl:UltraWebGrid ID="UltraWebGrid1" runat="server" Height="100%" Width="100%"

 En conclusión, el UpdatePanel es una poderosa estrategia que habilita rápidamente a los equipos de desarrollo a implementar estrategias AJAX dentro de sus aplicaciones web, sin embargo, es necesario ahondar en todas la opciones diferentes a las utilizadas por defecto para lograr un equilibrio en las páginas y un desempeño optimo de la aplicación.

Workshop de Linq (.NET Language-Integrated Query)

Te invitamos a que participes de nuestro Workshop de Linq (.NET Language-Integrated Query) una tecnología que típicamente se usa operaciones con base de datos, lo cual está dejando a un lado una de las más grandes ventajas del uso de Linq como una tecnología que permite la realización de consultas sobre estructuras de datos y conjuntos de objetos. Ven y particip de nuestro Workshop para sacarle más ventajas a esta potente tecnología

 

MARTES 9 DE JUNIO, 6:30PM

¡Regístrate Ya!

Registrarse Evento en línea

Registrarse Evento Presencia

Posted: Fri, Jun 5 2009 0:26 by Jaimir Guerrero | with no comments
Filed under:
Desarrollar aplicaciones y servicios Web a gran escala

El equipo de Event Production de Microsoft MSDN & TechNet para América Latina, me invitó a dictar un webcast sobre la manera que Microsoft SQL Server 2008 y otros servicios de plataforma de datos le ayudan a crear su arquitectura y desarrollar sus aplicaciones para lograr gran rendimiento, baja latencia y alta disponibilidad, además de predecir el rendimiento y el costo total. Los interesados en el evento se pueden conectarse y compartir sobre los últimos adelantos en esta área.

Actualización:  Como el evento ya paso pueden bajar el video utilizando el mismo URL.

 URL del Evento: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032407066&Culture=es-AR

Fecha: el 2-jun-2009 a las 3:00:00 PM (GMT -5).

Antes de conectarse les recomiendo los siguientes sitios para asegurar que su computador tenga la configuración necesaria:

  1. Descarga cliente Live Meeting 2007
  2. Ayuda Live Meeting 2007 (Inglés)
  3. Recomendaciones con Live Meeting 2007  
More Posts Next page »