Tecnologia para su PMO

En estos últimos años ha cobrado mayor fuerza para mas y mas empresas el concepto de entender porque es necesario tener una PMO. En este orden de ideas, hay que entender cuando y porque establecer una PMO y como la tecnología me puede ayudar a hacer una realidad la iniciativa de formalizar y estandarizar la manera como los proyectos son manejados. A partir de las mejores practicas la necesidad de establecer una PMO se justifica o no dentro de una organización. Si por el contrario su organización aun no tiene un volumen importante de proyectos, pero definitivamente el crecimiento proyectado apunta a manejar multiples proyectos, desde mi punto de vista se debería apoya la iniciativa de establecer una oficina de proyectos.
Por otro lado sin duda una herramienta que es menospreciada en el mercado es Project, esto porque siempre se evalúa Project como una herramienta aislada y no en su conjunto completo como Project Server y hoy en día Project Online. Gracias a estas herramientas de servidor es mucho mas fácil soportar la resistencia al cambio  de las empresas, puesto que la PMO al establecer formatos a seguir en cada area de gestión de los proyectos puede volver mas pesado el proceso de seguimiento, control y gestión de los proyectos. Gracias a la combinación de Project Server y Sharepoint se hace posible que por ejemplo los proyectos aprobados por la gerencia de una vez se generen con los formatos a tener en cuenta por las organizaciones y por la oficina de proyectos para la gestion efectiva del mismo, y parametrizando los proyectos de tal forma que sea facil consolidar los resultados de gestión de los proyectos.

Gracias a mi ultima experiencia junto a Simplifica he descubierto el gran potencial que tiene esta solucion en organizaciones que sin importar el tamaño ven en los proyectos su estrategia de eficiencia y efectividad.

Lo nuevo con Windows Mobile Phone Series

Hola a todos,

En esta ocasión quiero compartir con Ustedes acerca de lo nuevo de Windows 7 Phone Series y sobre como cambiaria la manera de realizar aplicaciones móviles.

Para empezar hablemos un poco de lo que venía antes con la telefonía móvil y la plataforma para desarrollar en Windows Mobile.

Dentro del roadmap de Microsoft para desarrollo sobre dispositivos móviles encontramos las múltiples versiones de Windows CE que después se convirtió en Windows Mobile, para ser este último la plataforma ideal para desarrollo de aplicaciones empresariales con lenguajes .NET. Windows CE se convirtió  mas en la plataforma para desarrollos embebidos con Visual Embedded lo que actualmente esta especializándose en el Microframework

Dentro del avance de los dispositivos móviles la plataforma de Windows Mobile tomo gran parte del mercado llegando a ser punta de lanza en este tipo de tecnología. Sin embargo el segmento de programadores que para ese entonces se dividía entre desarrolladores .NET o bien Java, empezaron a ganar territorio plataformas como las de Blackberry para clientes corporativos y iPhone para usuarios finales, mientras que Windows Mobile no se movía dentro del mercado para ningún lado. Haciendo grandes esfuerzos por mantener y liberar grandes funcionalidades dentro de las plataformas corporativas curiosamente a los usuarios de este segmento tan delicado, poco les puede importar que todos los datos de Blackberry pasen y se queden en los servidores de la misma empresa aun cuando sobre estos teléfonos circule información de gran importancia. La ventaja más grande que se ofrece sobre dicha plataforma es la rapidez y lo barato que sale al menos para Colombia un plan de datos de Blackberry frente a uno con tecnologías de Windows Mobile.

Dentro de los equipos de desarrollo que hoy en día siguen desarrollando sobre la plataforma de Windows Mobile, quizás estén un poco molestos por la decisión que Microsoft adopto de no ofrecer compatibilidad hacia atrás a los desarrollos que hace años se venían realizando sobre la plataforma, pues restringir el desarrollo de aplicaciones móviles al uso de tecnologías como Silverlight y XNA ponen sobre la mesa lo que Microsoft promociono desde que .NET salió al  aire y es el no tener que reaprender para poder estar al día en la tecnología. Si bien los desarrolladores Web sientan que su campo de acción ahora es más amplio por el uso de este tipo de tecnologías sobre múltiples dispositivos, quienes desarrollaron sobre Windows Mobile sienten que aun no hay espacio para ellos al menos dentro de Visual Studio 2010.

Dentro de las preguntas frecuentes que también surgen es el pensar que este tipo de teléfonos y tecnologías que tanto Microsoft como Google se empeñan en desarrollar están basados en servicios sobre internet, lo cual definitivamente es el futuro para países como el nuestro y quizás el presente para muchos de los países en donde estas tecnologías son un éxito total. Sin embargo, cada vez estamos dependiendo más de la conexión y en geografías como las nuestras que no permiten un cubrimiento completo de señal ni siquiera de señal de radio, es frustrante no tener múltiples servicios disponibles al momento de querer adquirir esta ultima tecnología.

Volviendo a Windows Phone 7 Series…

Hasta ahora el desarrollo sobre estos dispositivos esta solamente disponible para quienes desarrollamos en C# (felizmente).

La forma de desarrollar se dividirá en dos: XNA o Silverlight. Puntualmente XNA como plataforma de desarrollo de juegos que ya es bastante conocida por quienes estaban desde antes interesados en el tema de desarrollo de juegos para PC y XBOX 360. Silverlight como tecnología de RIAs que ya ha venido sonando de manera fuerte para las agencias Web. Además solamente está disponible para dos tipos de tamaño de pantalla: 320×480 y 480×800. La orientación obviamente no ha cambiado, las dos pantallas soportan la rotación de Portrait y Landscape.

Los botones también son un cambio interesante. Son solo 3 botones de aplicación Atrás, Inicio y Buscar. el resto de interacción va orientado al uso de la pantalla capacitiva así como del SIP (Soft Input Panel) (Teclado virtual).

La pantalla es también quizás uno de los beneficios pues esta basado en LEDs y específicamente en OLED (Organic LED) lo cual asegura un bajo consumo de batería, algo que es crítico en dispositivos móviles.

Dentro de los otros sensores que puede tener el teléfono, ofrece soporte para varios tipos de aplicaciones, entre ellos están:

· Wi-Fi

· Cámara

· Acelerómetro

· Brújula

· Localización (Basado en GPS, Triangulación y otras estrategias, dependiendo de la red a la que el teléfono se conecte)

· Speech – reconocimiento de voz

· Vibración

· Notificaciones Push: Esto para servicios de internet, notificaciones de cambios y servicios configurados sobre el dispositivo.

Dentro de todo este desarrollo, tendremos que esperar a que los dispositivos esten listos y sobre todo que las herramientas estén disponibles para el RTM de Visual Studio 2010.

Vea más sobre Windows Phone 7 Series aqui.

Saludos,

 

Roberto Erazo

SQL Server 24 horas de trainning

Hola a todos, quisiera compartir e invitarlos a un importante evento que se esta llevando a cabo desde el dia de hoy hasta el 23 de abril sobre SQL Server 2008 R2 es el 24 Hours of Pass

Excelente contenido que pueden ver desde sus casas, que esperan para entrar?

http://www.sqlpass.org/24hours/2010/SQLServer2008R2.aspx

 

Saludos,

Roberto Erazo

F# by Microsoft Research

Dentro de los lenguajes de programacion que Microsoft ha vinculado al Framework de .NET aparte de los que ya son soportados por cumplir el Common Language Specification, se encuentra F#, el desarrollo de este lenguaje se hace ya hace varios años dentro de los proyectos de Microsoft Research, ofreciendo la posibilidad de tener un lenguaje de programacion funcional, que permite tener scripting interactivo, tal como Phyton y otros lenguajes, asi como tambien soporte para la visualizacion de datos, un desempeño tal como el de C#, soportando cross-compiling con el popular lenguaje OCaml. Las ventajas por ser parte de un lenguaje dentro de la plataforma de .NET es la de acceder a las librerias del mismo Framework, y ya esta disponible para que lo uses.

Para aprender mas de F# vea:

Library.

Downloads.

Developer Center.

Saludos,

Roberto Erazo

Overview Live Services

Hola a todos, de seguro han escuchado acerca de los Servicios de Live que hoy en día disfrutamos y con los cuales podemos utilizar para nuestras aplicaciones. Hoy quiero poner un breve repaso a varios de los servicios que están disponibles para que sean aprovechados:

Para los desarrolladores los siguientes servicios están disponibles, sin embargo si desea ver más al respecto por favor no deje de visitar http://dev.live.com

