MSDN Blogs
  • WarNov Developer Evangelist

    Desarrollo sin código? En Windows Phone 7 se puede… y gratis!

    • 2 Comments

    Para algunos puede ser el sueño del desarrollo de aplicaciones… que se generen sin escribir ni una línea de código y súmenle que se pueda hacer gratuitamente!

    Así es; si necesitas hacer una aplicación para Windows Phone 7 en menos de 20 minutos y gratis, http://appmakr.com es la solución.

    Allí se ofrece la posibilidad de hacer aplicaciones obviamente enfocadas a un aspecto único, con el fin de poderlas hacer de una manera tan automatizada; en este caso, las aplicaciones que podemos desarrollar allí, son aquellas orientadas a mostrar información de feeds que vienen en RSS o ATOM.

    Podemos modificar la fuente del feed, poner varios tabs con distintos feeds, escoger los íconos e imágenes de cabecera de nuestra aplicación y además monetizarla a través de Adds!

    Como siempre un video vale más que una giga de palabras y aquí se los dejo para que vean todo el proceso:

    Para desplegar tu aplicación con appmakr, solo se necesita tener instalados los tools de Windows Phone 7.
    Si deseas hacer aplicaciones más complejas y no sabes cómo comenzar, te recomiendo este post.
     
    Quieres además ganar un Windows Phone 7, pues con tu aplicación hecha en appmakr puedes participar. Detalles aquí.
  • WarNov Developer Evangelist

    URLs Limpias de MVC no funcionan en producción!

    • 2 Comments

     

    Hoy desplegué un sitio con ASP.NET MVC 2.0 en mi hosting, pero no funcionó bien. Me arrojó un 404 tratando de acceder http://warnov.com/MSBlog . Como puedes ver es una URL especial basada en el ruteo de MVC.

    clip_image001

    Para que este ruteo funcione, es necesario que IIS esté configurado para correr en Integrated Mode en mi aplicación. Yo creo que en vez de estar en Modo Integrado, ahora allá en mi proveedor de hosting, está en Modo Clásico.

    Por qué sucede esto?

    IIS 7.0 puede procesar las peticiones usando dos modos de proceso: integrado y clásico. El modo integrado provee más performance y características. El modo clásico está incluido para ofrecer compatibilidad hacia atrás.

    Les escribí a los operadores del hosting, que me gustaría saber si es posible que me puedan ayudar ajustando el IIS para mi aplicación en modo Integrado (DefaultAppPool) para que pueda correr mi aplicación con MVC2.

    Sé que esto podría acarrear problemas de compatibilidad con sitios viejos, pero lo bueno es que es un cambio a nivel de ApplicationPool, así que si mi aplicación no comparte el pool, será un cambio muy sencillo.

    Por el contrario, si el AppPool es compartido, les sugería que crearan un AppPool aparte, especial para todos los que queramos poner aplicaciones de avanzada que aprovechen todo el poder del Framework.NET

    Esperemos que me responden…

    Al final, les adicioné unas instrucciones de IIS 7.0 para que las ejecuten en caso de que me puedan colaborar… estas instrucciones deberían servirte si estás pasando por el mismo problema:

    1. Abrir el administrador de IIS

    2. Seleccionar la aplicación en el menú de Conexiones

    3. En el menú de acciones dar click en Basic Settings para abrir al diálogo “Edit Application”

    4. Seleccionar el tipo de ApplicationPool requerido:

    clip_image002

    En IIS 7.5 (el de Windows 7) es mucho más fácil; les dejo un cortísimo video:

  • WarNov Developer Evangelist

    Windows Phone Developer Tools 7.1 Beta Release

    • 0 Comments

    Hoy en Nueva York fue anunciada al mundo la siguiente versión de Windows Phone con nombre código “Mango” . En el evento se revelaron las principales características de esta versión, así como las mejoras al Marketplace que no habían sido mostradas en eventos previos. Para ver el video de este evento poder ir aquí.

    Tras este evento, las herramientas para que los desarrolladores puedan crear aplicaciones que explotan todas estas nuevas características están disponibles públicamente y sin costo.

    Características Liberadas

    · Profiler: Una herramienta que permite identificar y resolver problemas de performance de una manera rápida y sencilla.

    · Emulador Mejorado: El nuevo emulador permite simular entradas para los sensores. Incluyendo información de GPS y datos para el acelerómetro. Así que ya no tendrás que ir hasta la India a ver si su aplicación GPS funciona allá como debería.

    · Visual Basic: En este reléase se provee soporte para este lenguaje tanto para crear proyectos XNA como Silverlight con Visual Studio y Expression Blend.

    · Multi Targeting: Que nos permite escoger para qué versión del OS queremos que corra nuestra aplicación (para la 7.0 o la 7.1)

    · Contactos que se pueden organizar por grupos y además se pueden ejecutar comunicaciones con dichos grupos

    · Filtros de información (por ejemplo; no quiero tener updates de Facebook para determinadas personas)

    · Comunicaciones integradas a través de threads: De esta manera por ejemplo se puede seguir un chat a través de SMS, Windows Live Messenger o Facebook, dependiendo de dónde se encuentren activos nuestros interlocutores.

    · Conversaciones en Email así cono “Information Right Management” para proteger la información corporativa.

    · Resolución de conflictos de Agenda.

    · Eventos de Facebook en la agenda

    · Si está oyendo música o con el teléfono fuera del alcance de sus manos (tal vez conduciendo) Ahora podrá ejecutar muchas acciones solo con la voz. Por ejemplo si llega un nuevo mensaje, el teléfono le informará a través de voz de quien es y su contenido. Además usted podrá replicar a dicho mensaje también solo diciendo lo que quiere que vaya en el SMS.

    · Detección de Rostros en las fotografías tomadas con el teléfono que permite etiquetar contactos y actualizar redes sociales

    · Mejor integración de los documentos de Office ahora con Office 365 y con Skydrive

    · IE9 FULL (exacto al de la versión de escritorio)

    · Búsquedas en Bing que incluyen comandos por ubicación, imágenes, y voz

    · Otras nuevas características:

    o Acceso a sensores adicionales: Cámara, compas, gyro

    o Background Agents

    o Cambio entre aplicaciones aún más rápido

    o Control de Web Browser basado en IE9 para incluir en nuestras aplicaciones

    o Live Agents que nos muestran información dinámica en el home del sistema

    o Silverlight 4

    o Silverlight interoperando con XNA

    o Sockets

    o SQL CE

    Recursos:

    · WPDT 7.1 Beta

    · Windows Phone Developer Blog

    · Sesiones de Windows Phone @ MIX11

    · App Hub

  • WarNov Developer Evangelist

    Requerimientos para desarrollar en Windows Azure (Software - Hardware)

    • 4 Comments

    Computadora con con IIS 7 instalado. Esto automáticamente restringe los posibles sistemas operativos a Windows 7, Windows Server 2008, Windows Vista. Preferiblemente en x64 (64-bits). Si no tienen la licencia, se puede descargar un trial de aquí.

    Requerimientos de Hardware:

    o Computer with a 1.6GHz or faster processor
    o 1024 MB RAM (1.5 GB if running in a virtual machine)
    o 3 GB of available hard-disk space
    o 5400 RPM hard drive
    o DirectX 9 capable video card running at 1024 x 768 or higher-resolution display

    Además:

    · Sql Server 2008 R2 Express Edition  y SQL Server Management Studio 2008 R2 Express Edition (Tener la instancia SQLEXPRESS para el Development Storage)

    o Se descarga de aquí

    · Visual Studio 2010 Ultimate. Si no tienen la licencia, se puede descargar un trial de aquí. También se puede usar Visual Web Developer Express, pero algunas operaciones de Azure no estarán disponibles.

    · Windows Azure Tools for Microsoft Visual Studio descargables aquí

    · Windows Azure AppFabric SDK descargable de aquí

    · Windows Azure Training Kit descargable de aquí.

    · Opcional: Prelectura de estos artículos

  • WarNov Developer Evangelist

    Microsoft te Regala Azure

    • 0 Comments

    image

  • WarNov Developer Evangelist

    Bueno si es HTML5, mejor si es nativo, genial si es con IE9 y súper si es con IE10!!!

    • 2 Comments

    “No sé por qué IE no es como Firefox y ya... una aplicación que se instala sin ser intrusiva con el OS a tal punto que ni siquiera exige que se cierre ninguna aplicación. No me gusta que tenga que reiniciar cada vez que instalo un Internet Explorer nuevo! Es como si el IE de alguna manera se entrecruzara con el sistema operativo en alguna suerte de simbiosis” –me dijo alguna vez un buen amigo…

     

    Ya a estas alturas uno sabe que HTML5 permite aplicaciones web de alto contenido interactivo y capacidades de presentación que anteriormente solo eran disponibles en los navegadores a través de plugins.

    La idea principal de HTML5 entonces es lograr que los desarrolladores web creen aplicaciones altamente interactivas que corran en todos los navegadores que lo soporten sin necesidad de la instalación de programas adicionales al browser.

    En parte esto es lo que ha demorado tanto la finalización y por ende la adopción del estándar. Es muy complicado lograr poner de acuerdo a todo el mundo tecnológico en algo que contiene tantas variables como la presentación en navegadores. Hay que definir cuál será el estándar de video, el de audio, el de animaciones, la forma en que se accederá a los periféricos, etc.

    No obstante, siendo esta una necesidad que la industria pide a gritos ser resuelta, desde hace poco más de un año, todo mundo ha enfocado sus esfuerzos a sacar el estándar adelante y se ha visto un avance sin precedentes.

    Cada vez se ve menos utópico el HTML5 finalizado y andando en producción. Y gran parte de estos avances se han logrado desde Microsoft.

    Obviamente la alta interacción se logra a través de una presentación de audio, video y animaciones impecable y a través de un excelente acceso a los periféricos de las máquinas cliente.

    Si uno se fija detenidamente, entonces observa que el éxito de un navegador con todas estas aptitudes radica en las capacidades que tiene para comunicarse con el sistema operativo cliente y de esta manera aprovechar los recursos de las máquinas. Tanto los chips de audio y video, como los dispositivos de entrada como cámaras y micrófonos.

    En este orden de ideas, se deduce entonces que gran parte del éxito del navegador depende de la forma en que este se acople con el sistema operativo. Si este acople es lo suficientemente bueno, las aplicaciones HTML5 sencillamente comenzarán a correr como aplicaciones nativas. Y esto redundará en velocidades y capacidades de ejecución solo vistas en aplicaciones de escritorio o de plugins; redundará en demos que superan con creces la velocidad de aquellos navegadores que no están acoplados al sistema operativo.

    Con el lanzamiento de la versión final de IE9, como siempre escuché divertidos comentarios acerca de cómo Internet Explorer siempre exige reiniciar la máquina para ser instalado, tal como lo cité en el epígrafe de este post.

    Usted amigo lector ya debe ir sabiendo por donde es que va el agua al molino. En un suceso más que afortunado, Microsoft tiene una gran ventaja en la competencia de browsers al tener su browser altamente acoplado al sistema operativo. Es claro a través del tiempo que IE no es una aplicación más en Windows, sino que es un elemento muy integrado al entorno.

    Precisamente este hecho permite que tras el advenimiento de HTML5, IE9 pueda aprovechar todo el poder de hardware de la máquina directamente. Esto a través de la alta integración con el sistema operativo. Ofreciendo esto a su vez una cantidad de funcionalidades y una velocidad asombrosa. Así que por lo menos para mí, reiniciar la máquina no será un problema si luego voy a tener aplicaciones que corren hasta diez veces más rápido que aquellas en otros browsers.

    Entonces, cuando ustedes vean la demo de los pescaditos o su versión modernizada en donde ya podemos oír sonidos HTML5, ver un fondo acuático que consiste en un video HTML5, y podemos además componer la escena con sombras, brillos, máscaras, frames y demás sabrán que la asombrosa velocidad no es debida a que son demos hechas por Microsoft, sino a que con Windows más IE9 se tiene una experiencia nativa de HTML5 que aprovecha mucho mejor el hardware.

    imageimage

    IE vs FF (parece que algún pez se convirtió en pescado a la derecha)

    No obstante, he oído comentarios de seguidores de otros navegadores que dicen que no les importa la aceleración por hardware, dado que están contentos con que su browser es 100% compatible con ciertas pruebas sobre diversos estándares (punto débil en anteriores versiones de IE. Pero para nada en la 9, donde tiene índices de compatibilidad y estandarización asombrosos). Pero quisiera que pensaran en aplicaciones altamente interactivas con muchas animaciones, videos y sonidos; en ese momento notarían la necesidad de poder aprovechar esta aceleración.

    Veamos a continuación algunos ejemplos de aplicaciones que son mejores cuando se generan nativamente, en un video que explica más que una mega de palabras:

    Las fuentes de este video son:

    IETestDrive

    De aquí pueden descargar el Platform Preview 1 de IE10 y además encuentran los demos de la pecera y de PaintBall así como innumerables aplicaciones adicionales que muestran el poder de IE10 sobre estándares y HTML5

    Forsquare Playground

    Aplicación que genera un vecindario visual basada en la información que brindan los usuarios de Forsquare y el api de localización de HTML5

    World’s Biggest Pacman

    El juego de pacman más grande del mundo

    Adicionalmente en este otro video, podemos ver una prueba realizada con una aplicación no realizada por Microsoft sino por gente de Mozilla, en la cual se explota el Canvas2D de HTML5. También se aprecian las ventajas nativas:

    Para finalizar con las pruebas, les recomiendo que con sus navegadores vean este sitio del artista Bon Jovi. Creado sobre HTML5 para explotar el tag de video en toda su extensión al presentar múltiples videos en una misma pantalla enmascarados y combinados. La idea es que existe un video musical con distintos ángulos de cámaras y nosotros nos convertimos en los directores al armar la secuencia de cámaras que deseamos. Y todo con HTML5 funcionando perfectamente en IE9. Al probarlo en Chrome el sitio demora mucho en funcionar y finalmente acaba con la paciencia del usuario que decide ir a probar en Firefox… Al probar en Firefox no aparecen los videos. Esperemos que pronto todos los browsers lleguen a un estado aceptable para que las aplicaciones que hagamos sobre HTML5 funcionen correctamente para todo el mundo.

  • WarNov Developer Evangelist

    Windows Phone 7? Y qué pasa con mis aplicaciones de Windows Mobile?

    • 0 Comments

    Es usted un desarrollador de aplicaciones móviles empresariales?
    Se siente preocupado porque Windows Phone 7 no soporta las aplicaciones hechas para Windows Mobile 6.x?

    En ese caso, este artículo es para ud.

    Comprendo su situación. Más aún cuando para lanzar una plataforma tan novedosa como Windows Phone 7, desde Microsoft debemos enfilar nuestros esfuerzos a promoverla a toda costa.

    Pero tranquilo que esto no significa que Windows Mobile desaparezca. Las aplicaciones que ud ha hecho para Windows Mobile 6.x aún serán compatibles por mucho más tiempo.

    Tal vez usted hasta haya contemplado la posibilidad de migrar de plataforma. Por ejemplo a Android que ha tenido un éxito innegable y tiene un futuro muy prometedor.

    Pero con un poco más de investigación descubrirá que tanto IPhone como Android y el mismo Windows Phone 7 están basados en una arquitectura de “SandBox” en la cual las aplicaciones solo pueden acceder a una zona del sistema operativo desde la cual no pueden acceder nativamente ni al software ni al hardware del aparato. Estos sistemas operativos de teléfonos pertenecen a un segmento distinto al de Windows Mobile. No son orientados a aplicaciones empresariales ni de negocio, sino a aplicaciones de consumidor o de usuario final. Entre otras cosas es por eso que son aplicaciones muy restringidas, pues requieren proteger los intereses de un mundo de usuarios mucho más grandes y ofrecer un entorno absolutamente estándar para que muchos desarrolladores puedan hacer sus aplicaciones fácilmente sobre esta plataforma, pues finalmente lo que asegura mantener un sistema consumidores es tener la mayor cantidad de aplicaciones posibles; sin embargo esto imposibilita por ejemplo la habilidad de apagar los radios internos de los quipos para ahorrar energía, o bloquear o limitar la experiencia de usuario de acuerdo a las necesidades de la aplicación, o la instalación de componentes de software especiales como bases de datos que requieren un acceso nativo a la plataforma. Obviamente esto acarrea por ejemplo la imposibilidad de administrar todo el sistema desde una sola aplicación; condición apenas básica para muchas aplicaciones empresariales.

    En un ambiente de aplicaciones de este tipo entonces observaríamos una fragmentación debido a la necesidad de soportar periféricos especializados, seguridad y funciones de administración De manera que los desarrolladores de aplicaciones empresariales deberían suministrar sus propios drivers y además sus propias extensiones de aplicación; en caso de que esto se diera, sería muy poco probable que cada desarrollador creara las misma utilidades que su competencia y aquí es donde se vería esta fragmentación que limitaría a un cliente su movimiento de una aplicación a otra; cosa que no sucede en Windows Mobile! Así que los clientes que decidan pasarse a usar las aplicaciones empresariales que tras mucho esfuerzo puedan lograrse en plataformas como Android deben tener muy en cuenta que ese software está arquitecturado de una manera tal que las características comunes y las propietarias están separadas. Así pues cuando un cambio de hardware de un proveedor sea necesario las áreas de software que requieren cambios y pruebas serán fácilmente detectables.

    Otra limitante puede ser el requerimiento que muchas industrias tienen de soportar transacciones altamente seguras a través de estándares como el FIPS (Federal Information Processing Standard) que exige certificación de hardware y software. Aunque hoy estas certificaciones son muy comunes en Windows Mobile, es muy poco probable que se empiecen a implementar en otras plataformas antes del 2013.

    En síntesis, va a ser muy complicado de lograr obtener las mismas características a las que Windows Mobile nos tenía acostumbrados. Con toda esta posible fragmentación Windows Mobile sigue siendo la mejor opción para aplicaciones de línea de negocio para dispositivos móviles (handhelds).

    Si no han oído mucho de la evolución de Windows Mobile, déjenme decirles que si sigue evolucionando y lo que conocíamos como Windows CE ahora se conocerá como Windows Embedded Compact 7 (para dispositivos muy específicos como automóviles, minicomputadoras especializadas, etc.) y lo que era Windows Mobile hoy se conoce como Windows Embedded Handheld 6.5 (telefonía, compatibilidad entre distintos dispositivos, seguridad avanzada). Estos dos sistemas operativos ofrecen toda la confianza gracias al nivel empresarial de soporte de Microsoft que hoy asegura 10 años más de soporte y 15 años más de disponibilidad de producto.

    Además:

    • Acceso al Cellcore (toda la telefonía de costumbre)
    • Wi-Fi, Bluetooth y Ethernet
    • Integración a soluciones de administración y seguridad como System Center Configuration Manager y Microsoft Exchange Server
    • Integración con otros servidores como Sql Server, Sharepoint y Windows Server
    • Varios métodos de entrada disponibles (touch, stylus, teclado y más)
    • Múltiples resoluciones de pantalla
    • Procesadores ARM soportados
    • Periféricos adicionales como lectores de códigos de barras, RFID, y lectores de cintas magnéticas.
    • Encripción de datos, borrado remoto, política de obligación de password
    • Tránsito sobre SSL hasta de 256 o VPN

    Pero cómo programo para Windows Embedded Handheld?

    Es cierto. El soporte a este tipo de proyectos fue retirado de Visual Studio 2010. Pero no será para siempre. Por ahora se puede usar Visual Studio 2005/2008 (que se pueden instalar en paralelo con el 2010) en compañía de Windows Mobile 6 SDK y el Compact Framework 3.5.

    Y qué si mi aplicación no requiere tanto poder sino solo un sencillo acceso a base de datos y multitarea mientras se mantienen todas las características de teléfono de usuario final?

    En ese caso también hay buenas noticias porque Windows Phone 7 en su siguiente release (7.5 o Mango) Incluye la base de datos SQL CE para apoyar este tipo de aplicaciones, así como un mejor soporte al multitask ; además aceleración por hardware para HTML5 que en pruebas preliminares arrojan unas velocidades asombrosas sobre otros teléfonos de usuario final actuales. Si solo necesita de estas dos capacidades, bien puede pasarse a trabajar con Windows Phone 7. Eso sí tenga en cuenta: Las herramientas de desarrollador salen el 24 de Mayo. Pero el update como tal para los teléfonos se espera para el otoño de este año.

    En cualquier caso como siempre digo, las tecnologías de Microsoft no mueren ni se reemplazan entre ellas. Solo evolucionan y se especializan para dar más beneficios a los usuarios.

    Get Microsoft Silverlight
     
     
    Get Microsoft Silverlight
  • WarNov Developer Evangelist

    Curso Premium de Azure con la ACIS

    • 0 Comments

    clip_image001

    La Asociación Colombiana de Ingenieros de Sistemas, los invita a participar en nuestro próximo curso a realizarse en las instalaciones de ACIS Calle 93 # 13 - 32, desde Junio 7 al 13 de 2011 en Bogotá

    Curso: Seminario-taller Desarrollo de Aplicaciones Orientadas a Cloud Computing - Microsoft Azure

    Instructor:  Ing. Ricardo González Vargas

    Fecha: Junio 7 al 13 de 2011

    Introducción:
    Uno de los modelos de desarrollo de aplicaciones de software en mayor auge y con mayor proyección a futuro es el Cloud Computing. Esto, debido a las innumerables ventajas que brinda tanto a usuarios, como a empresas proveedoras de servicios, y a los desarrolladores de estas aplicaciones. Entre las ventajas encontradas está el obtener aplicaciones robustas, fácilmente escalables y con disponibilidades muy cercanas al 100%. Todo con costos mucho más bajos de los que se tienen con modelos de despliegue tradicional. Es por esto que para los desarrolladores de software esta alternativa de Cloud Computing se presenta como una gran oportunidad para desarrollar su profesión con tecnología y proyectos de última generación.

    Duración: 20 horas

    Objetivos:
    Se espera que los asistentes adquieran una visión global del modelo de Cloud Computing desde el punto de vista de negocio y más específicamente desde el punto de vista técnico, en dónde adquirirán las destrezas necesarias para formular soluciones de software basadas en Windows Azure. La alternativa de Cloud Computing ofrecida por Microsoft.

    - Realizar una aplicación práctica de los conceptos, a través de laboratorios técnicos que se desarrollarán en cada una de las sesiones.

    - Usar herramientas que optimicen el desarrollo de soluciones de software para Windows Azure.

    - Encontrar soluciones a problemas de software aplicando el modelo de Cloud Computing.

    Orientado a:
    Desarrolladores y Líderes Técnicos de Software con conocimientos en la plataforma de desarrollo Microsoft .NET

    Entregables:
    Se entregan los laboratorios a ser ejecutados durante el curso, así como una máquina Virtual que servirá como herramienta de trabajo.
    Se brindará acceso a artículos relacionados y material adicional online.

    Prerrequisitos:
    Se requiere que los asistentes posean conocimientos en desarrollo ASP.NET y preferiblemente conocimientos también de Windows Communication Foundation y fundamentos de arquitectura de software.

    Contenido:

    El seminario está basado en la última versión del Windows Azure Platform Training Kit publicado en enero de 2011 enfocado a la versión 1.3 del SDK De Windows Azure.

    Sesión 1 (4 Horas) –Introducción
    Descripción: Sesión teórica, presentación de la plataforma, cómputo, storage, roles, familiarización con la herramienta y los portales, demo Hello Azure.

    · Intro a Windows Azure Platform
    · Windows Azure Compute
    · Windows Azure Storage
    · Lab: Introduction to Windows Azure

    Sesión 2 (4 Horas) – Sesión de Diseño
    Descripción: Sesión teórico/practica, construcción de aplicativos utilizando las unidades de Storage de Azure, publicación de servicios en la nube.

    · Windows Azure Storage
    · Lab: Exploring Windows Azure Storage
    · Publicando Aplicaciones en Azure
    · Lab: Deploying Applications in Windows Azure

    Sesión 3 (4 Horas)
    Descripción: Sesión teórico/practica, profundización en dinámica de roles de Windows Azure

    · Trabajando con Roles
    · Lab: Worker Role Communication
    · Lab: Advanced Web and Worker Roles

    Sesión 4 (4 Horas)
    Descripción: Sesión teórico/practica, sesión enfocada a SQL Azure, migración de datos y conectividad.

    · SQL Azure y Reporting Services
    · Lab: Introduction to SQL Azure
    · Lab: Migrating Databases to SQL Azure
    · Lab: SQL Azure Tips and Tricks

    Sesión 5 (4 Horas)
    Descripción: Sesión teórico/practica, conceptos avanzados de Windows Azure, sesión demostrativa de Virtual Machine Role y Windows Azure Connect, introducción y lab a AppFabric.

    · Virtual Machine Role
    · Demo: Virtual Machine Role
    · Windows Azure Connect
    · Demo: Windows Azure Connect
    · AppFabric
    · Lab: Introduction to the AppFabric Service Bus

    Valor:

    Miembros de ACIS:         $400.000 + IVA

    Particulares:                  $530.000 + IVA

    Lugar: Instalaciones de ACIS, Calle 93 # 13-32. Salón Royal.

    NOTA: No disponemos de parqueadero en ACIS.

    CONVENIO PARQUEADERO: Primera hora tarifa plena $50 minuto.  Luego 10% de descuento.
    Dirección: CALLE  93 No 13 A – 28. Teléfono: 2577028

    Duración: 20 Horas

    Fecha

    Horario

    No de Horas

    Martes 7 de Junio

    6:00 pm - 10:00 pm

    4 Horas teórico-prácticas

    Miércoles 8 de Junio

    6:00 pm - 10:00 pm

    4 Horas teórico-prácticas

    Viernes 10 de Junio

    6:00 pm - 10:00 pm

    4 Horas teórico-prácticas

    Sábado 11 de Junio

    8:00 am - 12:00 pm

    4 Horas teórico-prácticas

    Lunes 13 de Junio

    6:00 pm - 10:00 pm

    4 Horas teórico-prácticas

    NOTA: El estudiante debe traer portátil con capacidad de conexión WIFI y se acepta un portátil por dos personas.

    Mayor información (Horario, Lugar, etc) en la página oficial del curso:
    http://www.acis.org.co/index.php?id=1619

    Inscripciones:
    Juanita Pardo Jaramillo. E-mail: jpardo@acis.org.co
    Por Telefax: 6161407 - 6161409
    Por Correo o Personal: Instalaciones ACIS - Calle 93 No. 13-32 Oficina 102 - Bogotá D.C.

    ACIS - Asociación Colombiana de Ingenieros de Sistemas
    Visítelos en su Sitio Virtual:  http://www.acis.org.co
    Sugerencias e inquietudes a:  administrador@acis.org.co


    clip_image002

  • WarNov Developer Evangelist

    Pues AngryBirds sí corre en IE9

    • 7 Comments

    Chrome dice que no está soportado en IE9 pero en realidad la aplicación corre perfecto allí y lo mejor de todo sin necesidad de "instalarla" cosa que si es requerida con Chrome.

  • WarNov Developer Evangelist

    Gana un Windows Phone 7 aprendiendo!

    • 2 Comments

    image

  • WarNov Developer Evangelist

    Windows Phone 7 no solo en la nube, sino en la estratósfera

    • 2 Comments

    Hoy en día todo mundo habla de aplicaciones en la nube; y no es que hayan equipos de cómputo allá en el cielo; todos entendemos la metáfora.

    Pero esta genial historia que me cuenta un colega Evangelist del Reino Unido muestra que la metáfora deja de ser figura literaria para convertirse en algo real.

    Esta aplicación de software y hardware se ejecuta en ambas nubes. Se trata del ASTRA 7, un globo estratosférico de gas con un teléfono móvil Windows Phone 7 incorporado, se lanzó desde Cotswolds en Inglaterra. El teléfono hizo su camino a través de las nubes reales y en la estratosfera; donde ejecutó grabación y envío de datos de localización que se procesaron a través de la nube virtual de Windows Azure. El lanzamiento fue diseñado para probar las capacidades de la plataforma de computación móvil de Windows 7 para capturar, analizar y transmitir datos de ubicación de vehículos no tripulados en la atmósfera superior.

    Las aplicaciones del teléfono incluían un "modo de cazador", que permitió al personal ASTRA en terreno realizar un seguimiento de la carga durante su vuelo y además su recuperación.

    El ASTRA 7 alcanzó una altitud máxima de 18.237 metros durante un vuelo de 1 hora y 16 minutos hacia la estratosfera, donde la presión ambiental fue menos de 10 por ciento de su valor al nivel del mar y la temperatura cayó a -58 C. La velocidad máxima alcanzada por ASTRA 7 fue aproximadamente 145 kilómetros por hora y aterrizó a unos 75 kilómetros, muy cerca de la predicción de prevuelo basada en el modelo de simulación de vuelo. ASTRA 7 también tomó más de 1.200 fotos durante su vuelo; una pequeña muestra:

    clip_image001

    El teléfono y el resto de los equipos estaban protegidos por un gabinete de espuma de celdas de alto grado para garantizar el funcionamiento fiable de la electrónica de a bordo en las condiciones ambientales extremas de la atmósfera superior. El gabinete fue fabricado utilizando una herramienta de corte láser. Como parte del proceso de desarrollo de la Bahía de carga, el equipo ASTRA analizó el gabinete de espuma en una cámara de vacío para garantizar que sus propiedades mecánicas serían satisfactorias en el entorno de muy baja presión de la estratosfera.

    Luego ASTRA 7 emprendió un vuelo más largo para ver cómo la tecnología podría afrontar una más prolongada exposición a condiciones estratosféricas. La carga, consistente en un Windows Phone 7, batería y cámara, permaneció Aerotransportada durante aproximadamente 2 horas 40 minutos, cubriendo aproximadamente 110 kilómetros en el proceso.

    Los científicos de ASTRA están extremadamente satisfechos con el rendimiento del paquete Windows 7, que encaja perfectamente con el objetivo de la iniciativa de desarrollo y prueba plataformas capaces de ofrecer instrumentos científicos a través de vehículos no tripulados a altitudes que van desde la capa límite planetaria a la estratosfera superior. El Dr. András Sóbester, líder de la iniciativa ASTRA, resumió bien: "Nos entusiasma que esto constituye una oportunidad única para recopilar datos importantes que darán nueva visión sobre cómo la atmósfera superior afecta el clima de la tierra y el medio ambiente, utilizando tecnología asequible."

  • WarNov Developer Evangelist

    Qué podemos esperar de HTML5 en IE10

    • 0 Comments

    El MIX11 estuvo lleno de gratos anuncios. Entre ellos, la liberación del primer preview de la plataforma IE10. Lleno de soporte a nuevas características de HTML5. Aquí les hago un recuento de ellas, resaltándoles que la mayor utilidad de este post, es que ustedes mismos tengan un corto resumen de algunos conceptos de HTML5.

     

    • Mayor Performance
      Se ha refinado aún más la integración nativa de IE con el sistema operativo, de manera que la aceleración por hardware funciona aún mejor que en IE9.

    • CSS Multi-column Layout Module
      Funcionalidad a través de la cual las hojas de estilo pueden declarar que el contenido de un elemento va a ser desplegado en múltiples columnas. Hasta ahora, esto era logrado a través de las no muy queridas tablas. Pero el mayor beneficio de una solución basada en CSS es la flexibilidad; contenido que puede flotar de una columna a otra y donde el número de columnas puede variar dependiendo del tamaño del viewport (lo que se ve dentro del browser). Además se puede remover todo el markup de tablas de los documentos lo que los hace más fácilmente entendibles y presentables en varios dispositivos como sintetizadores de voz y dispositivos móviles.

      3 Columnas:

      image

      6 Columnas:

      clip_image004

    • CSS Grid Layout
      El grid puede utilizarse para lograr muchos diseños diferentes en una página. Es genial para la división de espacios y definición de regiones de una aplicación, o definir la relación en términos de tamaño, posición y capa entre las partes de un control creado con HTML.
      Al igual que con las tablas, la cuadrícula permite alinear los elementos en columnas y filas, pero a diferencia de ellas, la cuadrícula no tiene estructura de contenido y permite así una amplia variedad de diseños que no son posibles con tablas. Por ejemplo, los elementos anidados de la cuadrícula pueden posicionarse de tal manera que se superponen entre sí tal como un div. Así que ya no hay que hacer “maromas” para crear una tabla avanzada con divs. Ahora usaremos grids. Esto además ayuda a administrar los cambios de diseño independientemente del código fuente del sitio y de la naturaleza semántica del contenido. Son tan poderosos, que hasta se le pueden poner nombres a las líneas del grid para administrarlos mejor.

      Un sitio que usa grids:

      clip_image008

      Los grids del sitio mostrados:

      clip_image006

      A medida de que los sitios web evolucionan se requieren presentaciones más avanzadas que no se pueden lograr con los elementos actuales de HTML. Los autores web sin embargo han logrado soluciones usando tablas, JavaScript y medidas muy cuidadosas de elementos flotantes. Sin embargo, los diseños que se adaptan al espacio libre siempre resultaban contra intuitivos cuando el espacio se modificaba. Como alternativa los autores de muchos sitios web deciden crear espacios fijos que no pueden tomar ventaja de los cambios en el espacio de renderizado disponible en la página.

      El grid soluciona estos problemas al proveer un mecanismo para que los autores puedan dividir el espacio disponible en columnas y filas usando un conjunto de comportamientos de tamaño predecibles. De esta manera los autores pueden posicionar precisamente sus elementos independientemente del espacio disponible, lo que permite despliegues correctos sin importar si estamos en un televisor de 50 pulgadas o un teléfono móvil.

      Esquema de otro sitio con grids:
      clip_image009

      Como se transformaría fácilmente a través de los grids dicho sitio cambiando el tamaño de la ventana
      clip_image010

    • CSS Flexible Box Layout
      CSS 2.1 definió cuatro modos de layout. Son algoritmos que determinan el tamaño y la posición de cajas basándose en sus relaciones con hermanos y ancestros: block, diseñado para documentos y aplicaciones simples, inline para texto, table para información tabular y positioned para elementos posicionados explícitamente. Para HTML5 se introduce un nuevo modo de layout llamado flexbox que está diseñado para aplicaciones y páginas más complejas.
      Es superficialmente similar al modo block. No tiene algunas propiedades complejas de este como ‘float’ o ‘columns’; pero sí tiene herramientas más simples y poderosas para alinear los contenidos orientados a páginas complejas. El contenido de un flexbox puede desplegarse en cualquier dirección, puede tener un orden intercambiable dinámicamente y puede flexionar sus tamaño y posición dependiendo del espacio disponible.

      Sitio con Flexboxes:

      image

      Al redimensionar el sitio como el contenido está fijo, vemos como se daña el layout:

      image

      Afortunadamente Flexbox permite flexibilizar las formas para que se adapten al nuevo espacio:

      clip_image016

      En la gráfica vemos cómo solo indicando que queremos flexibilidad en las cajas, el contenido se reorganiza para mantenerse ajustado al área disponible.

    • Modo estricto (Strict Mode)
      para el ECMAScript (Javascript) Que permite especificar la directiva “use strict” para que el compilador pueda proveer advertencias y errores que permiten programar de una manera más “formal” el lenguaje de scripts lo que previene comportamientos no deseados.

      Modo tradicional:
      clip_image018

      Modo Estricto:
      clip_image020

    • Gradientes CSS3
      Los gradientes son imágenes que tienen una transición suave de un color a otro. Son usados para generar sombreados sutiles en imágenes de fondo, botones y otros elementos. La idea es que los navegadores puedan generar automáticamente los gradientes y de esta manera evitar que tengamos que adicionar imágenes que ponen más carga al sitio. Los gradientes en HTML5 son un tipo de imágenes y pueden ser usados en todo lugar en donde las imágenes son usadas como en background-image’

      Distintos tipos de gradientes generados por el browser:

      clip_image022

    • CSS 3D Transforms
      Esta es una mejora que se hace a la especificación actual de las transformaciones CSS que permite modificar elementos gráficos en dos dimensiones:

      A través del siguiente código CSS se logra una transformación:

      div { height: 100px; width: 100px; transform: translate(80px, 80px) scale(1.5, 1.5) rotate(45deg); }

      image

      Ahora entonces se propone la posibilidad de hacer estas transformaciones en tres dimensiones. Por ejemplo para lograr transformaciones en la perspectiva para dar una sensación de profundidad a los elementos desplegados.

    • WOFF File Format:
      WOFF es un formato de empaquetado de fuentes (Web Open Font Format) Este formato provee una manera liviana y fácil de implementar de datos de fuente, muy abierta para trabajar con las reglas @font-face de CSS. Recuerdan el 5% que le hizo falta a IE9 para llegar al 100% en las pruebas de ACID? La mitad de ese 5% estaba representado por el formato de fuentes que en el caso del que se chequea con ACID, realmente está cayendo en desuso mientras que WOFF está tomando más fuerza. Por eso IE9 no hizo mucho caso acerca de esta medición. Cualquier fuente correctamente licenciada puede ser empaquetada en el formato WOFF para ser usada en la Web. Los navegadores decodifican el archivo WOFF para restaurar los datos de la fuente de manera que se muestre idénticamente a como es deseado.
      El formato WOFF también permite que metadatos adicionales sean adjuntados al archivo; estos pueden ser usados para diseñadores de fuentes para incluir datos de licencia de la fuente u otra información. 

    • Navigation Timing
      Una interfaz propuesta para HTML5 que permite medir de una manera más completa y precisa que la actual, los tiempos empleados por diferentes acciones durante el ciclo de vida de las páginas HTML. Antes a través de Javascript uno a través de artilugio lograba contar ciertos tiempos pero habían eventos que ciertamente no se podían medir. Esta nueva especificación pretende dar luces en este sentido.

    • Tracking Protection
      Una especificación diseñada para habilitar a los usuarios a que opcionalmente soliciten que su información personal y de navegación no sea recopilada por los servidores de la aplicación de manera que respeten su privacidad. Se espera que los servidores web que lean esta declaración en realidad respeten la privacidad del usuario y no hagan recopilación de la información ya que el estándar no puede ir más allá y eliminar completamente la posibilidad de rastreo.

    clip_image024

    Si bien IE10 está listo con las características antes mencionadas en adición a todas las que ya presentaba IE9 y que ya son parte del estándar, tenemos otro conjunto de características prototipo que harán parte del estándar pero que aún se encuentran en etapas muy tempranas de su desarrollo. Para experimentar con todas estas características que son muy susceptibles a cambiar, Microsoft ha dispuesto el sitio <HTML5 LABS>

    Así pues, en este portal encontramos futuras características de HTML5 como:

    • IndexedDB
      Hoy en día es bien sabido que las aplicaciones Web requieren almacenar datos tanto de sesión como grandes cantidades de datos adicionales que tal vez queremos usar luego sin conexión o dejar en el cliente por motivos de performance.
      Para satisfacer esta necesidad se estableció anteriormente (HTML4) la especificación de WebStorage que básicamente permite almacenar en el cliente parejas de llaves y valores.
      Sin embargo WebStorage no provee un mecanismo para obtener los valores almacenados de acuerdo al orden; además tampoco presenta eficiencia en la búsqueda sobre valores y tampoco permite el almacenamiento de valores duplicados para una misma llave.
      Así que para HTML5 se plantea una nueva especificación de un API concreta que permite ejecutar administración avanzada de las parejas de llave valor al mejor estilo de los procesadores de consultas más sofisticados. Esto se logra usando bases de datos transaccionales para almacenar llaves y sus correspondientes valores (uno o más por llave) y proveyendo los medios de recorrer las llaves en un orden determinístico. Esto es implementado a menudo a través del uso de estructuras persistentes en forma de árboles B que son consideradas eficientes para la inserción y eliminado así como pata ser recorridas en orden cuando hay grandes cantidades de registros.
      Aunque la teoría suena sencilla, la implementación no lo es. De hecho la especificación del estándar en este punto es una de las más complejas en todo el conjunto.

    • WebSockets
      Es una tecnología para proporcionar canales de comunicación bidireccional, Dúplex completos, sobre un único socket TCP. Está diseñado para ser implementado en navegadores web y servidores web, pero puede ser utilizado por cualquier aplicación de cliente o servidor. La API de WebSocket está siendo estandarizada por el W3C y el Protocolo de WebSocket está siendo estandarizado por el IETF. Dado que en general las conexiones TCP a puertos distintos del 80 con frecuencia están bloqueadas por los administradores fuera de entornos domésticos, WebSockets es una gran manera de superar estas restricciones y ofrecer una funcionalidad similar multiplexando varios servicios de WebSocket en un solo puerto TCP.
      Por el lado del cliente, WebSocket se ha implementado en Firefox 4, Google Chrome 4, Opera 11 y Safari 5, así como la versión móvil de Safari en iOS 4.2. Sin embargo, aunque presente, fue deshabilitado en Firefox y Opera debido a preocupaciones sobre vulnerabilidades de seguridad. Internet Explorer 10 en su primer platform preview nos trae también una excelente implementación de WebSockets.

    • FileApi
      Las aplicaciones web deberían tener la habilidad de manipular tanto como sea posible, la entrada de los usuarios, lo que incluye archivos que el usuario quiera subir a un servidor remoto o manipular dentro de una aplicación web enriquecida. Esta especificación define representación básica de archivos, listas de archivos, errores originados por el manejo de archivos y métodos programáticos para leer archivos.
      Adicionalmente esta especificación también define una interfaz que representa “datos crudos” que pueden ser asincrónicamente procesados en el hilo principal de los navegadores. Esto permite por ejemplo que la interfaz de usuario no se bloquee mientras se carga un archivo.

    • Media Capture API
      Esta API define una interfaz de alto nivel para acceder al micrófono y cámara de una máquina cliente. Completa la especificación HTMLMEDIACAPTURE de HTML4 para brindar un acceso programático a los procesos de captura. Microsoft específicamente está proponiendo extender esta API para incluir en HTML5 el reconocimiento de voz y poder navegar a través de comandos hablados.

      A continuación un ejemplo de experiencias de usuario mejoradas con reconocimiento de voz en la navegación usando además un dispositivo móvil como lo puede ser un teléfono con soporte a HTML5 como lo es la versión 7.5 de Windows Phone 7 conocida también como Mango.

      image 



      image




      image
       

    Conclusión

    HTML5 es todo un nuevo mundo de muchas tecnologías de presentación. Todas estas tecnologías están encaminadas a poder ofrecer cada vez mejores aplicaciones en la web tratando en lo posible que sea un estándar en todos los browsers sin usar plug ins. Es una gran cantidad de conocimiento la que se debe adquirir para comenzar a desarrollar sobre este estándar y aquí he dado unos lineamientos acerca de los temas sobre los cuales deberíamos comenzar a estudiar.

  • WarNov Developer Evangelist

    WarNov DE Blog y Ciudad Tecnopolis, Hosting Colombiano, ofrecen servicio gratis a entusiastas .NET!

    • 0 Comments

    Me complace informarles que luego de estar en contacto con la gerencia de esta prestigiosa empresa de hosting colombiana a cargo de Oscar Cótamo un gran entusiasta de nuestras tecnologías, me ha contado su decisión de ofrecer nada menos que 300 planes de hosting  GRATUITO!

    image

     

    Las características del plan son las siguientes:

    Código

    Per-dom-win

    Nombre

    Hosting personal y dominio

    Espacio

    500MB

    Trafico

    10.000MB

    Correo

    50

    Capacidad de coreo

    7.000 MB

    Redirección de correo

    Si

    Listas de correo

    Si

    Autoresponders

    Si

    Webmail

    Si

    PHP

    PHP 4.4.7 - PHP 5.2.3

    ASP .NET

    ASP .NET 2, 2.5, 3.5, 4

    Java

    2

    Bases de datos SQL Server

    Si

    Versión

    Sql Server 2008 R2 Web Edition

    Cantidad

    1

    Tamaño en disco de SqlServer

    200

    Bases de Datos MySQL

    Si

    Versión

    MySQL 5.0.37

    Tamaño MySQL

    300

    Cantidad

    3

    Bases de Datos Posgress

    No

    Cantidad

    0

    Versión

     

    Subdominios

    50

    Cuentas FTP

    50

    Alias de Dominio

    5

    Usuarios Web

    50

    FrontPage

    5

    ODBC

    5

    Directorio protegidos por contraseña

    ilimitados

    El plan gratuito será por un año y esta oferta tiene vigencia de 6 meses a partir de hoy, Mayo 4 de 2011.

    El plan no incluye dominio. Puedes traer tu dominio existente, o comprar uno con CiudadTecnopolis de acuerdo a los siguientes valores:

    .com, .info, .net, .org $35.000
    .com.co $45.000
    .co $65.000

    La única condición para poder acceder al plan, es que el sitio sea creado con tecnologías basadas en Microsoft .NET. Esto hace parte de una iniciativa de WarNov Developer Evangelist, y CiudadTecnopolis para apoyar a los emprendedores colombianos con tecnologías .NET.

    Para acceder a la oferta por favor dar “me gusta” al principio de este post y enviar correo con la descripción de su sitio y un corto relato acerca de su entusiasmo por nuestras tecnologías .net al correo devcol@microsoft.com con el asunto “Hosting Gratuito”

Page 1 of 1 (13 items)