martes, 4 de marzo de 2008

Los pixels de la discordia

¿Qué desarrollador no ha sufrido en sus carnes la mala uva de las distintas resoluciones de las pantallas? Sí, esos pixels de más o de menos que tanta guerra dan y que te pueden jugar una mala pasada dejándote en bragas ante el cliente más importante del mundo mundial. Y no hablo de aplicaciones web en las que es frecuente ver cómo bailan o desaparecen ciertos controles al pasar de Internet Explorer a Mozilla Firefox o al cambiar el tamaño del browser, sino de las típicas aplicaciones de escritorio, bien sean Windows Forms, estén programadas en Java, o en ese lenguaje de nombre psicodélico que acaba de salir y estás deseando catar.

En concreto, me refiero a los problemas con la resoluciones que suelen presentar esas aplicaciones que se utilizan "en plan demo", es decir, esa aplicación con la que queremos impresionar, dejar boquiabiertos y venderles el oro y el moro a nuestros mejores clientes, ésas que se suelen presentar a pantalla completa, en modo maximizado, en enormes pantallas de plasma o LCD de marca asiática.

La experiencia me dice que por muy apañadito que seas (de veras que lo soy) y diseñes la aplicación con el máximo cuidado posible, siempre pasa algo "inesperado" que trastoca tus planes y deja en entredicho tu vena artística de diseñador de aplicaciones de escritorio. Da igual que utilices porcentajes dependientes de la resolución y configurables en fichero XML, que coloques los controles dinámicamente en cada formulario olvidándote de medidas fijas, que juegues con paneles y otros controles contenedores, que hagas buen uso de útiles propiedades como dock, anchor, autosize; da igual lo que hagas, "el efecto demo" te arrastrará sin piedad hacia sus profundas raíces, desde donde mostrará una interfaz de usuario penosa que arruinará de por vida tu reputación de diseñador gráfico.

Cuando crees que tu aplicación es la bomba y está, valga la redundacia, a prueba de bomba, no hay nada más frustrante que cambiar la resolución habitual de tu monitor (en mi caso un Dell de 19" a 1280 x 1024 ) y contemplar cómo la nueva resolución se ríe de ti a la cara. Es uno de los momentos en los que los desarrolladores más tensión sufrimos, cuando el runtime de la plataforma está dibujando tu aplicación, con todos y cada uno de esos preciosos formularios repletos de controles que tantos disgustos nos dan. Y como no podía ser de otra manera...ese cambio de resolución inesperado de última hora hace que la aplicación se vea de culo en la pantallita de plasma, que el control más importante del formulario esté semi-oculto, y el texto del título se vaya de bares; y por supuesto, la profesionalidad del susodicho desarrollador queda en entredicho forever & ever.

Así que ya sabéis, antes de enseñar una aplicación de escritorio en otra pantalla (con distinta resolución a la vuestra), sobre todo si ha de ir a pantalla completa y está destinada al "gran público", ¡andad listos! Enteraros de qué resolución tiene la pantalla target, poned dicha resolución en vuestro monitor...¡y probad el comportamiento de vuestra super aplicación! No cuesta nada y nos puede ahorrar muchos disgustos "públicos" de última hora...

SaludoX.


4 comentarios:

Anónimo dijo...

Eso te pasa pq eres un perfeccionista, al que hace un churrito en 640x480 nunca le pasa eso.... Cada vez quedan menos como tú. Sigue igual!!!
(te voy a clicar toda la publicidad que te lo ganas todos los días.)

Anónimo dijo...

Tú también te estás ganando que te lea todos los días y te jubile con Google AdSense ;-)

SaludoX.

Anónimo dijo...

A mi me hubiera ahorrado el disgusto que tuve en un curso cuando tenía que presentar un proyecto.

Saludos.

Anónimo dijo...

Aupa Jenny! Pues sí, suele ser frustrante ver cómo todo un trabajo bien hecho puede quedar en entredicho por culpa de las resoluciones de las pantallas y sus malditos pixels. Nada, habrá que tomárselo como una lección más, y nos quedaremos con lo positivo: de aquí en adelante haremos millones de pruebas con distintas resoluciones antes de presentar algo en público ;-).

Gracias y saludoX.