101 Tips para Visual Studio

Les quiero dejar un documento (PDF) con 101 Tips para realizar diferentes acciones en Visual Studio 2010, desde shortcuts hasta como definir opciones no tan comunes, como por ejemplo configurar el IDE para que no copie las lineas en blanco cuando realizamos una selección de código y la pegamos dentro del editor.

Pueden descargar el documento directamente desde mi Skydrive.

{Happy Coding}

Etiquetas de Technorati: ,,

Amazing Future of Screen Technology

I can’t say anything good enough to describe this concept video. It’s refreshing, cool and give us some clues about what’s coming over the next 10 years.

Also the video show some really nice and clean UI, putting special focus on the natural interaction between devices, objects and common surfaces.

Please watch it and comment.

{Happy Coding}

Technorati Tags: ,,,,,

Silverlight vs Flash vs HTML 5

Expondré varios puntos al respecto, los cuales espero ayuden a aclarar todo el panorama en Internet con respecto a tecnologías para crear RIA (Rich Internet Applications).

Primero quiero aclarar que son tecnologías similares, con capacidades  similares (muy similares) pero cada una tiene un nicho o escenario de implementación diferente.

HTML 5

Decidí empezar con HTML 5 para sacarlo del escenario temporalmente (dado que no es una tecnología con especificaciones finales y no es un plug-in como Silverlight y Flash), hasta el momento tenemos algunos browsers que pueden implementar algunas de las características que propone el nuevo estandar. Es cierto que es sumanmente poderoso y que no hará falta ningún plug-in en las PCs de los usuarios para usar la tecnología en los sitios web, además que el rendimiento será bastante bueno, tal y como lo es ahora con las actuales especificaciones de HTML 4.

Se espera que HTML 5 esté listo para el 2022 lo cual es muchísimo tiempo. El problema con el tiempo es que las empresas privadas en este caso Microsoft y Adobe tienen un ciclo de innovación y actualización mucho más rápido del que puede tener la W3C con HTML 5, lo cual en su momento marcará una gran diferencia de características entre las tecnologías presentes cuando HTML 5 alcance su lanzamiento final en el 2022. Hasta ese momento veremos especificaciones previas las cuales ayudarán a los sitios de Internet a ambientarse con la tecnología.

Pueden ver el estado actual de las especificaciones de HTML 5 al 3 de Septiembre del 2010 aquí.

Silverlight vs Flashflashsilverlight

¿Cúal es más liviano? (Consumo CPU, tiempo de carga, ejecución de tareas, etc)

Ambos dan muy buen rendimiento, podemos abarcar muchísimos aspectos, podemos realizar pruebas de BubbleMark para ver el comportamiento de performance y FPS sin embargo los escenarios varian. En tiempo de carga Silverlight es unos microsegundos más lento, sin embargo en consumo de CPU Silverlight y Flash están empatados. Si nuestro sitio tendrá muchísimas visitas y deseamos hacerle las cosas más fáciles al usuario es recomendable utilizar Flash ya que la mayoría tienen el plug-in instalado, sin embargo si ejecutan varios videos al mismo tiempo en un solo navegador puede que les de problemas de rendimiento y consumo de recursos, por naturaleza Flash tiende a ser más pesado.

¿Cúal tiene mejores capacidades? (API-s, librerías, frameworks)

Todo depende de lo que trates de hacer. Por un lado Silverlight cuenta con el apoyo del .Net Framework, con un subset de clases bastante bueno el cual le da poder empresarial y capacidad de mejorar las aplicaciones web sobradamente. Del lado de Flash tenemos una comunidad gigantesca, madura y con bastante tiempo en el mercado, por lo cual se pueden encontrar librerías de ActionScript para casi todo. Si tratamos de comparar ActionScript con lenguajes como C#, VB y IronPhyton encontraremos que es más fácil de aprender los anteriores y son más amigables y entendibles.

¿Con cúal desarrollo más rápido?

Con Silverlight tenemos a .NET, C# y VB hay muchísimos desarrolladores que ya conocen las herramientas: Visual Studio, Expression, los Toolkits y además los proyectos de soporte en Codeplex. Con Flash podemos programar utilizando Flash CS4 o Flex Builder, todo depende la perspectiva de diseñador o desarrollador que tengas.

Ambas tecnologías utilizan lenguajes para definir la UI de forma similar, Silverlight por su lado utiliza XAML y Flash con MXML.

En este caso Microsoft gana con las herramientas de desarrollo pero Adobe gana en la integración con herramientas de diseño gráfico.

¿Manejo de Audio-Video-Imagenes?

