MSDN Blogs
  • WarNov Developer Evangelist

    Stairway to Azure 4: Hello Azure

    • 8 Comments

    Ya vimos en este post los conceptos de Software as a Service (Saas), Software + Services (S+S) y Plataform as a Service (PaaS) y de cómo Windows Azure es la alternativa que Microsoft nos ofrece para desplegar este tipo de conceptos que lideran hoy el desarrollo del software.

    En este otro post vimos toda la teoría acerca del funcionamiento de Windows Azure y los conceptos sobre los cuales se construye.

    Pues bien, ya con esto en nuestro conocimiento, hoy les traigo ya para que comencemos de lleno, un video que nos muestra cómo comenzar a programar para Windows Azure y cómo desplegar nuestras aplicaciones en la nube, sobre este esquema.

    Para poder hacer este despliegue, es necesario tener una cuenta en válida en Windows Azure, que nos permita hacer deployment de aplicaciones.

    Aunque lo más obvio y normal es que estas cuentas tengan un costo, hasta el mes de Julio de 2010 tenemos una promoción que nos permite probar la plataforma bajo ciertas restricciones y de manera gratuita.

    Las Cuentas:

    En el siguiente video les muestro como aprovechar esta promoción, para adquirir una cuenta válida:

    Links mencionados en este video:

    El Desarrollo:

    Luego de que tengamos nuestra cuenta, podemos proceder a crear y publicar nuestras aplicaciones en la nube, tal como se muestra en el siguiente video (si no tenemos una cuenta, el video también es útil para aprender a programar para Azure, pero no tendremos la posibilidad de publicar la aplicación):

    Muy bien, espero que con este par de videos, se animen para comenzar a ser productivos con Windows Azure. Ya vendrán más videos con los que les mostraré aplicaciones más avanzadas.

  • WarNov Developer Evangelist

    Hablar Ilimitadamente usando el plan de datos del Celular

    • 3 Comments

    Hoy un amigo aquí en la subsidiaria me compartió esta valiosa información al respecto:

    Loudtalk Site

    “Para quienes tienen plan de datos ilimitado o WiFi en su celular (y puedan acceder a Internet) y sus minutos de voz sean limitados, les presento esta aplicación que les permitirá hablar con un compañero de la siguiente forma:

    - De celular a celular

    - De celular a PC

    - De PC a PC

     

    NO IMPORTA DE QUE OPERADOR CELULAR SEAMOS, PUEDEN HABLAR ILIMITADAMENTE!!!

    La aplicación se llama Loudtalks y emplea el concepto denominado Push To Talk (PTT), parecido al servicio que tienen los Avantel, la cual permite emplear el canal de datos para enviar la voz (Voz/IP), a algunos de Ustedes les he hecho la demostración, esta es la última versión que han liberado.

    La aplicación tanto para el Windows Phone como para el PC es gratuita

    Adjunto el instalador para el celular (copiar en el equipo y luego ejecutar el instalador) y el link para quien desee instalarlo en el PC http://loudtalks.com/download/

  • WarNov Developer Evangelist

    Mayo en Colombia y LATAM, es de Windows Phone 7

    • 2 Comments

     

    Windows Phone 7

    Como ya lo describí en el review de mi anterior post, Windows Phone 7 es todo un nuevo mundo para las aplicaciones móviles, que aparte de ser tan novedoso, nos da la gran ventaja de aprovechar lo que ya sabemos para construir aplicaciones orientadas a esta plataforma. Es así como si ya sabemos Silverlight o XNA, ya sabremos el 70~80% de lo requerido para programar en Windows Phone 7 (WP7).

    En todo caso, la web está llena de recursos para aprender de esta tecnología. Me permito aquí citar algunos recursos que nos ayudarán < salir adelante con aplicaciones para WP7:

    Para desarrollar todo esto, tenemos numerosas herramientas y lo mejor de todo es que hoy en día, la mayoría de ellas están gratuitas.

    Por ejemplo, tenemos totalmente gratis:

    Visual Studio 2010 for Windows Phone

    También en forma gratuita, tenemos el RC de Blend 4.0, que nos permite crear interfaces de usuario realmente impactantes:

    Expression Blend

    Para poder trabajar con Blend 4.0 RC para Windows Phone 7, es necesario instalar:

    También es necesario instalar las herramientas de desarrollador que si además tenemos instalado Visual Studio 2010 RTM, nos lo dejan listico para programar WP7. Hasta hace dos días, no podíamos programar WP7 en el RTM, pero con esta descarga, ya es posible:

    Windows Phone Developer Tools CTP - April Refresh

    Esta última descarga incluye Visual Studio 2010 Express for Windows Phone. Así que no sería necesario descargarlo.

    Con todo eso, no queda más que poner manos a la obra y comenzar a aprender. Para más recursos, vamos al portal oficial de WP7:

    Windows Phone Developer Portal

    Pero un momento!

    Es todo para nosotros desarrolladores colombianos y latinos?

    No!

    By: Javier Cáceres He organizado junto con nuestro nuevo MVP en desarrollo para móviles: Javier Cáceres un conjunto de workshops y capacitaciones para aquellos que prefieren aprender con un tutor.

    Así es como en todo Mayo, en las instalaciones de Microsoft tendremos cada martes una sesión de Workshop en la que Javier nos estará enseñando acerca de WP7. A estas sesiones también podrán asistir de manera online a través de Live Meeting.

    La agenda es la siguiente:

    • 04/Mayo Introducción a la Plataforma Windows Phone
    • 11/Mayo Arquitectura de Windows Phone
    • 18/Mayo Desarrollo de aplicaciones para iPhone en .Net
    • 25/Mayo Distribución de apps y juegos para Windows Phone

    Para ver los detalles de cada workshop y registrarse para asistir presencial u online pueden visitar: http://www.microsoft.com/colombia/activa/activa_conocimiento_desarrollo.aspx

    Habrán otras 4 sesiones que son webcast en el horario de 08:00PM a 09:00PM (GMT-5) a los cuales pueden asistir solo a través de Live Meeting. Los temas y enlaces a LiveMeeting de los webcasts son:

    • 05/Mayo: Navegación en el Windows Phone: En esta sesión se mostrará la navegación y los controles de la plataforma Windows Phone. Click aqui.
    • 12/Mayo: Silverligth para Windows Phone: En esta sesión se mostrará como reutilzar el conocimiento de Silverligth para desarrollar en Windows Phone y la integración con otras herramientas. Click aquì.
    • 19/Mayo: Servicios de la Plataforma Windows Phone: En esta sesión se mostrarán las implicaciones en cuanto a botones, barra de aplicaciones y demás consideraciones de la platafoma. Click aquí.
    • 26/Mayo: Windows Phone 7 Data Binding: En esta sesión se mostrará cómo hacer enlace a datos e integraciòn con LINQ. Click aquí.

    Para finalizar, Javier nos comenta:

    Javier Cáceres (MVP Windows Mobile) Para que se vayan preparando les dejo: este artìculo http://tinyurl.com/39wfgto, este foro en el cual pueden preguntarme cualquier duda sobre Windows Phone 7 en inglés http://tinyurl.com/ASKjacace, este foro en español http://tinyurl.com/WP7esp y mi cuenta en twitter @jacace

     

    Agradezco mucho a Javier por su colaboración, y los espero en nuestros eventos. WP7 en nuestras manos!

  • WarNov Developer Evangelist

    Acceso a DB desde móviles con LINQ to DataSets

    • 0 Comments

    Se está volviendo algo tradicional tener invitados a mi blog a los que agradezco mucho su colaboración a través de posts bastante buenos. Espero sea una costumbre semanal.

    En este caso se trata de Jorge Ramírez quien nos comparte un video genial para quienes están iniciándose en el desarrollo de aplicaciones móviles y desean conectarlas a bases de datos. Además, con el valor agregado del uso de LINQ en este caso! Disfrútenlo!

  • WarNov Developer Evangelist

    El mayor evento para desarrolladores en Colombia 2010

    • 1 Comments

    Es un evento que se llevó a cabo el día del 26 de abril en el hotel Sheraton de Bogotá.

    Dividido en tres tracks: Developers, Architects y ITs. En cada track tuvimos tres sesiones y un keynote al iniciar. El cierre estuvo a cargo de:

    El señor Steve Ballmer. Presidente Mundial de Microsoft, de quien fui telonero junto con Ruben Sánchez (Education Lead de Microsoft Colombia) con nuestra charla de Windows Azure, que se lanza oficialmente en Colombia.

    Antes de esta charla, en nuestro track de desarrollo, estuvimos viendo lo último de Silverlight 4 con Rodrigo Díaz Concha, y antes de esto, el lanzamiento de Visual Studio 2010 a cargo del mexicano también Guillermo Serrato.

    Estos fueron los detalles de las charlas en el track de desarrollo:

    Visual Studio

    Fue una charla plenamente orientada al lanzamiento, con cinco demos que se harán en el transcurso de la misma:

    a. Stay in the zone: Mejoras del producto para que el desarrollador no tenga que salir fuera de VS para conseguir lo que necesita para trabajar. Esto incluye mejoras de la interfaz, Extension Manager y Code Snippets.

    b. Windows7 Dev: VS2010 permite crear aplicaciones para aprovechar todas las mejoras que Windows7 tiene de manera rápida. Esto incluye soporte multitouch, ribbon, animaciones…

    c. Sharepoint Dev: Las nuevas herramientas de Visual Studio para ayudar a desarrollar sobre esta plataforma tan popular

    d. Phone+Azure: Herramientas para crear aplicaciones de Windows Phone Series 7 con Silverlight y utilizar servicios en Windows Azure para que tu aplicación se conecte con otros usuarios.

    e. Team Collaboration: Mejoras para la colaboración del equipo, esto incluye, Team Foundation Client como parte de VS profesional además de Team Explorer en la web, diagramas de arquitectura para entender el código que otros desarrolladores escribieron, utilizar información recolectada automáticamente por los testers para corregir defectos en el código y nuevas gráficas creadas automáticamente para visualizar el progreso del equipo

    Prepárense para la charla

    Experiencias de Usuario Enriquecidas

    a. Vimos como con nuestras tecnologías podemos usar otras tecnologías existentes como Facebook y Twitter para generar mejores experiencias de usuario.

    b. Photobooth: Aquí observamos una aplicación enriquecida que permite manejar los periféricos de nuestros equipos para tomar fotografías, editarlas y guardarlas.

    c.  La experiencia de usuario no solo va para PCs. También funciona en teléfonos: Windows Phone 7 Series!

    Material Técnico

    Plataforma de Servicios en la Nube (Azure)

    a. Qué es y por qué Cloud Computing? Cuál es la razón por la cual deberíamos interesarnos en esta tecnología.

    b. Ventajas de la Oferta Microsoft para el Cloud Computing!

    c. Demostraciones de todo lo que podemos lograr con Windows Azure y Visual Studio!

    Material Técnico

    El cierre de Steve Ballmer

    Aquí los dejo con unos extractos del cierre de Steve Ballmer en video!

    Developers, Developers, Developers!!!


  • WarNov Developer Evangelist

    Será Mono tan bueno como lo pintan?

    • 7 Comments

    Artículo Mono

    Cuando uno anda de pleno en el social media, siempre encuentra comentarios que llaman mucho la atención.

    En esta ocasión, alguien dijo que había hecho unas pruebas en mono y su performance no le había gustado.

    Desde épocas de la universidad no usaba mono. Pero en lo recuerdo, se comportaba perfectamente.

     

    Así que aproveché para darme una actualizada en el asunto, sobretodo aprovechando que ya tenía contacto con Miguel de Icaza, gestor de la plataforma (brillante a mi modo de ver).

    Así que en una charla con Miguel, tuve la oportunidad de preguntarle acerca de los casos que para él eran las joyas de la corona de mono y de esa manera poder citar estos ejemplos para mostrar que si mono  no tuviese buen performance, pues no lo estarían usando. Como mencioné hasta donde usé mono siempre se comportó bien.

    No solo hablamos de productos de usuario final como tal, sino también de aplicaciones de ámbito empresarial.

    F-Spot

    image

    Se podría decir que es como un Picassa que con todas sus características hace de  la administración de fotos personales algo muy sencillo! Puede importar fotos de diversos dispositivos, editarlas, subirlas a un repositorio, etc. Y todo con C# y mono!!! Y el performance experimentado no estuvo para nada deficiente.

    Banshee

    image

    Para los que estuvimos en el mundo Linux hace unos buenos años, encontrar un aplicativo como este para reproducir nuestros archivos multimedia era algo bastante complicado. Pero hoy, gracias a Mono se ha podido desarrollar Banshee. Permite la sincronización con iPod, Android y otros dispositivos. Esto nos permite comprobar el poder del concepto .net en Linux.

    Pinta

    image

    Como su nombre lo indica, es para pintar. Hace algunos meses me hice fanático de paint.net. Un excelente editor de bitmaps (y fotografía) surgido hace algunos años como proyecto universitario creado con C# para Windows, que hoy en día es el mejor reemplazo para el tradicional Paint de Windows, ya que incluye efectos, manejo de capas, herramientas de clonado, lazo mágico, plugins  y demás, que lo hacen parecer un Photoshop light muy fácil de usar (de hecho, les cuento que la primera imagen de este post, la edité usando Paint.Net y la terminé en 3 minutos. Además es freeware!). Pues bien, Pinta está basado en Paint.Net. Tanto así, que mucho del código de Pinta es el mismo de Paint.Net. Solo que compilado sobre mono. Y en el mundo Open Source, tiene rendimientos iguales e incluso mejores que Gimp.

    Deki

    Deki es un Wiki enfocado a servir como entorno de colaboración especialmente de desarrolladores. Y me permito citar la opinión al respecto de Mike Shaver, jefe de los evangelistas de Mozilla:

    “Mozilla tiene un gran volumen de información relevante para los desarrolladores que va desde la documentación de código tradicional y código de ejemplo, hasta suites de pruebas y datos de rastreo de errores, así como de discusiones y streams RSS. Nosotros estábamos buscando un sistema que nos diera las herramientas para combinar y re mezclar todas esas fuentes de datos de manera creativa y Deky Wiki está diseñado con esa meta en mente”

    Deki fue desarrollado por MindTouch. Una compañía muy reconocida por su gran trabajo sobre mono en la producción de Wikies, Web 2.0, Mashups y en general la creación y administración de contenido. En general, usan C# para el componente de negocio y para hacer una interfaz gráfica muy fácil de personalizar, usan PHP, que está adquiriendo también mucho peso en las tecnologías Microsoft, que ya lo soportan (SqlServer, Visual Studio, IIS, Azure, Expression Web…).

    Conclusión

    .net sí funciona en Linux. Y de hecho ha permitido a la comunidad Open source acceder a un entorno de desarrollo ágil y robusto que permite lograr productos como los anteriormente mencionados. Además la interoperabilidad intrínseca de .net, ha permitido trabajar de la mano con otras tecnologías y hoy día es tanto el avance, que el framework se ha extendido hasta a los celulares, incluido el IPhone de Apple. Y esto ha tenido tanto éxito, que hay toda una gran comunidad de desarrolladores sobre mono trabajando y sacando provecho de estas ventajas. Hasta Silverlight tiene su versión para Linux gracias a Moonlight!

    Sin embargo no todo es perfecto y hoy día algunas características no se han podido mapear correctamente, tal como el renderizado de Silverlight usando la aceleración de hardware nativa de la máquina (tal como lo describían en el comentario que dio origen a este post). No obstante, hablando con Miguel de Icaza, precisamente me comentó que en adelante el mayor enfoque de su trabajo iba a ser MVC y Entity Framework para mono y por supuesto alcanzar a Silverlight 4. Así que solo es cuestión de tiempo. Lo importante es que .net sí trabaja bien en Linux. Es más, ya empresas como Novell han creado importantes herramientas e IDEs que le dan aún muchas más facilidades a los desarrolladores. Entre ellas, Mono Tools for Visual Studio; como lo muestro en este post.

    IMG_8005Ya para cerrar, quisiera unirme a la inconformidad sentida por la comunidad mono ante la decisión de Apple de impedir en el futuro que sobre su IPhone puedan correr aplicaciones que no ejecuten código nativo directamente. Cerrándole las puertas no solo a .net sino también a Flash y obviamente a Java. Me pregunto que hará que los fans de Apple ante decisiones como estas o productos como el IPad que no dejan ni tomar una foto, sigan inmutables y encantados…

    Me encantaría saber sus opiniones al respecto y también resolver las dudas que tengan al respecto. Siéntanse libres de comentar!! Interoperamos!



  • WarNov Developer Evangelist

    UserControls y TreeView

    • 0 Comments

    (Un ejemplo de cómo ASP.NET tradicional sigue siendo útil.)

    Hace poco en mi foro, Julio Avellaneda me preguntaba acerca del mecanismo para ofrecer una interfaz de usuario muy interactiva. Luego de varias disertaciones, se llegó a la conclusión que lo mejor era hacer una implementación con UserControls.

    A continuación, el mismo Julio invitado por mí, nos explica lo sucedido:

    “Hola a todos, este es un pequeño ejemplo el cual quiere mostrar una forma de como usar usercontrol en asp.net, la vez pasada, se me planteo una situación en la cual, un usuario podría tener desde 1 hasta unas 50 opciones disponibles en una página, pero debería simular o hacer sentir al usuario que todo se encontraba en la misma página, además que debía poder guardar los datos digitados en una opción o sección apenas se cambiará a una nueva.

    Mirando ese pequeño planteamiento, lo primero que se me ocurrió fue usar tabs al estilo de jquery, opción que fue eliminada, ya que debía tener todo el código en la misma página, y luego comenzar a ocultar divs y así sucesivamente, luego se me ocurrió crear diferentes páginas, una para cada sección, tener un iframe el cual me iba a alojar la página, opción que funcionaba, sin embargo no podía hacer el guardado al cambiar de sección.

    Luego de mirar algunas opciones más, opte por usar controles de usuario, y en mi página principal tener un multiview, el cual va a tener un view por cada sección, y así desde codebehind solo me es necesario cambiar el view activo, además, por ser controles de usuarios, en cada control puedo declarar métodos públicos los cuales puedo llamar desde otra página….

    Lo importante a tener en cuenta, es que cuando se carga la página principal se carga, mis controles de usuario también lo hacen, por este motivo, lo mejor es no hacer ningún tipo de carga en el load del control de usuario, sino tener un procedimiento público el cual se llame cuando necesito ese control de usuario.

    Para hacer el llamado de cada sección, creo un treeview, donde cada nodo mostrará una sección diferente... “

    clip_image002

    Pueden descargar un ejemplo acá !



  • WarNov Developer Evangelist

    TaskCleaner: Velocidad en su sesión (Improving Windows Performance)

    • 0 Comments

    Supongo que como yo, en ocasiones han sentido la necesidad de que su computador corriera como si estuviese recién formateado.

    Hay muchos trucos y tips por ahí para incrementar el performance. Unos sencillos y otros tan complejos como comprar e instalar un arreglo de discos.

    Mi solución se basa en aquella que nos recomienda entrar al archivo de configuración de carga de servicios al inicio de Windows. Pero siendo este un mecanismo muy intrusivo que provoca incluso luego mensajes molestos, también tiene la desventaja de que SIEMPRE estará desactivando esos procesos y puede que eso no sea lo que queramos.

    Mi acercamiento se basa en tener unos archivos que tengan los procesos que uno no quiera ejecutándose y un programa que revisa el archivo deseado y elimina todos los procesos que estén en ejecución. Así pues, sólo se desactivaran los procesos que uno quiera cuando quiera y sin tener que ir a eliminarlos uno por uno en el task manager. Su nombre, TaskCleaner:

    Clean (2)

    La clave del algoritmo está en dos sencillas líneas que usan unos simples mecanismos que nos provee el Framework.net:

    Process[] processes = Process.GetProcessesByName(processName.Trim());
    y
    process.Kill();

    accedemos a este código a través de la inclusión:

    using System.Diagnostics;

    La idea general de mi aplicación entonces es cargar el archivo deseado, convertir su contenido en un arreglo de string donde cada entrada es el nombre (sin extensión) de uno de los procesos a eliminar (por ejemplo msnmsgr). Luego iterando sobre ese arreglo, se “matan” todas las instancias de ese proceso dado y así vamos liberando recursos de la máquina.

    Al final el aplicativo nos suministra un reporte en el que nos indica qué procesos fueron eliminados correctamente, cuáles no se dejaron eliminar (procesos de sistema por ejemplo) y cuáles no se encontraron (pues puede que la lista que hayamos hecho tenga procesos que actualmente no están en ejecución).

    He de decir que el desarrollo fue muy sencillo sobretodo gracias a LINQ que me permitió obviamente y sin problemas hacer consulta sobre el estado de los procesos. Además un claro manejo de excepciones, me permitió determinar cuando se pudieron eliminar los procesos y cuando no.

    Para que la aplicación pueda eliminar todos los procesos que tengamos en nuestro archivo, es necesario ejecutarla con privilegios de administrador; de lo contrario puede que un par de procesos no se deje desactivar. Sin embargo esto no rompe el aplicativo, sino que sencillamente se reporta en el log.

    Cómo crear el archivo de procesos no deseados?

    Es muy sencillo. Solo basta inspeccionar el TaskManager y de allí tomamos el nombre de los procesos que no queremos:

    image

    Eso sí, teniendo en cuenta NO incluir las extensiones, pues el framework busca sin extensión. Entonces en este ejemplo, sencillamente prepararíamos un archivo con el siguiente contenido:

    • babylon
    • flashutil10e
    • orbitnet
    • tweetdeck

    Y ese sería el que cargaríamos con nuestro aplicativo:

    image

    Acto seguido, damos click en “Kill Processes” y voilà!

    Este aplicativo es OpenSource y lo pueden encontrar en http://taskcleaner.codeplex.com



  • WarNov Developer Evangelist

    Java vs. .NET

    • 40 Comments

    Estaba revisando mi Facebook y por allá alguien dijo a propósito de la salida de su creador James Gosling de Oracle:

    “Es que Java le lleva mucha ventaja a .NET!”

    OMG!

    Abrió la caja de pandora… y entonces comenté algo similar a lo siguiente, dado que soy NINJA (Not INcluding JAva):

    En lo personal me parece que decir que Java le lleva ventaja a .NET, ni siquiera aplica.
    Java es solo un lenguaje. Más bien tendríamos que comparar JDK con .NET aunque tampoco me parece muy apropiado...
    .NET es toda una tecnología.
    Una tecnología basada en código administrado.
    En eficiencia;
    en productividad
    en hacer todo desde un solo lugar.
    En confiar en un solo esquema de librerías bien conocido, documentado y creado bajo los mismos principios.
    Alguién más apuntó:

    “…he programado en los dos lados y eso de que java le lleva a .net mucha ventaja lo discuto.. JAVA cambia sus paradigmas a toda hora… o será muy fácil pasar de EJB 2 a 3 o integrar plugins y librerías en Eclipse: Algo así EJB 2.0 Hibernate jax-ws y jboos 5… eso es un show con una pila de errores que a veces ni idea y después te das cuenta que solo era por una versión menos de alguna librería x ... en fin Calidad de vida mata Esquizofrenia(enfermedad generada por apagar el modo NINJA)…”

    No tengo que importar paquetes extraños. Todo me lo resuelve el IntelliSense.
    Aún SDKs de Javascript tan robustos como JQuery se resuelven en segundos y me dejan programar a la velocidad del.. hum... sí.. del programador .NET... que sin ser exagerado caballeros, siempre será más alta que la de java. A .NET no le gusta "echar pedal" (y no mencionemos la velocidad de ejecución).”


    Pero Java es multiplataforma!


    Y .NET no? Solo hablemos de Mono y ya. O de Silverlight que ahora me permitirá correr la misma aplicación en Linux,. MAC o Windows en modo full trust out of browser o en otras palabras, en modo escritorio... Y me pregunto... cuándo con Java podremos crear algo aunque sea ligeramente parecido a Silverlight? A WPF?


    Además, pienso que la interoperabilidad no es correr sobre todos los sistemas operativos (cosa factible con .NET) Sino más bien la capacidad de interoperar con otras aplicaciones existentes... y .NET está super preparado para esto con WCF que hoy día da amplias capacidades de interconexión comenzando por REST, JSon, OData, y los otros viejitos como SOAP, WSDL...


    Pero Java es gratis!!!


    Y .NET no? Toda la especificación de .NET es abierta. Y tenemos herramientas altamente sofisticadas y SOPORTADAS que son free... si no, pregúntenle a las versiones Express de Visual Studio.
    Existe también el sitio http://codeplex.com donde miles de desarrolladores comparten su código de manera OPEN SOURCE y se encuentran proyectos geniales de código libre.

    Pero Java es Java!!!


    Sí... los programadores se enorgullecen de saber Java... no digo que sea malo... por el contrario rescato la idea original que se tuvo de la JVM y del código administrado y del lenguaje altamente formal y completamente orientado a objetos que en gran parte le dieron vida a mi amado C#...

    Pero C# pertenece a .NET y .NET es una cosa con vida propia que permite crear nuevos lenguajes orientados a su funcionalidad (F#, IronPython, IronRuby. APL.NEXT) y además permite la inclusión de elementos avanzados como expresiones lambdas, métodos y clases parciales, métodos extendidos, LINQ, lenguajes dinámicos, automatización en la generación de capas de datos, de negocio y hasta de interfaz de usuario; MVC, Entity Framework, Cloud Services desde su proyecto en Visual Studio derechito pa’ la nube…

    En integración transparente con Office, con XNA para hacer videojuegos, con Robotics, con Sharepoint, Biztalk y servidores de DB de toda índole. Con todo eso un simple Enterprise Library (lo que más se compara con la mega colección de paquetes de Java) no es nada… es solo una pequeña porción de todo lo que tiene .NET. Sin olvidar el poderoso C++ que aún está disponible para ejecutar aplicaciones que realmente vuelan porque no son administradas. Además hoy día tenemos librerías específicas para hacer programación en paralelo y hypercomputing sin necesidad de hacer un curso para usarlas! en fin... esta cajita de pandora llamada .NET, me daría para escribir un montón de líneas más....


    Para estos días que estamos de lanzamiento de la nueva ola de nuestra plataforma: Visual Studio 2010 (que además ahora incluye modelamiento UML y un manejo de arquitectura que ni en mis sueños me imaginaba) .NET Framework 4.0, Silverlight 4.0, Sharepoint 2010, Windows Azure para Colombia y muchos otros... podría decir que en mis años de experiencia con .NET jamás había presenciado una oleada tan grande de innovaciones que nos va a permitir verdaderamente desarrollar todo nuestro potencial antes de tener que pelear para únicamente mostrar un botón en la interfaz gráfica…

    Y ahí terminó la discusión… luego Willy remató con un brillante chascarrillo acerca del asunto:

    Michael Schumacher llega a casa después de un duro día de entrenamiento en el circuito.
    Su mujer le recibe con un beso y le pregunta:
    - "¿Cómo ha ido hoy el día, cariño?"
    - "Bueno, cuando he llegado al circuito, he ido a boxes y el F1 no estaba en su sitio. En su lugar había un burro."
    - "¿Cómo?", se sorprende la mujer.
    - "Si, así es. Le he preguntado al jefe de equipo y me ha confirmado que habían cambiado el monoplaza por el burro."
    - "¿Y tu que le has contestado?"
    - "Pues yo le he dicho que quizás no seria tan rápido como el F1. Él ha dicho que ciertamente es así, pero que ahora tenemos una ventaja y es que podremos correr en todo tipo de circuitos: F1, rally, motocross, trail sin... Y bueno, al menos hoy he podido venir montado en él hasta casa, cosa que no podía hacer con el F1."
    - "Ya. Pero si tu sólo corres en F1, ¿para que quieres poder correr en otros circuitos?"
    - "Pues no lo se, la verdad. Además, después de montarme en el burro le he dicho al jefe de equipo que no era ni la mitad de cómodo que el monoplaza."
    - "¿Qué ha respondido el?"
    - "Simplemente ha dicho que eso no importa porque ahora podemos correr en todo tipo de circuito."
    - "¡Ay Señor!, ¿Y no corres más riesgo de hacerte daño si te caes?"
    - "En realidad no, porque le han puesto al burro las mismas protecciones que tiene la cabina del F1. A pesar de que hace que todavía vaya un poco mas lento. Según el jefe eso ya no tiene tanta importancia, porque ahora podemos correr en todo tipo de circuito."
    - "Esta bien, enséñame el burro."
    Tras salir al jardín y quedarse estupefacta con la imagen de un burro pintado de rojo, con el escudo de Ferrari pegado en la frente y una protección de F1 encima de la silla de montar, la mujer le pregunta a Michael:
    - "¿Y como se llama el animal?"
    - Se llama ....
    - Se llama ....
    - Se llama ....
    - Se llama ....
    - Se llama ....
    - Se llama ....
    JAVA !!!!!!!!
    X-DDDDD
    Según apunta Willy además no es cierto que Ferrari use Java. Los leguajes oficiales para desarrollo en el equipo Ferrari son VB.NET y C++, tal y como se indica en una entrevista concedida a CNET NEWS"
    http://tiny.cc/42f73

     image

    Y ahora otro más cortesía de @Caycedo:

    - Knock Knock...
    -Who's there?
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    - Java!
    :P

    A lo cual le agregué el siguiente escenario (un poco más abstracto):

    Knock Knock...
    -Who's there?
    -Dont worry, I'm Just Leaving
    (espero aquí sepan de quien estoy hablando)

     

    .NET Rocks!!! Felices lanzamientos 2010!!!

  • WarNov Developer Evangelist

    6 Capítulos de programación para Windows Phone 7 Gratis!!!

    • 0 Comments

    Para hoy les traigo este excelente draft - preview del libro “Programming Windows Phone 7 Series” escrito por el señor Charles Petzold (han de haber visto su nombre en la portada de muchos libros de MSPRESS)

    clip_image002

    Son seis capítulos que nos dejarán listos para programar cualquier tipo de aplicaciones en Windows Phone 7 Series!

    Disfrútenlo!



  • WarNov Developer Evangelist

    La nueva Eficiencia está en tus manos!

    • 0 Comments

    clip_image003

    Se trata de nuestro evento virtual de lanzamiento para Latinoamérica de 11 Productos!!!

    clip_image001

    clip_image002

    Tendremos webcasts y charlas en vivo con expertos de todo el continente.

    Personalmente estaré resolviendo sus dudas de Windows Azure desde la perspectiva de desarrollo a las 10am hora Colombia (GMT-5).

    También estaremos tratando temas relativos a Office 2010, SharePoint 2010, Visual Studio 2010, .Net Framework 4, SQL Server 2008 R2, Silverlight 4, etc.

    Regístrense haciendo click en la imagen!!!



  • WarNov Developer Evangelist

    Imágenes Link sin Borde Alrededor

    • 0 Comments

    Añadiendo un widget de twitter a mi blog, observé lo siguiente:

    image

    Como observan, se le pinta el borde azul típico de los hyperlinks. Cosa bastante molesta, más aún cuando la gente ya sabe que eso es un link.

    Lo que yo quería era algo así:

    image

    Después de investigar solo un poco, encontré una sencilla solución:

    Solo hay que agregar

    BORDER=0

    al tag

    <IMG ..>

    Así pues un ejemplo completo sería:

    <A HREF="http://warnov.com/dblog/"><IMG SRC="blog.gif"
    BORDER=0 HEIGHT=33 WIDTH=82 ALT="Visita mi Blog"></A>


  • WarNov Developer Evangelist

    Modificando el ancho de los ScrollBars en WindowsForms

    • 0 Comments

    Hace poco en mi foro me preguntaron acerca del mecanismo para modificar estos ScrollBars por ejemplo en un grid de WindowsFors…

    Primero, una mala noticia:
    El tamaño del scrollbar en aplicaciones Windows, independientemente de qué tecnología de programación se use para presentarlo, tiene un tamaño cuyo valor es una variable global del sistema. Es por esto, que no es posible modificarlo programáticamente. Si así lo hicieras, entonces TODOS los scrollbar de windows se modificarían y por tal motivo, esa opción no está disponible en el framework.

    Ahora las posibles soluciones:

    1. Cambiar en la personalización de Windows el tamaño de los scrollbar. Esto sería una buena idea, dado que todo el sistema está destinado para ser TOUCH. Al menú accedes dando click derecho sobre el escritorio, etc…
    2. Cambiar la aplicación a WPF: Para mí la mejor elección. Sobretodo dado que una interfaz touch tiene una interacción especial con el usuario. WPF está enfocado a permitir generar experiencias de usuario sofisticadas.
    3. Hacer el control en WPF y embeberlo dentro de un Panel de la aplicación WinForms: Esto si no quieren pasar todo a WPF. Aquí información de cómo hacerlo:
      http://msdn.microsoft.com/en-us/library/ms742215.aspx


  • WarNov Developer Evangelist

    Un mes de Windows Azure gratis para su aprendizaje

    • 0 Comments

    Si quieren aprender Windows Azure a su propio ritmo y con cuenta de Windows Azure, les tengo un pase especial por hasta un MES gratuito de Sql Azure y Windows Azure.

    NO SE REQUIERE TARJETA DE CREDITO!!

    Pueden iniciar el campamento en cualquier momento y podrán disfrutar de los servicios gratuitos hasta finalizar cada mes.

    Pasos a seguir:

    1. Para acceder a este beneficio, obtengan su pase aquí. Y luego entren al Portal de Desarrollo de Windows Azure con el pase obtenido.
    2. Descarguen las herramientas de Windows Azure para Visual Studio.
    3. Aprendan
      1. Aquí cómo crear su primera aplicación Windows Azure y súbanla con el pase obtenido.
      2. Entren rápidamente al mundo Windows Azure observando estos seminarios rápidos
      3. Aprendan Windows Azure a profundidad: Windows Azure Platform Training Kit

    Ánimo antes de que se acaben los cupos!



  • WarNov Developer Evangelist

    MIX10 Keynote Dia 2: Internet Explorer 9 y Visual Studio

    • 0 Comments

    El MIX10 es claramente uno de los eventos más importantes para desarrolladores y diseñadores alrededor del mundo. Cada año este evento es organizado por Microsoft en Las Vegas donde aparte de congregarnos a aprender los último en tecnología nos hemos maravillado con la magia de esta ciudad que nunca duerme.

    Son tres días de evento. Y durante los dos primeros tenemos Keynotes en las mañanas y el resto del día charlas. El tercer día está compuesto únicamente por sesiones de charlas.

    En mi anterior post vimos todo lo relativo al keynote del primer día que estuvo enfocado a Windows Phone 7.

    En el segundo día estuvimos apreciando un lanzamiento del que ya hemos sabido mucho gracias a las betas publicadas: Visual Studio 2010. Pero sobretodo tuvimos la fortuna de ser participes de un gran lanzamiento:

    Me siento complacido de anunciar la liberación del preview de la plataforma Internet Explorer 9 (IE9): La siguiente versión del navegador web más popular del mundo. IE9 esta siendo diseñado para ayudarnos en el desarrollo web creando aplicaciones enriquecidas, interoperables y que cumplen con los estándares, al proveernos la plataforma, las herramientas y las características que requiere la web moderna.

    Este primer vistazo a la plataforma está diseñado para permitirnos a todos en la comunidad del desarrollo y diseño web, una oportunidad de proveer feedback en nuestro progreso en la construcción de IE9. No está diseñado para ser un explorador web FULL, sino solo un primer vistazo… un pre-alpha. Esperamos liberar updates de la plataforma cada cinco a siete semanas.

    Internet Explorer 9

    Qué hay de nuevo?

    Sobretodo características que aprovechan la GPU (tarjeta de video) de las computadoras clientes para mejorar la experiencia con HTML5 y CSS3, usando SVG:

    • Podremos usar el poder de la aceleración de hardware para renderizar el HTML5 más rápido, con mejor resolución y usando menos recursos!
    • HTML5
      • Mejoras en el parsing, incluyendo el manejo de elementos genéricos y el overlapping de tags.
      • Soporte para parseo de XHTML
      • APIs de selección de texto para habilitar la selección programática de texto
      • SVG
        • Estructura de documentos con metadata y funcionalidad de extensibilidad.
        • Formas básicas como  rectángulos, círculos, elipses, líneas, polilíneas, y polígonos.
        • Sistema de coordenadas, transformaciones y unidades
        • Elementos de tipo Path!
    • CSS3
      • Esquinas Redondeadas a través de border-radius

        IMG_8086
      • Soporte para la propiedad CSS Opacity y el modelo de color RBGA
    • JAVASCRIPT
      • El nuevo motor interpreta aun más rápido:

        SunSpiderResults[1]
        Milisegundos empleados en terminar el test SunSpider con una Dell Optiplex con un procesador de 3.0 GHz Core 2 Duo Intel, 4GB RAM, video Intel Integrado y corriendo Windows 7.
    • DOM
      • DOM Level 2: Namespaces, Rangos y Vistas
      • DOM Level 3: Eventos
      • Soporte mejorado para los estilos y características HTML del DOM Level 2
    • DEVELOPER BAR
      • Network Analizer (Este es de los que más me gusta)
        • Permite a los desarrolladores capturar, mostrar y almacenar las peticiones web, sus estadísticas y análisis!!! Definitivamente era algo que le faltaba a las herramientas para desarrolladores.
    • AUN MAS ESTANDAR
      • De un ACID de 12, pasamos a uno de 55!!!

        Acid3ScreenCapture[1]

    Cuándo lo puedo tener?

    Aún más complaciente para mí, es anunciarles amigos, que el preview YA está disponible para su evaluación en http://www.IETestDrive.com. Allí también encontramos un conjunto de páginas web y aplicaciones diseñadas para demostrar características y mejoras incluidas en la última versión.

    Los desarrolladores y diseñadores pueden proveernos feedback a través del programa Microsoft Connect en www.connect.microsoft.com solicitando una invitación allí. Si realmente están interesados en usar la plataforma lo más pronto posible, comuníquense conmigo y les estaré dando un código de acceso inmediato.

    Visual Studio 2010

    IMG_8117Esta versión es definitivamente la que más cambios drásticos ha incluido en mis siete años de experiencia con la plataforma. Además, finalmente son los cambios más esperador personalmente hablando, pero también por muchos de mis amigos y conocidos desarrolladores.

    Los cambios han sido integrales y se han hecho inclusiones sin precedentes en la herramienta. Nunca me había sentido tan “en casa” como programando con Visual Studio 2010.

    Comencemos entonces:

    Soporte multi-monitor mejorado!!

    IMG_8120

    Esta característica es genial más ahora que tenemos una gran cantidad de herramientas nuevas para trabajar en vivo dentro de nuestro Visual Studio 2010 con la arquitectura de nuestros proyectos y necesitamos mucho espacio para ver diagramas mientras codificamos!! En anteriores versiones de la herramienta teníamos cierto soporte para estas características, pero ahora han sido mejoradas.

    IntelliSense más Inteligente

     

    IMG_8121

    El IntelliSense ya viene preparado para manejar las nuevas características del Framework 4.0 como parámetros por defecto. Además nos ahorra aún mucha más escritura con sus son consejos de código predictivo ya que con escribir cualquier parte de la palabra deseada (no solo el principio) nos muestra un listado de todas las posibilidades para que podamos escoger.

    También cada vez que estamos ubicados en un identificador, resalta dentro de todo el editor en donde se encuentra referenciado ese identificador al ponerlo en negrita.

    El editor de Visual Studio 2010 está basado en WPF. De manera que ahora las operaciones que podemos hacer sobre este son mucho mas flexibles. Una que personalmente me encanta es la posibilidad de hacer zoom sobre el editor usando el scroll del mouse acompañado de la tecla control. Esto es muy útil a la hora de ver nuestro código desde distancias considerables. Como esto es trabajado con WPF y texto vectorial, no se pierde nada de la calidad del código:

    image

    Estas son solo una de las pocas cosas que se han mejorado e incluido como nuevas en Visual Studio 2010 que darían para un post difícilmente terminable: Ventana de navegación de identificadores, generador de jerarquía de llamados, generador de dependencias... Pero aquí les dejo la referencia para que puedan ver con detalle de que se trata.

    Deployment

    Podemos manejar diversos ambientes de deployment de acuerdo a las condiciones, todo organizado dentro de nuestra solución. Por ejemplo, tenemos la habilidad de tener tres copias distintas de Web.Config: Una para desarrollo, otra para pruebas y otra para producción:

    IMG_8130

    ASP.NET 4.0

    Otro de los temas vistos en este Keynote fue ASP.NET 4.0 y todas sus novedades. Por ejemplo, la claridad y simpleza con que es traducido el código ASP.NET:

    IMG_8123

    Como pueden ver, el acercamiento al HTML plano y fácil de manejar luego con JQuery es total.

    Recuerdan cuando su página comenzaba a pesar 400kb y 500kb y cada vez crecía y crecía más, pues sobre el responsable en parte de este “sobrepeso” ahora se ha trabajado bastante así que el ViewState generado es mucho más pequeño:

    IMG_8124

    Otras características mejoradas:

    • URLs semánticas. Para hacer los sitios más accesibles a las personas y a los motores de búsqueda. Es de esta manera que ahora es mucho más fácil lograr urls como http://www.example.com/autos/acme/rojo/2009.
    • Muchas más gráficas (charts) nativas para mostrar datos

    Programación del Lado del Cliente

    Visual Studio también viene fuertemente enriquecido para mejorar el desarrollo de código para el lado del cliente, sobretodo ahora que es tan popular y benéfico.

    IMG_8128

    El Intellisense de Javascript es aún más rápido en esta versión. de hecho, observemos las mediciones en la velocidad de generar IntelliSense para librerías Javascript:

    IMG_8129

    De recalcar: JQuery se actualiza dos veces más rápido en VS2010 y librería como ExtJS se cargan SEIS veces más rápido!

    Este tipo de acciones de mejora para el lado del cliente, son solo una muestra más de todo el poder que Microsoft le está dando a estas herramientas que vienen a ser el futuro de la programación Web. Entre los esfuerzos, también podemos contar con que Microsoft está apoyando económicamente a la gente de JQuery para que sigan con su excelente trabajo!!

    IMG_8161

    Conclusión

    Si somos desarrolladores acostumbrados al tradicional ASP.NET y ADO.NET, tenemos que salirnos de esa “Zona de Confort” si en realidad queremos que nuestras aplicaciones puedan competir contra la avalancha de aplicaciones web ágiles que centran gran parte de la lógica en programación orientada a cliente también conocida como programación en el browser o sencillamente Javascript en todos sus sabores.

    Muchas veces hemos rechazado la programación de Javascript porque ASP.NET nos ofrecía un modelo bastante rico que nos permitía prescindir de ello. Sin embargo, esta encapsulación escondía la verdadera naturaleza de la operación Web (Request-Response) y terminó haciendo que nuestros productos fuesen muy pesados y no corrieran rápido bajo algunas condiciones.

    Hoy en día, Microsoft ofrece en su Visual Studio soporte a todas estas tecnologías. Un claro énfasis en permitir desarrollar fácil el Javascript, AJAX, JQuery, y en general todas las APIs para los servicios que se usan más en la actualidad. Sumemos esto a MVC y obtendremos sitios que llegan a ser hasta 10 veces más rápidos que sus antecesores ASP.NET clásicos.

    Es tanto el soporte que se quiere dar a esta tecnología, que hasta el browser: Internet Explorer 9, ahora tiene herramientas de depuración de código del lado del cliente y de monitoreo de comunicaciones HTTP que vienen enriquecidas para ofrecer más ventajas a este tipo de enfoque programático.

    No es fácil; pero solo es cuestión de animarse y dar el salto. De allí en adelante, todo será aprendizaje y mejora!



  • WarNov Developer Evangelist

    Diseñando Experiencias con Expression Blend

    • 2 Comments

    En estos últimos días, me he encontrado dictando varias conferencias en las que Expression Suite de Microsoft ha sido el protagonista. La recepción en general ha sido buena luego de mostrar las características de la herramienta. Sobretodo la integración entre los mundos del diseño y del desarrollo que ofrece Blend.

    BlendBanner

    Sin embargo en nuestro entorno, los diseñadores que la mayoría del tiempo han trabajado con herramientas Adobe no encuentran un punto clave para comenzar a aprender a manejar la Suite y adquirir los conocimientos necesarios para aprender a manejar la herramienta.

    Así que de las principales consultas que recibo es: Y cómo les enseño a mis diseñadores a manejar la herramienta?

    Una de las opciones más directas que siempre doy, es que accedan a los servicios (consultorías) de los entusiastas de Microsoft o cursos oficiales por ejemplo de CPLS.

    Pero hoy el mensaje va más allá gracias a dos excelentes recursos que tenemos mediante los cuales, los diseñadores con experiencia previa en herramientas Adobe, pueden acceder a unos cursos muy completos en los cuales aprenden fácilmente a dominar nuestra suite de Expression. El primer curso se enfoca en Windows y WPF y el segundo en Web y Silverlight.

    El primero de ellos es orientado a programación Windows con WPF:

    Designing Windows Experiences with Expression Blend (WPF)

    Entrenamiento

    Se trata del curso Designing Windows Experiences with Expression Blend. Un curso que provee el conocimiento experimental requerido para diseñar experiencias de usuario usando Expression Blend; herramienta con la cual podemos acceder a todo el poder de Windows Presentation Foundation.

    Es un curso enfocado a diseñadores gráficos especializados en Interfaces de Usuario que tengan una experiencia previa con Flash o Director. Además no se requieren conocimientos previos por ejemplo de desarrollo o del manejo de Visual Studio.

    Introducción

    El curso comienza enseñando la herramienta Expression Design con la que podemos general gráficos vectoriales de calidad profesional. Todo con procedimientos enteramente experimentales con los que llegan a construir una interfaz de un Video Player.

    Luego se enseñan otras herramientas de diseño que trabajan en conjunto con la Suite de Expression y que sirven para generar resultados más impactantes. En general son “Tips and Tricks” para preparar contenido 3D, gráficas, Video y contenido de audio para WPF, usando herramientas populares de diseño.

    Posteriormente nos enseñan cómo crear la interfaz del Video Player de una manera más avanzada usando Blend, para familiarizarnos con la herramienta.

    Colaboración

    Acto seguido nos ofrecen un proyecto pre-hecho que tiene toda la programación hecha, pero un diseño muy básico. Un capítulo de ejemplo que nos muestra la colaboración con el desarrollador. Los diseñadores toman este proyecto pobremente diseñado y lo convierten en un producto mucho  más atractivo.

    También hay otro escenario de colaboración en el que otro diseñador crea algunos recursos y assets previamente al diseño que se ejecuta. De esta manera el diseñador aprende a emplear assets generados en otra herramienta (por ejemplo Fireworks) y crea un ejemplo de una tienda de retail.

    Extras

    image

    Como si fuera poco también se ofrece un micro curso de UX para hacer énfasis a los diseñadores en los principios teóricos del manejo de la experiencia de usuario. Y muchos otros laboratorios para poder dominar la suite!

    El otro curso es:

    .toolbox (Silverlight)

    Es un curso online y más interactivo para aprender, crear y compartir experiencias con Silverlight y Expression Studio. Está creado completamente en Silverlight y ofrece una excelente experiencia de usuario genial para diseñadores y desarrolladores que quieran aprender más de la parte de diseño de aplicaciones Silverlight. Allí los participantes crean avatares para enriquecer su experiencia 2.0.

    image

    Tiene integración con Facebook y Twitter  y salones de clases. Básicamente se ofrecen dos tracks:

    • Escenarios de Diseño
    • Principios de Diseño

    Cada track ofrece How To Videos, Working Labs y características especiales que se desbloquean al mejor estilo de un videojuego en el que se van teniendo progresos a medida que nuestra reputación crece desde Rookie, hasta ser todo un All Star.

    image

    También tenemos ejemplos de aplicaciones de la vida real creadas por agencias expertas para Microsoft. Son aplicaciones avanzadas, cuyo código está completamente disponible para nuestro aprendizaje.

     

    Get Started!, Today!

    Otros Recursos:

    Silverlight 4 Training http://tinyurl.com/yebx3z7
    Curso en Videos de Silverlight http://tinyurl.com/yf32xl2


  • WarNov Developer Evangelist

    Silverlight Tour – Bogotá, Colombia (27Abr – 29Abr 2010)

    • 0 Comments

    Con permiso de mi buen amigo Rodrigo Díaz  me permito referenciar un post acerca de su visita a Colombia no solo para ser speaker de nuestro gran evento presencial para desarrolladores del 26 de Abril, sino para dictar también el curso de Silverlight 4 que hace parte del internacional Silverlight Tour:

    El Curso de Silverlight: Silverlight Tour Workshop en Español regresa a la capital colombiana el próximo día 27 de Abril.  Se llevará a cabo del 27 al 29 de Abril 2010 con un horario de 08:00 a 19:00 horas los tres días.  Les recuerdo que el material y todo el curso está completamente en Español :) .

    Asimismo, tengo el gusto de informarles que como una promoción especial en conjunto con Microsoft Colombia, esta fecha en Bogotá cuenta con 50% de descuento directo sobre el precio normal en Colombia.  Además, será el primero en utilizar el material actualizado a Silverlight 4 RC anunciado y liberado oficialmente la semana pasada en el marco del evento MIX 2010 en Las Vegas.

    Si desean comprender a profundidad la platataforma de desarrollo de Silverlight, conocer el uso de Expression Blend 4 (Beta), y prepararse para la construcción de aplicativos para Windows Phone 7 esta es su mejor opción.



  • WarNov Developer Evangelist

    MIX10 Keynote Día 1: Windows Phone 7 Series

    • 0 Comments
    Welcome to mix

    Este gran poster nos espero en el gigantesco Mandalay Bay en Las Vegas. Ciudad en la que cada año se congregan cientos y cientos de diseñadores y desarrolladores de todo el mundo para apreciar los últimos avances tecnológicos para mejorar la experiencia de usuario (UI) en los desarrollos de software.

    El keynote del primer día, estuvo nada menos que genial! Dirigido por el Vicepresidente Corporativo Scott Guthrie:

    WarNov y Scott Guthrie

    Con sus colaboradores mas cercanos, nos mostró a los asistentes un overview de la cantidad de tecnologías emergentes disponibles y en el día de hoy se hizo un alto enfoque en todo lo relacionado a Windows Phone 7 Series.

     

     

    Un Teléfono Amigable

    IMG_7907

    Y quien mejor para hablarnos de Windows Phone 7 que el señor Joe Belfiore. VP de Windows Phone 7!

    Para comenzar, se mostro como WP7 nace del concepto de usabilidad que se tiene con el Zune. El reproductor de multimedia de Microsoft, que desafortunadamente no es muy conocido en Colombia, y que realmente ofrece al usuario una experiencia bastante agradable.

    Es así, como ya no tenemos el Windows en “miniatura” que solíamos encontrar hasta Windows Mobile 6.5; y donde era muy complicado hasta el mero hecho de abrir el menú inicio. (Tocaba tener puntería)

    Hoy en día con WP7 el acceso a todos los comandos es bastante sencillo gracias a los Tiles que permiten con el dedo desplazarnos entre los aplicativos. (Adiós perdedizo Stylus!!!)

    Es un teléfono realmente amigable y fácil de usar. Enfocado claramente al manejo de redes sociales y reproducción multimedia.

    Un teléfono que se programa con Visual Studio .Net.

    IMG_7908 IMG_7909

    En este apartado, el señor Guthrie nos mostro como en cosa de 5 minutos escribía el “segundo cliente oficial” de Twitter para WP7. Solo escogiendo el tipo de proyecto para WP7 en Visual Studio 2010 ya tuvo un lienzo listo para trabajar y arrastrar un par de botones y luego usar la clase de WebClient para comunicarse con Twitter.

    Cómo obtenemos este tipo de proyecto en nuestro Visual Studio?

    Windows Phone 7 Series es un sorprendente sistema operativo para teléfonos móviles dada su innovadora interfaz de usuario y funcionalidad, así como la grandiosa plataforma de desarrollo sobre la cual nosotros como desarrolladores podemos construir rápidamente juegos y aplicaciones. Se vendrá toda una avalancha de dispositivos corriendo Windows Phone 7 Series (WP7). Y esto junto con la plataforma de desarrollo y el "Marketplace" hará que la demanda de WP7 de los consumidores sea muy alta, así que nosotros como desarrolladores podremos adoptar rápidamente la plataforma de WP7 para capitalizar este crecimiento.

    Para lograrlo, en el MIX10 se anunció la liberación del Windows Phone 7 Training Kit for Developers que incluye todas las librerías para programarlo de una manera similar a como programamos aplicaciones Silverlight, un emulador del teléfono y muchas otras herramientas! Este kit de capacitación les permitirá entrar en el nuevo mundo de WP7 por que le proporciona una explicación paso a paso de las herramientas a utilizar y algunos conceptos clave para la programación en esta plataforma! La información completa la encuentran aquí: http://developer.windowsphone.com/

    Un teléfono que tiene de todo!

    Ya muchas empresas han emprendido el viaje hacia el mundo de la nueva plataforma WP7. Por ejemplo Netflix el gran proveedor de alquiler y streaming de películas. Se creó esta aplicación que corre en WP7 y que nos permite entre otras cosas buscar títulos, ver los títulos recomendados, solicitar las películas a domicilio, y por si fuera poco, verlas en streaming directamente en nuestro teléfono gracias a las poderosas capacidades de reproducción de video de WP7 usando Silverlight 4 y OpenData operado desde Windows Azure

    IMG_7915

    Además se nos mostraron grandiosos juegos creados usando XNA! De manera que el mismo código de programación solo con unas pequeñas modificaciones fue usado para crear las versiones para PC y XBOX! One XNA!!!

    IMG_7904

    IMG_7946 IMG_7945

    Otra aplicación genial que vimos fue un reproductor de Comics:

    IMG_7918 IMG_7920 IMG_7922

    Vemos como nos permite ver toda nuestra colección de Comics, y para cada uno de ellos, leerlo como si fuera una revista normal o hacer acercamientos para ver mejor el arte del dibujo. Como si fuera poco, también se integra con Web 2.0, ya que permite comentar apartes de los Comics y publicar dichos comentarios en las redes sociales!

    Y hablando de redes sociales, me pareció de lujo la aplicación Foursquare que integra nativamente en el WP7 la información de todos nuestros contactos en todas las redes sociales en un solo aplicativo sencillo, fácil de usar y muy llamativo:

    IMG_7924 IMG_7927

    Permite ubicar a nuestros contactos (que tengan GPS) usando Bing Maps. Además permite la creación de eventos y los asistentes entonces tienen una guía basada en mapas para llegar al sitio de encuentro! Todo en WP7 gracias a SL, y programado con VS2010 y Blend 4. Osom!!!

    Otros aplicativos que vi bastante interesantes:

    • Shazam: Para poner al teléfono a oír una canción mientras descifra qué temas es y demás, usando bases de datos musicales online. De hecho, si hay una versión libre dela canción, nos permite descargarla o comprarla.
    • MLS: Un aplicativo que aprovecha tecnología de Message Push, que permite enviar información a aplicaciones WP7 aún cuando estas no estén corriendo actualmente en el teléfono. En este caso, información de los partidos de futbol era enviada al aplicativo y cuando el usuario abría dicha aplicación, encontraba ya toda la información actualizada.
    • Marionette: Trae ciertos “muñecos” personalizables a los que se les puede poner rostros de contactos y manipular como marionetas gracias al brillante manejo del Acelerómetro.
    • Loic Le Meur, gestor de seesmic nos enseñó la última versión de su cliente de twitter creado totalmente en WPF que ahora como novedad, permite a las empresas y personas, crear sus propios News Feed personalizados!! Pero para completar, nos mostró su brillante versión para WP7. Sencillamente genial…

    Para finalizar, nos sorprendieron con un aplicativo en WP7 que controlaba un robot cañón de camisetas real con el cual dispararon varias camisetas hacia la audiencia que luchó por ellas. Todo el manejo se hacía no solo con los botones del teléfono y el TouchScreen sino también con el acelerómetro:

    IMG_7936 IMG_7939 IMG_7976

    Todo esto fue desarrollado usando herramientas que afortunadamente tenemos disponibles desde AHORA!!!

     IMG_7950

    Las versiones Beta de Blend se pueden bajar de:
     http://expression.microsoft.com/en-us/cc507094.aspx

    Fue un gran KeyNote que nos dejó muy motivados para el resto de temas a tratar en el MIX. Hoy segundo día hemos visto que aún cuando fue tan impactante se quedó corto con todo el mundo de temas que se liberan en este año. Sigan conectados para más noticias y reviews!!



  • WarNov Developer Evangelist

    Lanzamiento de WebSiteSpark en Colombia

    • 0 Comments

    Aquí desde el MIX10 en Las Vegas, me complace informarles a todos los emprendedores, que en Microsoft Colombia tenemos muchas herramientas que nos permiten iniciar nuestros negocios y lo mejor de todo, GRATIS!!!

    Así es, GRATIS!

    Por esto me permito invitar a todos los que se consideren emprendedores en la industria del desarrollo de software para la Web, a que asistan a nuestro gran lanzamiento en el Salto del Ángel!!!

    A continuación los detalles de la invitación (hagan click en la imagen para registrarse)

    Click para Registrarse

    Los espero!!! smile_party



  • WarNov Developer Evangelist

    Transparencia en DIVs HTML (Div Opacity)

    • 2 Comments

    Cada mes acostumbro a cambiar el header de mi Blog usando una fotografía tomada por mí.

    Para este mes quise poner una foto del Palacio de Justicia ubicado en la Plaza de Bolívar en Bogotá.

    En esta foto fue difícil ubicar el título de mi blog, dado los colores de fondo. Así que la alternativa fue ponerle un color de fondo sólido al título.

    Sin embargo, un color sólido arruina la fotografía de fondo, pues no la deja ver para nada. Allí fue donde me nació la duda de cómo hacer un div transparente, para así poder modificar el estilo del blog.

    Investigando un poco, encontré que esto se hace distinto para distintas versiones de navegador. En especial, para Firefox se usa:

    opacity:0.6;

    Luego vi que esto no funcionaba en IE, pues me seguían apareciendo los fondos sólidos.  así que investigando un poco, encontré que esto se hace distinto para IE:

    filter:alpha(opacity=60);

    De esta manera, un estilo escrito así:

    #title {
    opacity:0.6;
    filter:alpha(opacity=60);
    }

    Produce este resultado independientemente del navegador:

    image



  • WarNov Developer Evangelist

    Usando Windows Live Writer para bloggear

    • 4 Comments

    El día a día generalmente lo aparta a uno de probar nuevas alternativas. (La primera ventaja vista: Es un editor enriquecido, que me permite por ejemplo escribir justificado; esto no es posible con el editor nativo de mi sitio de blogs) Afortunadamente hoy pude sacar tiempo para por fin poder probar Live Writer y usarlo en mi blog de MSDN. Antes de continuar, les cuento que es un cliente de escritura de “blogs” que viene en la suite de Microsoft Windows Live Essentials. Se puede descargar de aquí: http://download.live.com/ Sin embargo, si queremos sólo descargar el Writer, también se nos da esa opción: http://download.live.com/writer . Y lo mejor de todo, absolutamente gratuito!!!

    Acabo de detectar un par de cosas excelentes de este editor. Tiene un buen manejo de operaciones de deshacer y rehacer. Y el preview es sencillamente impresionante, ya que muestra rápidamente cómo se vería el artículo dentro del blog! Es excelente. Lastimosamente no tiene una forma para ajustar con el cuadro de herramientas el interlineado de los párrafos. Sin embargo, tiene una ventana de código fuente, donde se podría entrar a especificar esto:

    style='line-height:150%'

    Más adelante, explicaré cómo incluí este código.

    Por otro lado, se conectó de inmediato a mi blog, solo pasando la url, el usuario y la contraseña. Y no solo trabaja con este, sino con Blogger, LiveJournal, TypePad, WordPress y un montón más. Sinceramente al principio creí que no sería capaz de trabajar con los blogs de MSDN, pero como ven, sí se pudo. LiveWriter trabaja con APIs como RSD (Really Simple Discoverability), the Metaweblog API, and the Movable Type API. De hecho estoy pensando en crear mi blog personal (no técnico) en Silverlight, que se ajuste a estas APIs para poder luego llenarlo con Writer.

    Tiene corrector de ortografía. Si pasa que bajan el Writer en Inglés u otro idioma distinto a Español; pero igual necesitan corregir en Español, en este link les tengo los diccionarios para que los incluyan en la ruta: C:\Program Files\Windows Live\Writer\.

    Es genial, porque a diferencia de Word, no me llena con una cantidad gigantesca de estilos el html generado. Todo queda perfectamente plano. De hecho, es tan inteligente, que cuando copio algo de otro lado y lo pego, le quita todo el formato, excepto cuando se trata de un link, el cual lo deja funcionando perfectamente.

    Además, tiene un sin número de plugins que permiten desde publicar un twit automáticamente apenas se publica un nuevo post, hasta insertar la información del tema que en este momento estoy oyendo.

    Ahora haré un conjunto de acciones para probar los insert nativos que trae la herramienta y aquellos que me bajé como plug-ins:

    Una Imágen:

    vs2010

    La traje desde mi disco duro. En dónde se hospedará?

    Una imagen tipo polaroid (esto fue un add-on):

    Es excelente ese Add-On! Solo puse mi foto de Nerd y el Add-On me depliega un menú en donde puedo ponerle el título de la misma, la fuente, los bordes, girarla, cambiarle tamaño, etc.!

    Ahora una tabla (viene nativo o como addon mejorado: )

    Hola  
       

    Pude escoger hasta la imagen de fondo! Escoge uno también el número de filas y de columnas

    Código de programación. Es un addon que permite escoger el lenguaje para detectar la sintaxis, y permite poner números de líneas e intercalamiento de colores:

       1:  public static class Program
       2:  {
       3:      public static void main()
       4:      {
       5:          Console.WriteLine("Hello World!");
       6:      }
       7:  }
     
     

    Hay muchos otros inserts disponibles; parece que funcionan correctamente. Ahora, voy a almorzar y no me preocupo, pues Writer graba automáticamente cada intervalo de tiempo específicado. Así que ya no corro el riesgo de que por X o Y motivos se bloquee el explorador y pierda toda mi escritura. (Debería tener más sortcuts de teclado al estilo Word). Antes de irme a almorzar, trazaré una línea horizontal, usando otro plugin. Los plugin se consiguen haciendo click en el botón de add plugin que queda en el panel de plugins a la derecha:

    image

    Esta imagen la pegué del clipboard luego de usar la fabulosa Snipping Tool de Windows 7 que me permite extraer pantallazos en una forma avanzada pero sencilla. Ahora sí la línea y a almorzar:


    Bueno; luego de regresar de almorzar,  me resta mencionar que ví que uno puede manejar varios blogs a la vez y es muy fácil pasar de uno a otro.

    Y para finalizar probemos la utilidad de tags.

    Technorati Tags: ,

    Luego de probarlo, observé que solo hay integración con algunos tipos de tags y no con los tags incluidos de los blogs de MSDN que están basados en Community Server, tal como se aprecia en mi anterior intento.

    Sin embargo, para mi caso particular no lo considero un issue muy importante, dado que escribir los tags directamente en la herramienta estándar no es para nada complicado ni riesgoso. Sin embargo, seguiré averiguando a ver si encuentro la forma de hacerlo todo desde aquí (Windows Live Writer).

    En conclusión, a pesar de tener un par de falencias para mi gusto que no fueron muy difíciles de solucionar y resultan insignificantes comparadas con todas las ventajas que me da Windows Live Writer, lo aconsejo enormemente y no hallo la hora de poder crear mi propio blog compatible con ésta herramienta.

    Ahora me dispongo a dar click en Publish. Espero que todo funcione correctamente. Cualquier resultado, lo anotaré como un comentario propio a este post. smile_regular (Ese emoticon es gracias a otro plugin adicionado smile_tongue )

    UPDATE 02/28/2010

    Hoy tuve una grata sorpresa al publicar un post. Descubrí en el Writer este botoncito:

    Setcategories

    Set Categories!!

    Recuerdan lo que mencioné acerca de tags? Que no había podido ponerlos para los blogs de MSDN o de Blogger?

    Pues sucede que estos dos blogs como algunos otros tienen un mecanismo no de tags, sino de categorías. Así que de una sencilla manera, oprimiendo el botón Set Categories me aparece el listado de las categorías que ya he usado en el blog y también se me permitió agregar nuevas categorías. Luego publiqué y voilá apareció de una vez mi post con las categorías adecuadas.

    Bueno; también acabe de descubrir que sí hay shorcuts. ctrl+i me da itálicas. ctrl+b me da bold y así sucesivamente.

    Para terminar este update, quisiera mencionar el plugin de Video. Tiene un buen manejo para videos de YouTube. Con la cuenta que uno tiene, puede subir un video y luego referenciarlo en el post, de manera que queda embebido. O referenciar uno de los videos ya subidos y todo de una manera bastante automatizada. Sin embargo, si YouTube no es suficiente (como en la mayoría de los casos dado su escaso límite de tiempo –10 minutos –) una buena alternativa gratuita es www.vimeo.com que actualmente uso en este blog. Allí, luego de subir un video, uno puede obtener el código para embeberlo en el blog. Ese código se pega en el plug-in de video y el resto lo hace por nosotros.

    En síntesis, lo descrito en este update, hace que me sienta muy contento usando Live Writer. Un producto gratuito de Microsoft.



  • WarNov Developer Evangelist

    ALM con Team Foundation Suite 2010

    • 3 Comments

    Hace una semana, me reuní con el grupo de Entusiastas de Microsoft que logré unificar, con el fin de hacer actividades para reconocer su interés en nuestras tecnologías y además potencializarlo en beneficio de la comunidad de desarrolladores que es mi audiencia como Developer Evangelist.

    En esta reunión en las oficinas de Microsoft Colombia, hicimos una Clínica de Oradores para incrementar los niveles de cada uno de nosotros en cuanto a charlas al público se refiere. Dirigiendo esta charla se encontraba con nosotros Willy Marroquin. Un excelente orador que por años nos ayudó con la labor de evangelización y quien además posee grandes conocimientos técnicos y hoy se desempeña como consultor en Arquitectura y Estabilización de Aplicaciones Críticas.

    Luego de esta clínica, Sebastián Rincón especialista de Visual Studio Team Suite para preventa técnica en Microsoft Colombia nos estuvo exponiendo la cantidad de nuevas características que nos trae la Suite para la administración de proyectos o ALM.

    Decidí grabar un video de la charla que nos impartió Sebastián, pues consideré muy importante publicar con un punto de vista bastante informal (tal como se llevó a cabo su exposición) toda la discusión que tuvimos sobre el producto. Aquí encuentran apuntes hechos por nuestros entusiastas (claros representantes de la comunidad de desarrolladores) y en general información útil para tener un overview de la suite antes de entrar a trabajar con ella directamente.

    Para finalizar, quisiera agradecer la asistencia de nuestros siguientes entusiastas, de quienes dejo sus contactos, dado que estarán gustosos de entrar en contacto con ustedes para tratar temas de desarrollo de acuerdo a sus especialidades:

    Willy Marroquin Arquitectura de Soluciones/Aplicaciones  
    Sebastián Rincón  Especialista TFS/BizTalk  
    Pablo Cepeda Workflow Foundation (WF), WCF  
    Edinson Carreño Team Foundation Suite  
    Frank Silva Windows Azure – Emprendimiento con Microsoft  
    Benjamin Perdomo Tecnologías de Punta Microsoft  
    Gerardo Ramos SWAT Desarrollo Microsoft  
    Manuel Camarón Especialista Silverlight – Windows Live Services  
    Andrés Ortiz Especialista Sharepoint – Desarrollo Sobre Office  

    Estos no son todos nuestros entusiastas. Posteriormente estaré haciendo un post donde estén todos con mayor información acerca de ellos!



  • WarNov Developer Evangelist

    Recursos para ponerse al día con la ola Microsoft 2010 para desarrolladores

    • 0 Comments

    Durante un fenomenal retraso de mi vuelo (3 horas) de vuelta a casa y tras terminar mi última gira de evangelización en Cali, me puse a recopilar todos los recursos que había expuesto y referenciado durante mis charlas en las diferentes empresas y ante las diferentes audiencias.

    En este tour me dediqué a mostrar todo lo nuevo que ofrece la ola 2010 para nosotros desarrolladores. Fue un overview de actualización para que los equipos se actualizaran y vieran nuestro roadmap de tecnologías y las posibilidades ofrecidas.

    Así fue como toqué temas como Visual Studio 2010, Desarrollo sobre Office 2010 y Sharepoint 2010, gestión de proyectos con Team Foundation System 2010, Framework 4.0 (LINQ, WCF, WF, WPF), Silverlight, MVC, Entity Framework…

    Luego de hacer esta recopilación observé que era una valiosa fuente de información para nosotros desarrolladores y que por tanto valía mucho la pena publicarla.

    Así que amigos, aquí está para ustedes:

    Mi blog:

    http://warnov.com/dblog

    Mi foro de preguntas:

    http://warnov.com/ask

    Azure:

    http://windowsazure.com

    MVC:

    http://asp.net/mvc

    Entity Framework:

    http://tinyurl.com/62ke79

    Descargar Visual Studio 2010 RC, IDE, TFS, y demás:

    http://tinyurl.com/o949y9

    Todos los tutoriales para nuevas características del Framework 4.0 y Visual Studio 2010 como IDE. Incluye: Desarrollo sobre Sharepoint, Silverlight, WPF, Características del Core, F#, Desarrollo Nativo (C++), Computación Paralela, Extensibilidad de Visual Studio, Desarrollo para Office, para Workflow Foundation, WCF y Azure

    http://tinyurl.com/nln82w

    Office 2010 Beta Developer Training Kit

    http://tinyurl.com/ya7zxug

    Windows Azure Platform Training Kit

    http://tinyurl.com/5vrt7q

    Windows 7 Training Kit For Developers

    http://tinyurl.com/r7d7uf

    Sharepoint 2010 Beta Developer Training Kit

    http://tinyurl.com/y9t25hj

    Silverlight 4 Training

    http://tinyurl.com/yebx3z7

    Windows Presentation Foundation

    http://tinyurl.com/yb43ypx

    Windows Workflow Foundation

    http://tinyurl.com/4y4apd

    Windows Communication Foundation

    http://tinyurl.com/6yxo2y

    Visual Studio 2010 and .NET Framework 4 training Kit

    http://tinyurl.com/lr3ep8

    Visual Studio 2010 and .NET Framework 4 Videos

    http://tinyurl.com/ybabbkd

    Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 virtual image: Es una máquina virtual que ya tiene todo el TFS instalado y configurado para que juguemos con él. El link hace referencia a la versión para Windows Virtual PC, pero al final de la página encontramos links para Virtual PC 2007

    http://tinyurl.com/ydbm8hy

    Laboratorios de ALM (Gestión de Proyectos) usando la anterior máquina virtual

    http://tinyurl.com/yeo8gc2

    Training Kit de Sql Server 2008 R2 para Desarrolladores http://tinyurl.com/ykzez5t

    Como ven, hay para todos los gustos. Escojan del menú y a aprender!

    Espero les sea de mucha utilidad!!



  • WarNov Developer Evangelist

    Curso Básico Gratuito de Visual Studio .Net 2010 con C#

    • 0 Comments

    Hace poco me llegó una agradable oferta de los muchachos de NET CELL; una gran comunidad de desarrolladores de la costa Colombiana. Ofrecen un curso básico para que las personas puedan comenzar desde ceros a aprender de esta tecnología. El curso se dictará a través de Live Meeting todos los jueves desde las 18:00pm (GMT-5) a partir de febrero 25. Mayor información aquí.



  • WarNov Developer Evangelist

    Sketchflow en Palabras Simples

    • 1 Comments

    Hoy en día existen numerosas aplicaciones para diagramar y tratar de plasmar en papel los bocetos de futuras soluciones de software para lograr establecer un lenguaje de comunicación con nuestros clientes que permita generar la solución que ellos buscan. Sin embargo, una amplia deficiencia detectada en estas aplicaciones, es que carecen de un mecanismo para mostrar transparentemente el flujo de las mismas cuando son operadas por los usuarios.

    Sketchflow viene a cubrir esa falencia, con sus excelentes características para animar comportamientos y mostrar flujo de aplicación, sin emplear ni una sola línea de código. Además es tan efectivo, que permite crear una solución de código real que trabaja sobre el boceto que se creó al principio. En este video preparado con mi invitado @caycedo quien también habla de esto en este post, obsevaremos de qué se trata todo esto con más detalle.

Page 12 of 14 (326 items) «1011121314