Microsoft ha descubierto una nueva manera de hacer que la gente prueba Windows Vista: diciendo que NO es Windows Vista.
Desde que Windows Vista salió al mercado el 8 de Noviembre de 2006, ha sido criticado por muchos usuarios por tener varios problemas en diferentes campos, desde la usabilidad hasta el User Account Control, pasando por bajo framerate en los juegos más famosos (World Of Warcraft por ejemplo).
Debido a que estos problemas han sido altamente bloggeados por la comunidad, Windows Vista ha sufrido en sus ventas (sobretodo de actualizaciones) porque los usuarios no quieren ni probarlo. Si estos problemas son reales o no, no importa al usuario final, que de seguro ha preguntado a amigos o familiares expertos en tecnología si deberían que actualizar sus máquinas al nuevo sistema operativo.
La respuesta del gigante de Redmond fue hacer un grupo experimental de usuarios en el que se eligieron a 100 personas al azar de la ciudad de San Francisco. A los participantes se les dió una encuesta en la que se preguntaba su opinión sobre Vista y que le dieran una calificación.
La mayoría de la gente otorgó una calificación reprobatoria a Vista (algunos admitieron nunca haberlo probado, pero ni ganas…) en la mayoría de las categorías como experiencia de usuario, compatibilidad, etc.
Después de la encuesta, se les ofreció a los participantes probar la nueva versión de Windows (nombre clave Mojave), y se les pidió que llevaran a cabo varias tareas comunes como quemar un DVD, mandar correo electrónico, etc. y que calificaran su experiencia con el nuevo sistema operativo.
¿La conclusión? Todos le dieron calificaciones aprobatorias (A+) a esta versión de Windows.
Cuál fue la sorpresa de los participantes cuando les dijeron que realmente estaban usando Windows Vista…
¿Conclusiones? Al final del día Vista no es tan malo como nos lo pintaron, y sí lo podemos usar para actividades cotidianas.
A mí en lo particular me parece que este tipo de campañas de marketing (del estilo “reto Pepsi”) no le funcionan a Microsoft porque en primer lugar lo que ves cuando entras a http://www.mojaveexperiment.com es el video en el que todo el mundo se queja de Vista y lo malo que es.
En segundo lugar se podría decir que Microsoft está culpando a los usuarios por los posibles errores de Vista. En pocas palabras, todos tienen problemas con Vista menos Vista en sí mismo (incluso podríamos acusar a la campaña “I’m a mac, I’m a PC” de esto).
Por suerte el Service Pack 1 para Vista ha arreglado muchos de los problemas iniciales del sistema, y a casi 2 años de su lanzamiento la mayoría de los controladores para hardware han sido actualizados para trabajar correctamente en el nuevo ambiente.
Como todo en la vida, no se puede criticar algo sin antes haberlo probado…

Esto puede parecer muy sencillo, pero la verdad es algo oscuro para alguien acostumbrado a utilizar solo el editor WYSIWYG del Visual Studio 2005.
Básicamente el problema es que cuando queremos enlazar dinámicamente un GridView a una datasource generado en tiempo de ejecución (como por ejemplo un DataReader), el control no nos permite asignar columnas y estilos visuales automáticamente.
Lo que tenemos que hacer es entrar al modo codigo HTML de la página ASPX, encontrar los bloques de código en donde se define el GridView y agregar cada uno de los campos de nuestro datasource a cada uno de las columnas del control:

asp:GridView ID=”grid2″ runat=”server” AutoGenerateColumns=”False”
Columns
asp:BoundField DataField=”Columna_1″ HeaderText=”Columna 1″ SortExpression=”Columna 1″
asp:ImageField HeaderText=”foto” DataImageUrlField=”foto”
asp:ImageField
Columns
asp:GridView

Nota: eliminamos los simbolos para abrir y cerrar etiquetas de ASP (<>) para poder agregar el código.
De esta manera podemos especificar un DataReader como fuente para nuestro control GridView y llenarlo dinamicamente en tiempo de ejecucion igualando cada uno de los campos de la base de datos del DataReader con los DataFields que especificamos.

Siguiendo con el tema de los GridViews de ASP.NET ahora vamos a ver como le podemos dar formato a diferentes campos del grid desde el código HTML.
Esto es muy útil cuando queremos traer desde nuestra base de datos números o fechas y queremos que se vean diferentes en nuestra aplicación.
Por ejemplo yo tengo una columna en mi tabla de tipo DATE, sin embargo el Grid agregaba la hora a todas las fechas que desplegaba. De igual manera tengo una columna tipo DECIMAL que necesitaba del símbolo $.
Después de pelearme un buen rato con el GUI para darle formato a mis columnas, descubrí dos cosas importantes:

  • Es más fácil hacer este tipo de modificaciones en el código HTML de la página en la que estamos trabajando.
  • Hay cosas muy escondidas de cada uno de los controles de ASP.NET.

El caso es que para lograr lo que necesitamos tenemos que hacer lo siguiente dentro del archivo ASPX de la página dentro de las declaraciones de columnas:

  • Para columnas tipo DATE: asp:BoundField DataField=”Fecha Registro” HeaderText=”Fecha Registro” SortExpression=”Fecha Registro” dataformatstring=”{0:dd/MM/yy}” htmlencode=”False”.