La mayoría de los sitios en Internet de streaming y contenido de video es Flash. Sin embargo Silverlight pone una excelente competencia en escenarios de video en Alta Definición y Streaming de video con bits variables, utilizando Silverlight Smooth Streaming.

Otros

Como vemos ambas tienen sus pros y sus contras. Flash tiene una comunidad muy grande, pero Silverlight no se queda atrás. Desde el lado de aplicaciones de negocios Silverlight posee más peso y mejores características gracias a la dupla con el .Net Framework. Silverlight es multi browser y corre en Windows y Mac OS, puede correr en Linux con Moonlight. Flash es multi browser y hay plug-in oficial para Linux.

Con Silverlight podemos programar para Web, Desktop (utilizando la característica Out-Of-Browser) y Windows Phone 7.

¿Qué debo utilizar? Silverlight o Flash

No hay un definitivo, pero preguntese lo siguiente:

  1. ¿Ya sabe programar en C#, VB y utiliza herramientas de Microsoft?
  2. ¿Cúan importante es la cantidad de usuarios base que recibirá mi sitio web?
  3. ¿Está interesado en que sus sitios puedan verse en Linux?
  4. ¿Prefiero las ventajas de una tecnología pionera o las ventajas de una tecnología más vieja?
  5. ¿Quiere desarrollar aplicaciones de negocio?
  6. ¿Quieres tener aplicaciones consistentes para Web, Desktop y Móviles?

Pueden leer un buen benchmarking (realizado por un colega) entre Silverlight 3 y Flex aquí. Pueden descargar el documento con los resultados aquí.

{Happy Coding}

Interaction Designer – ¿Qué es y que debo tener?

 ¿Qué es un Interaction Designer?

imageEs aquel profesional que se dedica a hacer research del sistema de información, conocer y definir el usuario del sistema, diseñar la arquitectura, conocer el ambiente en el que se desarrollará el software; en fin conocer todos aquellos factores necesarios para al final definir cual es la mejor forma de interactuar con el producto, ya sea este un sistema de información, una nueva consola de video juegos, producto al consumidor, etc.

Además de como interactua con el producto central se debe evaluar lo que lo rodea, con que otros dispositivos interactuará, de forma lo hará, cual es la mejor forma de hacerlo y aún más importante porqué debe interactuarse de dicha manera. Se suele confundir a la disciplina de Interaction Design con otras similares como: Psicología Cognitiva, Interacción Humano-Computador, Investigación y Diseño, diseño de Interfaces de Usuario; todas estas disciplinas no son lo mismo pero si se relacionan de forma muy directa.

¿Qué habilidades debo tener si deseo ser un Interaction Designer?

Habilidades Básicas

  1. Poder resolver problemas de forma coherente, rápida y clara.
  2. Poseer solido conocimiento en fundamentos como: Convenciones de UI para Internet, software, electronicos, juegos, sistemas complejos y sistemas empotrados (embedded).
  3. Sólido conocimiento en el proceso de diseño.
  4. Demostrar habilidades para construir graficos animados con muchísima atención al detalle.
  5. Entender los motivantes y aceleradores de grandes tecnologías como: Internet, software, juegos y electronicos.
  6. Sólido conocimiento en ergonomía, user research, habilidades para integrar múltiples disciplinas en el proceso de diseño.
  7. Conocimiento y manejo del proceso para desarrollo de software.
  8. Habilidades avanzadas en herramientas de diseño interactivo.

Habilidades Senior

  1. Capáz de transmitir ideas creativas e innovadoras en múltiples niveles.
  2. Capáz de representar una visión convincentemente: verbalmente, ilustrativamente e interactivamente.
  3. Posee alta sensibilidad en diseño y la capacidad de colaborar efectivamente con directores de diseño gráfico, animadores, diseñadores de sonido e ingenieros de hardware.
  4. Solido conocimiento de como los negocios operan, especialmente como los costos en diseño afectan los costos de ingeniería, computación, marketing y administración del negocio.
  5. Posee solido conocimiento en entender diferentes corrientes sociales, geo-politicas y multi-culturales.
  6. Habilidades básicas en al menos un lenguaje de programación.

Habilidades RockStar

  1. Habilidad para dirigir y administrar diseñadores, animadores, ingenieros en sonido y diseñadores de hardware.
  2. Habilidad para dirigir y administrar profesionales de factores humanos, ergonomía, investigación e ingeniería de software.
  3. Reportar directamente a ejecutivos senior, CEOs de sus firmas.

{Happy Coding}

15 Facts about NET Neutrality

Online MBA Rankings
Technorati Tags: ,,