Con el anterior post me quedé reflexionando sobre mi posición actual acerca sobre los estándares web. Como los lectores más de antaño saben, siempre he sido un estandartista convencido (aunque no particularmente radical) pero ahora ya no estoy seguro de creer tan firmemente en lo que creía antes.
Vamos por partes. Primero que nada pensemos cual fue la razón principal para la popularización de los estándares web. Para mi la razón principal fue la llamada Guerra de los Browsers durante la cual los fabricantes de navegadores (Microsoft y Netscape, a saber) agregaban features a lo tonto con tal de ganar cuota de mercado. ¿El resultado? Sitios incompatibles y dolores de cabeza horribles migrañas para los desarrolladores de aquel entonces.
Bajo este panorama tenía sentido que surgiera una organización que intentara ponerle orden al caos y se crearan unos estándares a los que posteriormente una legión de diseñadores y desarrolladores (lidereados por Zeldman) se adheriera y crearan un movimiento pro-estándares que inició una revolución en la web. Al final los estandartistas ganamos (¡Tomen eso table-huggers!).
Sn embargo, con la llegada de la web 2.0 algunas cosas han cambiado radicalmente desde la famosa batalla de la toma de Wired. En mi opinión hay dos grandes cambios principales: La diversificación de la web y lo que podría ser la nueva Browser Wars : Attack of the iPhones.
Con diversificación de la web me refiero a que la manera en que usamos internet ha evolucionado. Cada vez es más marcada la diferencia entre lo que es un sitio y lo que es una aplicación web. Basta ver a lo que ha llegado Apple con su MobileMe para hacerla parecer un clon de sus aplicaciones de escritorio (gracias al sorprendente SproutCore) pero… ¿Alguien ha visto el código fuente de esa cosa? En serio, si Tim Berners Lee no estuviera vivo, seguro que se retorcía en su tumba.
Además ya no solo accedemos a la web desde nuestro browser, sino que tenemos Rich Internet Applications en nuestro desktop (gracias a AIR o Silverlight), browsers dedicados y una gran variedad de dispositivos moviles con acceso a internet. Estoy seguro que la w3c no contaba con esto cuando pensó en los estándares. Nadie lo esperabamos en realidad.
Y hablando de dispositivos móviles, me parece que no soy el unico que cree que ahí está por librarse la próxima guerra de navegadores. Es curioso, porque los estándares ya contemplaban una web agnóstica a los dispositivos que igual funcionaría en tu pc como en el primitivo navegador wap de esos carísimos teléfonos celulares. Ese fue uno de los argumentos de venta del movimiento de los estándares, pero eso fue hace mucho, antes de que se nos presentara un dispositivo movil de internet con un navegador que puede hacer lo mismo que un navegador de escritorio y un poquito más.
Y es ese poquito más es el que me causa conflicto. La demo que les mostré ayer ciertamente es revolucionaria pero la API para gestures que le puso Apple a su mobile Safari no está en el estándar ECMA de javascript. Y la propiedad que utilizan para rotar las fotos -webkit-transform no es parte de ningun estándar de CSS aprobado. ¿Que debe un convencido de los estándares hacer en estos casos? ¿Hago como que no veo y sigo haciendo lo mismo que los ultimos 3 años o me arriesgo a ser un poco menos estándar?
A veces me parece que en algun momento la w3c se volvió lenta, quizá por estar esperando a que Microsoft agarrara el paso o porque se volvió grande y brocratizada. El caso es que me parece que apegarse a los estándares en estos momentos puede frenar la evolución de la web. ¿Se imaginan que hubiera pasado con la web 2.0 si los desarrolladores de GMail se hubieran esperado a que el objeto XMLHTTPRequest fuera parte de algun estándar?
Por otro lado, entiendo las terribles implicaciones que puede traer volver a ignorar a los estándares. Cada que me frustro porque los idiotas de mi banco no me dejan usar su aplicación desde mi mac vuelvo a recordar la importancia de que alguien ponga orden en el caos.
Al final de esta kilométrica diatriba la disyuntiva persiste: ¿Hasta que punto debo permitirme ser flexible con respecto a los estándares? Y si ya leíste hasta aquí, déjame tu opinión que nada te cuesta.