lunes, 20 de febrero de 2012

De los estándares, normas, recomendaciones y otras "tonterías"

En mi anterior entrada, Cada vez que llamas a una característica propietaria "CSS3", un gatito muere, me han dejado unos comentarios interesantes.

Por un lado tenemos, a Álvaro y Rogelio, que comentan como justificación de por qué emplear características propietarias que, si el cliente te las pide, al final tragas. Bueno, todo depende de las "tragaderas" que uno tenga. Un día vi en un restaurante alicantino como salió el cocinero a hablar con unos clientes extranjeros cuando se enteró de que habían pedido ketchup para la paella que había cocinado con mucho cariño. Les dijo que si iban a hacer eso, prefería que se levantasen y se fuesen del restaurante inmediatamente sin pagar nada.

Claro, no se puede comparar el dinero que va a dejar una mesa en un restaurante normalito con el dinero que puede dejar un desarrollo web. Y claro, el dinero es del cliente, y si el cliente lo quiere usar mal, no vamos a ser nosotros los que le detengamos. Pero hay cosas que no se deben hacer: parte de la labor del desarrollador web (o mucho mejor, del agente comercial que trate con el cliente) es asesorar y convencer al cliente de lo que es bueno o malo. Por ejemplo, ¿es bueno hacer un sitio web para que sea compatible con Internet Explorer 6? He oído muchas veces la misma historia en boca de profesionales y alumnos que hacen sitios web: he hecho el sitio web compatible con Internet Explorer 6 porque así lo quería el cliente o el jefe... por ejemplo, porque es el navegador que él usa. Pues el cliente o el jefe se tiene que enterar de que el sitio web no se hace para él, sino para el resto del mundo, y el resto del mundo (incluido Microsoft) pasa de Internet Explorer 6 desde hace tiempo (The Internet Explorer 6 Countdown). En última instancia, si aún así el cliente o el jefe quiere que sea compatible con Internet Explorer 6, lo que se debe hacer es cobrarle una cantidad adicional por el trabajo extra que supondrá lograrlo. Entonces quizás se lo piense dos veces.

Por otro lado, en otros comentarios, Rogelio pregunta por qué se tarda tanto en crear los estándares y Félix cita el artículo Every Time You Make a Good Business Decision, a Puppy Gets Cloned que ha aparecido como respuesta a la "masacre de los gatitos". En este artículo, aunque se comparten muchas ideas aparecidas en el primer artículo, también se defiende el uso de las características propietarias como impulsor de desarrollo web y defiende que los estándares web no se deben tomar como una religión. Esperar a que exista un estándar puede ser pernicioso, pero el uso de no estándares puede ser mucho más pernicioso.

Por ejemplo, en España hemos tenido que sufrir durante muchos años que no hubiese una comunicación directa de la red española ferroviaria con la red de los países vecinos porque el ancho de vía español es superior al europeo. Afortunadamente, las líneas de alta velocidad (AVE) emplean el ancho de vía europeo y poco a poco se va solucionando la situación, después de más de 150 años de existencia del ferrocarril en España.

En todo el mundo hemos tenido que sufrir durante muchos años la ausencia de un estándar en los cargadores de móvil. El impacto ecológico que ha tenido la ausencia de un estándar (millones y millones de cargadores desechados), el impacto en los bolsillos de millones de usuarios que se han tenido que comprar un cargador nuevo porque ninguno de los que tenían en casa les servía, o el inconveniente de no encontrar un cargador adecuado y no poder recargar la batería del móvil, no se puede valor pero seguro que tiene muchos ceros. Afortunadamente, desde el año pasado los fabricantes de móviles emplean un mismo conector de tipo microUSB.

Desgraciadamente, en todo el mundo tenemos que seguir sufriendo la falta de un estándar en los enchufes eléctricos, en el voltaje y en la frecuencia de la electricidad. Algo tan "sencillo", no se ha podido solucionar después de más de 100 años de uso de la electricidad en lo hogares y tenemos que sufrirlo y pagarlo, tanto los usuarios finales como los fabricantes de productos eléctricos.

En la Web hay millones y millones de usuarios. El uso de tecnologías no estandarizadas es un error de cara a los usuarios finales y, para el desarrollador, lo más normal es que suponga un mayor esfuerzo inicial y mayores problemas de mantenimiento futuros.

Esto no significa un NO rotundo a lo no estándar: se puede emplear, pero con cuidado, teniendo en cuenta, por ejemplo, el concepto de mejora progresiva (progressive enhancement).

Mañana escribiré sobre el W3C y veremos su proceso de estandarización (o normalización).

No hay comentarios: