Esto de diseñar para Aplicaciones Web….

La reciente nota de ALT1040 sobre el lanzamiento de Adobe GoLive 9 y los problemas que acarrea como consecuencia del mal codigo HTML generado me trajo de golpe a la memoria los muchos dolores de cabeza asociados con la creación de Aplicaciones Web con las que he tenido que lidiar.

Si bien en mi primer trabajo era multifuncional: un dia programaba en C y el otro dia retocaba una imagen (no se rian! así corrían los tiempos hace 10 años!), ese modelo no me duro mucho y tuve que centrarme eventualmente en la programación web y en como los websites generaran contenido dinámico, la parte del diseño gráfico correría a cargo de otros…. y ahí empiezan los líos.

Como dice la nota :«….nunca entendieron como se diseña para el web y lo hacen al revés: primero cómo se ve y después cómo funciona cuando debería ser al revés: cómo funciona y después cómo se ve.», completamente de acuerdo… mi idea siempre ha sido establecer el modelo de arquitectura y generación del contenido dinámico, produciendo un HTML mas o menos estructurado y simple que después podría ser «adornado» con los estilos y gráficos que fueran convenientes.

Pero no… parte de los problemas que tuve en un trabajo fue debido a la forma en que trabajaba el departamento de Diseño Web (estático) a la hora de plantearse algo, primero dibujaban con Corel (o lo que usaran en sus Macs) la idea de las paginas y una vez refinado se procedía a una etapa llamada de «corte» donde agarrando el gráfico y una herramienta se procedia a trocear y a dividir en secciones dicho gráfico y con eso generar un HTML que seria el que al final se publicaría, este esquema podía ser muy practico para los clientes que solo querían su Web «para estar en Internet», el problema se da cuando nuestro equipo de Desarrollo pasa a asumir la creciente demanda de Aplicaciones Web (lo que un vendedor mal llamo «web con base de datos») por parte de la clientela.

En esa época no había ASP.NET y lo que se usaba era ASP Clasico y PHP, JSPs recien trataban de lograr lo que no habían logrado los Servlets, pero bueno… esta clase de tecnologías requerían un conocimiento mas o menos claro del HTML que se estaba generando, controlar bien los bucles, saber cuando acababa una sección de HTML y empezaba la otra…. nada que dependiera mucho de los estilos y si de tener un HTML ordenado y con los Tags completos.

El lió venia cuando ellos nos daban una plantilla generada con el método arriba comentado, y tratábamos de integrarla con nuestros desarrollos… que lio!!! Tags mal agrupados, estilo inconsistente a la hora de definir los nombres de los objetos, y tags sin cerrar, esto era lo peor pues ya podías pasarte un buen rato tratando de cerrarlo (porque se daba la casualidad de que justo ahi era donde tenias que colocar código dinámico) y darte cuenta que en cada intento todo se descolocaba, eventualmente se lograba el efecto pero a costa de mucho esfuerzo y de insistirles que por favor comentaran las secciones del HTML generado, especialmente las que se sabia que iban a ser regeneradas dinamicamente. Tuve suerte que ya tenia esa practica cuando cambie de trabajo pues en este caso dependíamos de una empresa externa para el diseño y la practica me permitió corregir algunos errores e informar a dicho proveedor que tuvo el buen tino de incorporar el ajuste en su siguiente entrega.

Por el lado opuesto se daba una situación peor, teníamos un portal de ventas que constaba sencillamente de Tablas y un poco de gráficos, les pedí a los de Diseño gráfico que por favor la hicieran presentable: estilos, tipos de letra, iconos; creo que el reto era demasiado para ellos pues un poco mas y me daban una plantilla generada con su método para que nosotros rehiciéramos nuestro trabajo, en lugar de aprovechar lo ya existente…. Osea, este equipo contaba con gente muy calificada que hacia verdaderas maravillas con buen gusto, pero a la hora de pedirles de que integren sus habilidades de una manera mas productiva ya les costaba.

Los desarrolladores de Aplicaciones Web, no tenemos porque ser los creativos de la presentación, pero creo que al menos estamos en la condición de pedir que la gente de Diseño realice una sinergia positiva a la hora de trabajar juntos, pero estos a veces en aras de la creatividad omiten el paso de generar algo que sea fácil de ser integrado, o de mejorar lo ya existente sin necesidad de destruirlo.

Evitando errores al hacer Websites…

Acabo de revisar este enlace de Microsiervos : Cosas que no debes hacer al construir un sitio web, que es la traduccion de: 19 Things NOT To Do When Building a Website, vale la pena revisarlo pues a pesar de que los websites ya llevan tiempo entre nosotros, aun no terminamos de aprender todas las lecciones al respecto.

Alt1040 tiene sus favoritas y las mías son:

  • Si todo tu sitio está hecho en Flash despide al desarrollador de la página y hazla otra vez; si la has hecho tú colócala en el apartado “sitios inútiles que he hecho” de tu portafolio y hazla otra vez. Total no nos importa que nuestro web no aparezca en Google….
  • No pretendas reinventar la navegación de los sitios web. Tienen que ver lo ingenioso que soy, el que es inteligente se quedara!!!
  • El contenido es el rey: si tu página web no tiene suficiente contenido o ningún texto real que no esté en una imagen contrata a un copy y despide a tu webmaster ahora. O sino mejor contratamos a un Search Engine Optimizer para que nos posicione en los rankings y asi evitarnos la carga de escribir contenido relevante y util… para que, verdad?
  • Si la página contiene música asegúrate de que el usuario puede detenerla o apagarla y mejor si no se inicia automáticamente —lo mismo para el vídeo. No vean lo incomodo que es este error muy frecuente aun en paginas de la administración publica.
  • Cuida el tiempo que necesita la página para cargarse. Claro, creemos que todos tienen una conexión DSL con un huevo de megabits, asi que los demás a sufrir, no? Has oído hablar de la previsualizacion de imágenes en lugar de colocar el tamaño final? Es de veras necesario ese applet Java??
  • No utilices técnicas y tecnologías nuevas en tu sitio web simplemente porque puedes o porque son novedosas. Las tecnologías nuevas son chulas, pero utilizalas sólo si realmente mejoran de algún modo la vida a tus lectores / clientes / usuarios. Eso eso…. el Ajax esta bien, no? así que a usarlo… no sabemos para que pero ya encontraremos uso.

En adición a estos errores, también me parece irritante cuando el diseñador tuvo la genial idea de deshabilitar el botón derecho del mouse pues no me deja controlar donde quiero abrir los enlaces.

Pero en todo caso el error mas común que se comete es no visitar su propia pagina para ver la usabilidad real comentada en estos puntos o simplemente que el contenido HTML se este formando bien (en todos los browesers!!!), error que he notado en las paginas de algunos compañeros bloggers, de lo cual es sencillo darse cuenta con solo ver el icono amarillo del Internet Explorer o las herramientas de las que dispone el Firefox, es fácil olvidarnos de comprobar si el bonito añadido que le colocamos a la pagina ha empezado a soltar pop-ups o a generar errores de JavaScript, errores que a veces saltan de manera muy evidente e incomoda debido a la las alertas que puede dar el navegador (llegado a este punto pensaba colocar los enlaces de los bloggers «culpables», pero baste decir que son dos dedicados a la historieta, mas uno dedicado al análisis político).