Live Framework SDK: Este SDK esta en CTP (Community Team Preview) y su principal objetivo es disponer de una serie de clases que estén disponibles para usarse en diferentes lenguajes y tipos de aplicación.

Soporte: WinXP x86, Win Vista, Win7, IE7, IE8, Firefox3.0

Requiere: VS2008, Framework 3.5, Silverlight 2.0

Este framework se basa en 3 principios:

Completo

    • Incluye software de cliente y cloud computing
    • Trabaja en línea y fuera de línea
    • Maneja datos, aplicaciones y dispositivos
    • Habilitado para usuario final y empresas.

Simple

    • Para Integrar
    • Fácil de conectar y sincronizar
    • Fácil de mantener usuarios en control
    • Listo para Internet

Abierto

    • Protocolos estándar
    • Formatos
    • Sincronizado
    • Kit de API compartido a la comunidad.

El Framework de Live esta entonces diseñado en tres componentes:

Ambiente Operativo de Live: Un motor de composición que expone el modelo de programación de Live Framework para endpoints de cliente y en la nube.

Modelo de Recursos: Contiene recursos concretos (tipos) y sus relaciones. Todo en el Framework de Live es expuesto como un recurso sin importar si es una aplicación, datos, notificaciones y contactos. Todos los recursos se descubren de manera consistente con un esquema de nombre y direccionamiento. Todos los recursos son direccionables URI. Todos los recursos siguen un modelo extensible consistente, y permiten la creación de un dominio específico personalizado que puede ser compartido, sincronizado y accedido por dispositivos y en la nube.

Modelo de Programación y Aplicación: Contiene elementos del modelo de recursos para instalación, administración, descubrimiento y para correr aplicaciones.

Para desarrolladores:

Alcance a Nube/Cliente/Dispositivo: Fácil manera de crear aplicaciones para la nube, cliente y dispositivos.

Acceso a datos de usuario: Simple para integrar datos de usuario, gráficos sociales, etc.

Ecosistema de aplicación: La posibilidad de construir aplicaciones que se puedan descubrir, manejar e instalar de la misma forma con usuarios de Mesh y puedan ser compartidas con otros.

Fácil de empezar: Puede usar sus habilidades actuales, no es necesario re-escribir, disponible para variedad de plataformas, dispositivos y lenguajes de programación.

Servicios Live, API’s para datos de Usuario: Las API’s de datos permiten que los usuarios de Live compartan de manera segura información. Las API’s disponibles son:

Windows Live Contact API – Beta: Servicio basado en HTTP que permite a los desarrolladores realizar consultas de los Contactos de Live. De manera adicional toda la interfaz de administración de contactos de Live. De igual forma puede ser utilizada para enviar información a dichos contactos. La autenticación es delegada, se hace a través de la autenticación delegada de LiveId. El API ofrece las siguientes funcionalidades, Update, Invite y View.

Windows Live Photo API CTP: (obsoleta).

Windows Live Application Based Storage API CTP: (obsoleta).

Windows Live Messenger SDK: Windows Live Web Messenger Toolkit es una serie de API’s que permite que sitios de terceros obtengan funcionalidades de mensajería instantánea, tal como Live Messenger. Dentro de este toolkit se encuentran Windows Live Messenger UI Controls, que son básicamente controles HTML que pueden ser utilizados en desarrollos Web, es posible usar XHTML o CSS para personalizar la apariencia de los mismos. Windows Live Messenger Library es una librería JavaScript del lado del cliente que expone un modelo de objetos que permite interactuar con Live Messenger, se recomienda su uso en donde los controles de Live no aplican. Windows Live Alerts SDK, permite implementar alertas y notificaciones a través de SOAP usando Live Alerts.

Windows Live Id SDK: Es el sistema de autenticación antes conocido como Passport, de esta manera es posible utilizar el servicio de autenticación de Live para utilizarlo en sitios de terceros. Dentro de estos servicios se encuentran: Windows Live Id Client, Windows Live Id Delegated Authetication SDK for Application Providers, es lo que permite acceder a información de la cuenta Live Id y Windows Live Id Web Authentication.

Microsoft Advertising API: Esta API está compuesta por dos API’s. Microsoft adCenter API y Microsoft Atlas API. Microsoft adCenter API version 6 permite crear aplicaciones que aprovechen las características de las campañas y grupos de adCenter.Microsoft Atlas API permite acceder de manera programática a Atlas Media Console, para crear y administrar campañas de advertising.

