3.19.2009
Algunos Comentarios sobre Los Anuncios de Microsoft en Mix
En muchos lados de la red hay información al respecto. Me gustaría compartir algunas primeras reflexiones sobre lo que me parece más importante de lo anunciado.
Silverlight 3.0 (Beta): Microsoft sigue invirtiendo fuertemente en Silverlight que ya desde la versión anterior (2.0) me parece que era mejor que Adobe Flash en muchos aspectos. La nueva versión anunciada incluye funciones que la van a hacer mucho más aceptada aún. El soporte a aplicaciones fuera del navegador hace a Silverlight más viable para aplicaciones de línea de negocios. La inclusión de más de 60 controles con código fuente también me parece muy relevante.
Estas mejoras desde mi punto de vista tienen un efecto interesante cuando se compara a Silverlight con WPF como plataforma para aplicaciones sofisticadas. Ambas mejoras hacen más amplios los escenarios de negocio donde uno escogería Silverlight por encima de WPF como objetivo de desarrollo. WPF no se hace irrelevante, pero definitivamente vamos a estar escogiendo Silverlight para algunos escenarios donde antes hubieramos usado WPF.
Internet Explorer 8.0 (Versión Final): Da gusto que Microsoft esté mejorando su navegador, aunque habría que reconocer que la competencia definitivamente ha jugado una "influencia positiva" en esto. En este momento estoy escribiendo este post desde la versión de 64 bits de IE8. Lo voy a estar usando un rato para evaluarlo. La verdad es que va a costar trabajo recuperar la reputación de IE después de la debacle de IE 6. Hasta hora donde he navegado funcionó bien excepto en Facebook donde tuve que prender el modo de compatibilidad con IE7. Creo que el impacto de IE8 dependerá en parte de cuantos sitios se animen a tomar provecho de sus nuevas funciones como WebSlices o Accelerators. La verdad es que la competencia en navegadores está candente y esto sólo significa beneficios para los usuarios.
Cambiando un poco de tema, me quiero quejar del limitado soporte a 64 bits en algunos productos Microsoft. Especificamente, no hay planes para Silverlight en 64 bits (¡¡¡ni para Visual Studio!!! ¡¡¡ni para Office!!!). Me parece que es un error. La estabilidad de Windows en 64 bits es mucho mejor que en 32 y el performance también. En cosa de un año o dos muchas computadoras van a traer más de 4GB de RAM y para aprovechar eso a fondo necesitamos 64 bits. Ahora que Adobe tiene el mismo problema con Flash, aunque ellos ya anunciaron que si soportaran 64 bits (y ya sacaron una versión para Linux).
Outlook es un mounstro consumidor de memoria que le vendrían muy bien los 64 bits y, en cuanto a Visual Studio.....todos sabemos cuantas ventanas, instancias, etc nos gusta tener abiertas simultáneamente a los desarrolladores. En cuanto a Silverlight, su ausencia en 64 bits como la de Flash hacen que el IE8 de 64 bits sea casi un adorno inusable en muchos sitios.
Por ultimo esta semana Apple anunció y liberó el beta del iPhone OS 3.0. Me parece que hay varios elementos interesantes, llamándome la atención mucho el soporte peer-to-peer. En mi opinión este modelo ha estado muy subexplotado en aplicaciones móviles y hay literalemente miles de posibilidades a explorar. Si es realmente fácil conectarme con otro iPhone creo que veremos una inundación de aplicaciones que tomen ventaja de esto.
Microsoft tiene que meterle velocidad máxima a Windows Mobile 7.
2.20.2009
Consejos para Desarrolladores de Software en un Ambiente Recesivo
Desde entonces se ha dado una discusión muy interesante dentro del grupo de Microsoft Regional Directors sobre consejos orientados a desarrolladores. ¿Qué puede hacer un desarrollador para incrementar sus posibilidades de mantener su trabajo o, en caso de estar desempleado, mejorar sus posibilidades de encontrar trabajo?
Quiero aclarar que estas ideas no son mías (aunque estoy de acuerdo con ellas). Son de varios Microsoft Regional Directors de todo el mundo. La mayoría son o empresarios de software o tienen puestos directivos dentro de las áreas de TI en corporativos.
1. Trata tu Trabajo como Tal y Hazlo con Orgullo: "Muchos desarrolladores tratan a su trabajo como un hobbie, atacan con pasión las partes que les gustan y tratan de evitar todo lo demás. Pensemos en la gente que hace trabajos mucho más meniales. Sin duda no lo hacen por diversión pero hacen un buen trabajo porque es la razón por la que cobran. Si estos desarrolladores tuvieran la misma actitud, probarían mejor su código y lo documentarían adecuadamente."
2. Conoce Más sobre "El Negocio": "Los desarrolladores deben aprender un poco sobre el negocio. Me parece que con "la gente de negocios" tomando las decisiones sobre quien se queda y quien se va en una recesión entender tu valor para el negocio y ser capaz de expresarlo es muy importante. También si miras a tu alrededor y te das cuenta que el proyecto en el que estás trabajando no es crítico para el negocio o pierde dinero continuamente puede convenirte ofrecerte a apoyar en otros proyectos en una parte más importante del negocio. Ser capaz de comunicarse elocuentemente con gerentes y directores ayuda mucho a mantener el trabajo y, en caso de ser despedido, el ser capaz de expresar el valor que aportaste de negocio en tu empleo anterior mejora mucho tus posibilidades de ser contratado de nuevo."
3. Busca Moverte Hacia Arriba en la Cadena de Valor: "Pensemos en esto: la gente al final de la linea de producción es de la más facil de eliminar cuando cae la demanda. Todos entendemos eso cuando hablamos por ejemplo de la línea de producción de General Motors. Pero lo que muchos desarrolladores no entienden es que *ellos también pueden estar al final de la cadena de valor*. Esas son las malas noticias. las buenas son que es relativamente fácil subir en la cadena: se un conducto hacia la "gente de negocios", involucrate en el soporte a las ventas nuevas, promueve la identificación y reuso de propiedad intelectual existente, mide tu rentabilidad y propón y apoya esquemas que reduzcan los costos. Muestra como el desarrollo de calidad puede bajar los costos y hazlo realidad."
4. ¿Tienes una Ética de Trabajo? "Entiende que el lugar donde trabajas se trata de generar utilidades y no necesariamente de hacer del mundo un mejor lugar o avanzar la tecnología. La innovación tiende a ser complicada en este ambiente económico. Cualquier proyecto de investigación, lateral, o experimental/divertido puede pasar de un día para otro a ser un gasto innecesario. Una recesión es un momento cuando la actitud de - esta compañía tiene suerte de tenerme - probablemente deba guardarse por un par de años. Ayuda en los proyectos que generan ingresos para la empresa - aunque no usen WPF, Ajax o tu tecnología favorita del momento. Comprende que celulares, gadgets y computadoras Corei7 no son gratis aunque parezcan relativamente baratas."
5. Sobre Negociaciones de Sueldo y Compensación: "Yo tendría cuidado en las revisiones anuales con respecto a demandas y necesidades. Ayuda muchísimo si puedes alinear tus demandas de mejores ingresos a los objetivos de negocio. Por ejemplo, bonos y compensación variable. Jugar rudo puede ser por ahora una oportunidad de entrar a la lista de recortes. Cualquier compensación que te haga más atractivo con los tipos que balancean el presupuesto te ayuda."
6. Reconsidera tus Dogmas: "Algunos desarrolladores tienden a ser dogmáticos. Se vuelven religiosos acerca del lenguaje (C# vs. VB), proceso (Agil vs. CMMI), técnicas (TDD vs. patrones), etcetera. La mayor parte de los tomadores de decisión de negocios no están interesados en eso. Hace poco me tocó ver a un par de excelentes desarrolladores perder su trabajo. No estaba haciendo ningún trabajo "real" porque les preocupaba más dedicarse a defender sus dogmas. Quizá tienen razón. Quizá el cliente va a pagar caro por sus decisiones técnicas mal tomadas. Pero por lo pronto ellos no tienen trabajo y otros si."
Definitivamente en mi opinión no todo en la vida es "conservar la chamba". Cada situación personal es diferente. Sin embargo, estos consejos, aunque puedan resultar un poco dificiles de leer, si reflejan algunas de las cosas que piensan un grupo de personas que tienen como responsabilidad contratar y organizar equipos de desarrollo y me pareció que puede ser valioso para quien lo quiera tomar.
2.12.2009
Nuestro Reto Ante la Crisis Económica
Las empresas de software podemos ser muy vulnerables ante esta situación. La inversión en capital es uno de los rubros más sensibles en una situación como la actual. ¿Qué hacer?
- Recuerda Que Lo Que No Te Mata Te Hace Más Fuerte: Las crisis son como la “selección natural” del mundo empresarial. Después de ellas vamos a sobrevivir (espero que estemos en ese grupo) menos empresas de las que hoy existen. Nuestro “nicho ecológico” va a estar menos ocupado, así que si pasas la crisis seguramente después no solo te recuperaras sino que te irá mejor de lo que te iba antes.
- Potencia el Valor de Negocio que Generas: Es momento de explotar al máximo nuestra creatividad y “ponernos en los zapatos del cliente”. Hay que entender que la mayoría de nuestros clientes están racionalizando sus gastos. Sólo entendiendo realmente como generamos valor de negocio podremos convencerlos. En mi opinión el diferenciador importante en estos momentos es mucho más de negocio que técnico.
- Trabaja Más Duro – Y Motiva: Si te pones a pensar lo que enfrentas como organización en una situación de crisis como esta, aunque parezca difícil, no es nada comparado con lo que grupos de hombres y mujeres han tenido que enfrentar en el pasado. Si es posible motivar a un grupo de seres humanos para que dejen la vida en la búsqueda de algo (recuerda el día D) ¿no puedes motivar a tu equipo para atravesar esto y dar el esfuerzo extra que se necesita? Tip: Ten valores que inspiren – los que sean – y vívelos tu antes que nadie – el puro rollo vale M.
- Reduce tus Gastos – Pero No en Todo: Reducir gastos es la reacción intuitiva en una situación de crisis – y sin duda tiene validez. Pero por si sólo no resuelve nada - ¿o tu crees que eres el único al que se le ocurrió? Hay algunos aspectos en los que opino que no hay que escatimar – marketing y ventas, retención de talento (lo peor que puedes hacer es ponerte a correr gente valiosa en éste momento), calidad. Por otro lado, ¿realmente necesitas esa computadora nueva? ¿ir al extranjero?
- Mejora tu Talento: Va a haber mucha gente valiosa sin trabajo. Triste pero inevitable y cierto. Es una oportunidad para mejorar el nivel de talento de tu organización. Quien tenga el mejor equipo va a sobrevivir y saldrá fortalecido.
- No Pierdas la Fé: Cuando todo parece perdido no lo está. Sólo parece perdido. Salte a dar una vuelta. Distráete. Vete a un bar con los últimos pesos (exagero un poco). Relájate, recárgate de energías, deja de pensar en el problema. Acude a quien te quiera. Hay más gente dispuesta a ayudarte de lo que crees. No Pierdas la Fé.
Nos vemos del otro lado. Eso espero. Fingers crossed.
11.05.2008
Software Gratis de Microsoft para Empresas Nuevas
La mejor noticia es que sabemos de muy buena fuente que el programa si se ofrecerá en México con algunas variantes menores. Se llama "BizSpark".
¿Para qué empresas es?
- Empresas con menos de tres años de creación.
- Ventas actuales menores a USD 1 millón por año.
- Empresas que crren software o servicios (o software + servicios).
Aun no se definen los detalles de operación para México, pero vale la pena que vayan conociendo la guía del programa para Estados Unidos en http://download.microsoft.com/download/4/d/4/4d41081a-d8d9-407a-9bae-5127e6e931ca/BizSpark%20Startup%20Program%20Guide.pdf
En lo personal me parece una EXCELENTE idea de Microsoft para posicionarse como una alternativa viable frente a Open Source para empresas realmente innovadoras. ¿Qué opinas?
10.28.2008
Desde el PDC 2008: Primeras Impresiones de Windows 7
El foco está en la simplicidad, el desempeño y la facilidad de uso. Creo que las prioridades que se fijaron para Windows 7 son las adecuadas. Algunos ejemplos:
· Una barra de herramientas más poderosa (y algo parecida al Dock de la Mac – pero mejorado).
· Posibilidad de ajustar con facilidad que tan intrusivo (y seguro) quieres que el UAC funcione.
· Control total sobre el system tray – que iconos quieres ver, que mensajes quieres que te salgan – tu decides.
· Soporte a multitouch - esto va a revolucionar las interfases de usuario.
· Va a funcionar en la nuevas mini-notebooks.
· Librerias de coumentos que te permiten organizar tus archivos, fotos, música, etc en tu red personal y fácilmente a través del explorador, media player y media center.
· Detección automática y configuración automática al conectarte a la red de tu casa o del trabajo.
Para desarrolladores, hay varios elementos que lo hacen un sistema operativo muy atractivo:
· Microsoft está buscando que sea más eficiente, con menos consumo de memoria y uso de disco
· Soporta montar de manera nativa discos virtuales vhd y bootear directamente de estos preservando su estado
· Mucho mejor manejo multimonitor en Windows y a través de remote desktop también.
· .NET 3.5 SP1 preinstalado.
¿Saben que es lo mejor? El build que presentaron hoy se ve muy estable. Yo creo que Microsoft nos va a dar una sorpresa y Windows 7 va a salir antes de lo esperado…..
10.27.2008
PDC 2008 en Vivo – Windows Azure, La Plataforma de Servicios de Microsoft
¿Qué significa este anuncio para los desarrolladores de software?
· Vamos a poder “desplegar” nuestras aplicaciones con gran facilidad a la infraestructura de servidores de Microsoft. Este proceso va a ser muy sencillo y a través de configuración se hará realidad el cómputo bajo demanda. Podremos especificar cómo debe escalar nuestra aplicación y podremos solicitar más (o menos) capacidad a través del tiempo de acuerdo con nuestras necesidades de negocio. Todo esto de forma muy simple.
· Podremos aprovechar varios servicios bajo demanda con funciones de alto nivel para simplificar el desarrollo de aplicaciones con gran valor de negocio.
¿Qué servicios están disponibles?
Microsoft .NET Services: Hoy se anunciaron los 3 primeros componentes de estos servicios. Con ellos podemos resolver nuestras necesidades de identidad federada y de control de flujos de actividades con WF.
· Service Bus
· Access Control
· Workflow Services
Microsoft SQL Services: Servicios de datos que podemos aprovechar bajo demanda.
· Base de Datos, Sincronización, Reporteo, Data Mining, ETL
Live Services: Servicios centrados en el usuario individual, para administrar su información a través de múltiples dispositivos y lugares.
· User Centric Data Store – Identity, Contacts, Files, Calendar
· Sync
· App Management
· Device Management
¿Cuándo podremos usar estos servicios?
Aquí en el PDC se está liberando un CTP (Community Technology Preview) que se puede usar para fines de prueba desde hoy. Yo esperaría que Microsoft lograra un lanzamiento comercial hacia fines del 2009.
9.12.2008
Actualizar mi iPhone 3G de Telcel a Software 2.1 "Destruyó" mi SIM
Como buen nerd que soy hoy actualicé my iPhone 3G de Telcel (no está hackeado) a la versión 2.1 del software de Apple usando iTunes desde mi Mac con OS X 10.5.4.
Para mi sorpresa al final de la actualización el iPhone tenía el mensaje de "No SIM". Intenté limpiar el SIM y siguió sin funcionar. Al llegar a mi oficina "intercambié" SIMs con un amigo que tiene un iPhone 3G idéntico (comprado el mismo día) pero sin actualización a 2.1. Mi SIM ya no funciona en su iPhone y su SIM si funciona en mi teléfono. Mi conclusión es que el proceso de actualización por alguna razón está dañando algunos SIMs. No soy el único, otros usuarios de México, Colombia y España han reportado lo mismo. Los reportes están aquí:
http://discussions.apple.com/thread.jspa?threadID=1706328
Mañana al centro de servicio Telcel a hacer fila para que resuelvan esto......uffffffffffff!!
iPhone 2.1 Software Upgrade Fried my SIM Card
After upgrading, I got a "No SIM" message. I reset the iPhone. Still the same message. I took out the SIM and cleaned it. Same message.
When I later got to the office, I "traded" SIMs with a friend who got his iPhone 3G at the same time. He hasn't "upgraded" yet. His SIM works on my phone. My SIM does not work on his phone.
So, upgrading to 2.1 somehow "fried" my SIM card. I am not alone:
http://discussions.apple.com/thread.jspa?threadID=1706328&tstart=0
I run iTunes on Mac OS X 10.5.4 on a Mac Pro (early 2008).
8.25.2008
¿Por qué Silverlight es tan importante?
Con la ya cercana liberación de Silverlight 2.0 Microsoft está haciendo una de las apuestas más fuertes de su historia. Si Silverlight tiene el éxito esperado y se convierte en un estándar "de facto" va a abrir un mundo de posibilidades donde con un conjunto de habilidades de desarrollo muy similares, podremos crear aplicaciones profundas para el escritorio (WPF) y de amplio alcance (multiplataforma) para el web. Es también la plataforma de lanzamiento de un CLR de .NET genuinamente multiplataforma. Esto es enorme y no debe de subestimarse.
Silverlight es en mi opinión la apuesta de Microsoft para colocarse con fuerza en un mundo donde la presencia de la plataforma .NET, aunque interesante, ha dejado que desear. Desafortunadamente la mayor parte de las aplicaciones web públicas afuera están hechas en otras plataformas (en Intranets y corporativos es otra historia). La tecnología Microsoft debe de recuperar un espacio prominente en el espacio del consumidor final junto con la percepción perdida de innovación si queremos incorporar a las mentes jóvenes creadoras que hoy francamente se sienten más atraídas por otros jugadores de la industria (you know who you are).
En mi opinión Microsoft debe de desplegar agresivamente Silverlight 2.0 una vez liberado a todos los escritorios posibles, incluyéndolo con tantos productos como sea posible y en Windows Update. Es fundamental que la penetración de mercado de esta tecnología se acerque lo más pronto posible a la de Flash de tal forma que sea una verdadera opción para la mayor parte de los sitios web allá afuera. Microsoft ha tenido que ir despacio con este tema por las preocupaciones anti-monopolio del pasado. En mi opinión, deberían empujar esto hacia afuera lo más rápido posible si quieren ser relevantes en el mundo de desarrollo web. Market share is the name of the game.
También creo que nos toca un esfuerzo como desarrolladores de software capacitados en plataformas Microsoft. Hemos hecho un pobre trabajo de convencer a nuestros "congeneres" diseñadores web de utilizar Silverlight. Los principales interesados en que nuestras habilidades sigan siendo relevantes en un mundo totalmente webificado deberíamos de ser nosotros. Si logramos convencer y entrenar a nuestros amigos diseñadores en las herramientas de Expression, nos estamos ayudando a nosotros mismos a mantener relevantes, atractivos y rentables nuestros conocimientos de Visual Studio y los lenguajes y herramientas de .NET en general. ¿O prefieren integrar sus aplicaciones .NET con front-ends en Flash donde la mayoría de nosotros simplemente no tenemos ni idea? Cada vez que conviertes o invitas a un diseñador a probar y utilizar Expression, te estás ayudando a ti mismo.
He tenido algo de experiencia trabajando con WPF y adoro ese modelo de programación. Es mucho más productivo que Windows Forms y que ASP.NET (sin duda) una vez que pasamos la curva de aprendizaje. Silverlight nos da la mayor parte de esos beneficios para un mundo multiplataforma.
A Microsoft le toca también dejar de hacer osos como sacar nuevos sitios de marketing en Flash (Mojave Experiment) y hacer todo, absolutamente todo con Silverlight. Hay que empezar por la propia casa.
En resumen, si queremos que nuestras habilidades sean realmente relevantes en el mundo web, necesitamos que Silverlight gane la batalla de penetración de mercado. Si no, bueno, a ponerse a estudiar de Flash y Air. Yo tengo claro como quiero que termine esto.
7.24.2008
"Mojave" o la Percepción sobre Windows Vista
Yo fui un "early adopter" de Windows Vista. Lo opero hoy continuamente en 4 computadoras. Dos portátiles, un media center y una Mac Pro (en la que también a veces utilizo Mac OS X -- como ahora que escribo este post). En una portátil y en la Mac uso la versión de 64 bits y en las otras dos la de 32 bits. Jamás regresaría a XP. En mi experiencia Vista es:
- Más seguro
- Más fácil de usar
- Más rápido
- Y si, más estable!!
¿Cómo puede haber tanta diferencia de opinión y cómo llegamos a este punto tan desafortunado para Microsoft? ¿Qué errores se cometieron?
1. Microsoft no fue suficientemente transparente en cuanto a los requerimientos de hardware de Windows Vista. Jamás se debió haber lanzado el programa de logo "Windows Vista Basic Capable" (o algo así) con requerimientos de hardware tan reducidos. Sin el hardware adecuado Vista funciona mucho peor que XP. Microsoft no fue honesto al respecto cuando lanzó Vista.
2. De manera similar, los requerimientos mínimos que aparecen en las cajas "retail" de Windows Vista debieron haber sido más altos. ¿para que vender un producto cuando sabemos que con el hardware que pedimos la experiencia del usuario será miserable?
3. Este punto no es problema de Microsoft, pero sin duda afectó la efectividad de Windows Vista. Muchos fabricantes de hardware simplemente no estuvieron listos con los drivers adecuados cuando salió Vista (aunque todos en la industria sabíamos años antes lo que teníamos que hacer) lo que provocó, también, que la experiencia de usuario para quien “actualizaba” fuera nefasta. Pocas cosas molestan más que “ya no puedo usar mi impresora por culpa de Vista!”.
4. User account control. Microsoft no pudo comunicar los beneficios de esta función adecuadamente. Por cierto, UAC está encendido hasta la fecha en todas mis PCs. Se convirtió en objeto de burla. Su diseño podría haber sido mejor, si, pero tampoco es para tanto. Ni que nos dieran calambres en el dedo indice.
Hoy el asunto de los drivers está prácticamente resuelto y Vista es aun mejor que cuando salió por los ajustes del SP1. Microsoft entiende que tiene un grave problema en sus manos y por eso anunció hoy una iniciativa de publicidad y relaciones públicas muy interesante. Resulta que reunió en San Francisco a un grupo de usuarios de Windows XP que odiaban Vista para pedir su opinión en un “focus group” sobre la siguiente versión de Windows llamada “Mojave”. Resulta que les encantó esa nueva versión de Windows. Sólo que hay un pequeño detalle. Lo que se les mostró en realidad era nada más y nada menos que……Windows Vista. Más información aquí: http://news.cnet.com/8301-13860_3-9998336-56.html
¿Por qué nos importa esto como desarrolladores de software?
La respuesta es muy simple. Mayor adopción de Vista significa mayor adopción del .NET Framework 3.0, incluyendo Windows Presentation Foundation, Windows Workflow Foundation y Windows Communication Foundation. Nos da una plataforma mucho más atractiva y productiva para desarrollar nuestras aplicaciones.
Se que se puede instalar sobre XP, ¿pero cuanta gente realmente lo hace? Podríamos hacer aplicaciones mucho mejores si la base instalada estuviera ya en Vista. Por eso nos importa.
Si les gusta más Mac OS X, suerte trabajando con XCode y Objective C. La mayoría regresarán arrastrándose a Visual Studio 2008 después de intentar programar en esa cosa.