Con esto logramos que la fecha sólo contenga realmente la fecha sin agregar la hora (la tenga el campo o no). Además la formateamos como dia/mes/año (que es como se usa en Español).
El formato que necesitamos también se puede agregar en el GUI seleccionando “Editar Columnas” y poniendo la expresión regular en el renglón DataFormatString, sin embargo lo que nadie nos dice es que tenemos que ajustar la opción HtmlEncode a “off” para que esto funcione.

  • Para columnas de tipo numérico podemos usar lo siguiente: asp:BoundField DataField=”precio” HeaderText=”Precio” SortExpression=”precio” DataFormatString=”{0:$#,#.00}” HtmlEncode=”False”.

Lo que produce una columna de precio en donde vemos los números con el formato correcto para pesos y centavos.

Estos dos ejemplos utilizan las expresiones regulares para dar formato a los campos. Este tipo de expresiones son muy utilizadas tanto en programación como en otras cosas en donde queremos dar formato a cadenas de caracteres (por ejemplo en Excel). Para los que quieran leer mas al respecto les dejo los siguientes links: Regular Expresion y Regular-Expressions.info

Espero que les sirva!

P.D. recuerden que tengo que eliminar los “< />” de los tags HTML.

En esta ocación me gustaría compartirles la manera más sencilla para obtener el ID del último registro insertado a una tabla en MySQL Server.
Esto es muy útil en el caso que queramos hacer manipulaciones extra al registro que acabamos de insertar, o agregar información a otra tabla que requiere del ID para hacer uniones.
Podríamos obtener el ID haciendo otro query a la tabla después de agregar el registro para obtener el valor máximo del campo, sin embargo esto requiere de una nueva conexión a la base de datos y de la ejecución de otra instrucción que podría resultar cara para el desempeño de nuestra aplicación.
La manera más sencilla de resolver este problema es utilizando la instrucción LAST_INSERT_ID() de MySQL en un parámetro de salida en un Stored Procedure por ejemplo.Una vez ejecutado el SP, nos devolverá el valor que necesitamos y lo podemos guardar en alguna variable de nuestra aplicación. Ésta función es específica de la conexión por lo que si tenemos al mismo usuario conectado en 2 lugares diferentes siempre se obtendrá el ID del registro que se guardó por cada usuario.


Interface Multitoque de pantalla completa para el OS X

Hace algunos meses Microsoft presentó el demo de la tecnología Surface que le permite al usuario interactuar con la computadora moviendo elementos con las manos como si fuera un escritorio de verdad.
En este video se demuestra el framework de desarrollo Lux, que le permite a cualquier sistema operativo (Windows, Linux, Msc OS X) tener esas mismas características.
Por el momento el framework está enfocado a los desarrolladores interesados en conocer más sobre la tecnología multitoque y sus futuras aplicaciones.
Para los que querían una computadora al estilo Minority Report, estén pendientes de ésta tecnología.

Hoy se anunció que América Móvil (Telcel) tendrá a la venta el celular de Apple. No se especificó si será el único carrier que lo tendrá a la venta. En el aviso que hizo la compañía no se habló de cuando estará el aparato en los mostradores (y mucho menos del precio).

Sinceramente espero que contemos con la versión más reciente del iPhone y no que nos quieran vender los modelos pasados de moda en el resto del mundo. Sobretodo cuando se rumora que la versión 3G del iPhone podría anunciarse en la presentación de Steve Jobs en Junio en el WWDC (World Wide Developers Conference) en San Francisco.
También será interesante conocer los planes de acceso a datos que se puedan contratar con el iPhone ya que como sabemos es un aparato que aprovecha muy bien el acceso a Internet móvil (Google Maps, correo IMAP, Safari) y que podría tener una renta mensual muy alta si se siguen cobrando las tarifas actuales.
Otro aspecto importante de la funcionalidad del iPhone es su correo de voz visual, que le permite al usuario ver una lista de los mensajes que ha recibido y escucharlos en el orden que se requiera.
Todas estas opciones redondean la experiencia del iPhone, espero que las tomen en cuenta para ofrecer un producto a la par del que se vende en Estados Unidos.

Hoy por la tarde Microsoft liberó el Service Pack 3, supuestamente la útlima actualización para el Windows XP.
Cabe mencionar que este SP no añade nueva funcionalidad y sólo es una colección de las actualizaciones del sistema que han sido liberadas desde que el SP2 salió al mercado en Agosto de 2004 (de verdad ha pasado tanto tiempo?), lo que nos permite usarlo en instalaciones nuevas de XP que tengan el SP1 (o para hacer instalaciones “slipstream”).
Sin embargo se agregaron cuatro características de Windows Vista al XP para integrarlo más fácilmente con la nueva versión del sistema operativo para servidores Windows Server 2008.
Es interesante que el ciclo de vida del XP se ha extendido por lo menos hasta el 2010 (esto significa que seguirán saliendo actualizaciones críticas de seguridad hasta esta fecha), sin embargo está planeado tenerlo a la venta hasta el 30 de Junio de 2008.
Tenemos que irnos despidiendo poco a poco del XP ya que en días pasados también se liberó el SP1 para Windows Vista y se rumora que la próxima versión de Windows (7.0) está planeada para el 2010.
El SP3 todavía no está disponible para su descarga completa (300MB+) pero ya se puede obtener la instalación integrada a través de Windows Update.