Silverlight Streaming SDK: Este servicio de Live permite que de manera gratuita sea posible almacenar videos y aplicaciones Silverlight. Los limites de videos es que no sean mayores a 10 minutos con un máximo de bit rate de 1.4 Mbps. Silverlight Streaming está diseñado para dos tipos de contenidos, aplicaciones interactivas y media, y el desarrollo de aplicaciones de contenido con contenido media. A través de Visual Studio y Expression Studio es posible construir aplicaciones de este tipo para que sean publicadas o bien se use Silverlight Streaming como parte de la misma.

Windows Live Admin Center SDK: Este SDK permite que los desarrolladores administre programáticamente sus cuentas y dominios registrados con Windows Live Admin Center. Admin Center también soporta los dominios que actualmente están personalizados como Microsoft Live@Edu y Microsoft Live@Net

Windows Live Tools for Visual Studio Controls: Estos son una serie de controles que pueden adicionarse a páginas Web con los cuales se incorpora varios de los servicios de Live a sus aplicaciones. Estos controles se pueden usar desde Visual Studio 2008 así como desde Visual Web Developer Express 2008. Algunos de los controles son:

  • IDLoginStatus: Para agregar el control de Login ID de Windows Live
  • IDLoginView: Esta es una plantilla que como mecanismo de control de acceso a una página Web.
  • Contacts: Este control provee acceso a los contactos de Windows Live Contact, así como obtener información de Windows Live Id de los contactos.
  • Messenger Chat: Este control permite acceder a Messenger desde una página Web. Este control posee tres vistas diferentes, como un icono, botón o ventana (por defecto). Es posible cambiar la apariencia del control fijando las características ColorTheme-Name, de igual forma si se desea tener un color personalizado se fija el parámetro a Custom y se provee un color a través del nombre del color o bien en formato #ffffff.
  • SilverlightStreamingMediaPlayer: Permite tener streaming de video dentro de una página Web ofreciendo una cuenta dentro de Silverlight Streaming. Si no se tiene una cuenta de Silverlight Streaming es posible proveer una URL que provea la fuente de video a través del parámetro MediaSourceProvider.
  • Map: El control de Mapas permite: mostrar un mapa, controlar el mapa, adicionar capas al mapa, usar rutas y direcciones, usar el método find y trabajar con la vista de pájaro Bird eye view.

Windows Live Spaces: Existe una API disponible para aprovechar los servicios de Live Spaces, Windows Live Spaces MetaWeblog, permite que programas externos, puedan obtener y asignar posts Weblogs. El protocolo de comunicación usado por este API es XML-RPC, para poder comunicar aplicaciones de cliente con el servidor Weblog.

Windows Live Client Extensibility API’s: Estas APIs permiten extender la funcionalidad de un Windows Live Client. Las APIs disponibles son:

  • Windows Live Messenger Activity SDK: Este SDK contiene información y documentación sobre cómo usar y probar aplicaciones multiusuario usando el modelo de objetos de Actividad.
  • Windows Live Photo Gallery SDK: Este SDK incluye dos SDKs adicionales:
  • Windows Live Photo Gallery Publishing Plug-in Platform: Son plug-ins de publicación de fotos y videos sobre la plataforma Live.
  • Windows Live Photo Gallery Simple Extensibility Points: Provee la capacidad de extender, personalizar e integrarse con la plataforma de Windows Live Photo Gallery. Un ejemplo de esto son las extensiones que se pueden integrar dentro de Live Gallery a través del menú de Extras para que a través de otras aplicaciones se pueda integrar a la plataforma.
  • Windows Live Writer SDK: Este SDK se compone de 3 APIs:
  • Application: Esta API permite lanzar la aplicación para realizar posts.
  • Content Source Plug-in: Permite extender Live Writer para publicar nuevos tipos de contenido.
  • Provider Customization: Permite personalizar características de Writer así como adicionar nuevas características de la interfaz de usuario de Writer.
  • Windows Live Toolbar Custom Button API: Permite extender el Toolbar de Live con botones personalizados, la mayoría del SDK muestra como a través de XML es posible crear botones más sofisticados.

Para mas información por favor haga referencia a este link

Las aplicaciones de todo lo que Live tiene y su extensión y aplicación dentro de aplicaciones personalizadas es algo que se tiene que aprovechar, tomando en cuenta una serie de APIs y SDKs disponibles que permiten realizar dichas extensiones con mayor productividad. De igual forma esta serie de servicios y aplicaciones deben ser aprovechadas y conocidas desde el punto de vista no solo programático sino también a nivel de usuario final, pues de esta manera se logra entender la aplicabilidad de estos servicios en aplicaciones de terceros.

Saludos,

Roberto Erazo

Para ver ejemplos paso a paso sobre algunas implementaciones de estos servicios vea http://www.frameworkla.net

Colombia Go to Paris!!

Como bien saben el proximo 3 de Julio se llevara a cabo en Paris, la final mundial de Imagine Cup 2008. Esta competencia reunira este año a los estudiantes con las mas brillantes ideas sobre tecnologia aplicada a la conservacion de un ambiente sostenible.

Es de gran importancia para Colombia la participacion que este año especialmente tendra, puesto que el equipo Caucano no solo competira por la categoria de Diseño de Software sino tambien la categoria Rural, un premio especial diseñado solo para los finalistas mundiales, en donde solamente 5 proyectos fueron los aprobados por los jurados por su alto impacto hacia las personas del agro.

GreenHouse es la solucion con la que la Universidad del Cauca, representados por: Jimena Timana, Germain Bolaños, Elvis Perez y Dario Estupiñan con la asesoria de Carlos Cobos, tendran la mision de pelear por el titulo mundial. GreenHouse es un sistema de soporte a toma de desiciones con el fin de brindar valiosa informacion a instituciones gubernamentales y no gubernamentales dedicadas a la preservacion de la tierra, y las semillas tropicales. De manera adicional dado el diseño presentado por los estudiantes de la Universidad del Cauca, el proyecto puede aprovecharse para mostrar analisis de semillas de productos que en cada region se producen, con el fin de brindar datos importantes para la mejor produccion de productos que los agricultores del mundo deseen producir de mejor forma. Si bien GreenHouse no es un proyecto que tenga como usuario final al campesino, si tiene como fin beneficiar a instituciones que se encargan de controlar y brindar asesoria al campesino, lo cual indirectamente beneficia a la gente del campo.

Felicitaciones y muchos exitos en Francia, espero se haga lo mejor por nuestro pais y por todos los paises representados por ellos como Ganadores de la Region Andina.

 

Saludos,

Roberto Erazo
Academic Developer Evangelist
Microsoft Colombia

XNA Game Creators Club

Hoy en dia existe un club de creadores de video juegos, http://creators.xna.com este sitio contiene contenidos que pueden ayudar a los interesados en saber mas acerca del desarrollo de video juegos con XNA, tecnologia que permite el desarrollo de juegos para XBOX 360.

Adicionalmente a esto, quiero compartirles un link acerca del desarrollo de Juegos del buen William Rivera, quien nos colabora con charlas sobre el tema. ver Webcast

Por otro lado, quiero invitarlos al siguiente Webcast sobre desarrollo de juegos, sobre el uso de animacion y texturas con XNA. Inscribirse al Webcast

Saludos,

Roberto C Erazo M
Academic Developer Evangelist
Microsoft Colombia

Game Studio 3.0 Community Technical Preview (CTP) ahora disponible!

Una de las caracteristicas mas importantes para esta nueva version es la posibilidad de diseñar juegos para Zune, entre lo mas importante encontraremos en este CTP:

  • Crear y desplegar juegos 2D para Zune v1 y v2.
  • Posibilidad de soportar juegos multijugador atraves de la wireless para multiples Zune.
  • Creacion de diferentes visualizaciones para un playlist dentro del Zune
  • Una API para mejorar los efectos de sonido.
  • Puedes correr este CTP con Visual C# 2008 Express Edition

Limitaciones:

  • Este CTP no esta habilitado para XBOX 360, solo para Windows y Zune, para hacer deployment en XBOX 360 debe usar XNA Game Creator Studio 2.0
  • Visual Studio 2005 no soporta XNA Game Studio 3.0

Este CTP esta ya disponible en Creators Club http://creators.xna.com

Saludos,

Roberto C. Erazo M.
Academic Developer Evangelist
Microsoft Colombia