Estado de la web 2008

¿Nunca se habían preguntado por qué a estas alturas de la vida y de nuestra época no avanzamos en la web como deberíamos? Puede que sí y puede que no. Estamos en la gran puerta del 2009 y todavía tenemos dilemas del 2000. El eterno dilema de tener siempre que cuidar por las cosas pasadas, estancarse, no avanzar. Y créanme, uno siempre quiere dar grandes saltos, pero no puede, siente que tiene que ir despacio sin armar mucho ruido por miedo a que se caiga todo.

El problema es la solución

Todo el problema de avanzar radica en cómo el resto del mundo se va actualizar. Ahora mismo, hay una base gigante, nada despreciable de usuarios con Internet Explorer 6 que es lo que retrasa todo tipo de decisiones. Las empresas no avanzan por estas razones, y las organizaciones como el W3C tampoco avanzan porque deben garantizar cosas seguras para que no vuelva a ocurrir lo mismo. Los usuarios nunca estarán seguros porque siguen andando con material que tiene defectos propios de la década del 90. Pareciera que no hay botón de “undo” en materia de estándares, pero les digo algo: es más fácil para los desarrolladores actualizarse y corregirse a los nuevos estándares que esperar a décadas de upgrades de sistemas para sentirse seguro e empezar a implementar algo. No sé si alguien me entiende.

El W3C es una asociación por la cual vela por unos ideales espectaculares: la uniformidad y la estandarización de la composición de la web. A simple vista parece algo simple pero no lo es. Parece algo mágico y lindo, pero tampoco lo es. Sin embargo, el hecho de que un grupo de científicos y algunas empresas con cabida en la asociación controlen cuando, donde y cómo saldrá todo hace que la evolución que perseguimos sea de lo más burocrática, lenta de lo que nos imaginamos. Decenas de especificaciones olvidadas, algunas, sin actualizar y otras, estancadas en un gran pantano esperando la tormenta para salir disparando de ahí.

No me tomen por un desquiciado más, sé que esto no puede anarquizarse así nomás, pero sí confío en otras soluciones más simples y seguras. Creo que la web no tendrá demasiado futuro si no trabajamos en un medio para actualizarnos automáticamente.

Un buen sistema de actualización no haría mal a nadie, más mal del que ya está la web no creo. El W3C podría actuar con más premura y el resto de empresas podrían actualizar su código de forma eficaz, sin tener que hacer grandes proezas.

Pongamos un caso de ejemplo: imaginemos que sale CSS3 como recomendación. Aunque CSS3 no es “1″ especificación sino una serie de “módulos” independientes todo está terminado, listo para implementar. Nosotros los desarrolladores no podemos hacer nada. No podemos avanzar. Debemos esperar al menos una década para empezar a pensar que esta base de usuarios ya es insignificante para ponernos a usar cosas que realmente valen la pena, eliminando cantidades de hacks y código propietario que no debería existir. Este ejemplo, puede pasar mañana y les aseguro, nada cambiaría. Pero en cambio si la web en sí, no fuera el medio sino el lugar donde debemos ir la cosa cambiaría. Actualizarnos para poder acceder, para poder disfrutar y poder progresar, no solo a nivel económico, sino en un montón de aspectos. La web estaría al día en cuestión de horas y no es cuestión de años.

Posible solución

Para esto debería existir, creo yo, dos cosas: un motor universal y un sistema de actualización automático.

El núcleo universal garantizaría a cualquier empresa tener la última versión del motor con todos los lenguajes dentro para su navegador favorito. Se acabarían las historias de que Safari ya implementó tal elemento o instrucción y Microsoft todavía espera incluir cosas del año 98. Todos los navegadores estarían al día, sólo los diferenciaría su facilidad de uso, el sistema base del que deben de correr y ya. Si alguien modificara este núcleo, éste estaría disponible para el resto, de la misma forma que el kernel de Linux progresa, podría hacerlo sin problemas un núcleo de navegadores. El W3C no tendría problemas, porque incluso equivocándose podría re-enmendar el asunto con otro parche y todos estaríamos contentos. Si una empresa de navegadores se va al garete no habría problemas: el hecho de que el núcleo está disponible en otros navegadores haría que los usuarios tuvieran la tranquilidad de mudarse a otro sistema porque ya no les queda otra sin tener que sentir que “perderá algo valioso” o peor aún: quedarse usando sistemas y programas antiguos porque “funcionan”, como hacen algunas empresas que todavía van con Internet Explorer 6 como si fuera la opción más segura. Los desarrolladores por fin podrían desarrollar bajo el consenso de un estándar único y no por las implementaciones de una empresa, haciendo que las actualizaciones se desarrollen de una forma eficaz y fluida. La web evolucionaría a pasos agigantados.

Un sistema de actualización automático permitiría a las personas convertirse en medios. Uno estaría al día en cuestión de horas, al cargar el portátil, al encender el PC o el Mac de tu habitación. No sirve de nada recomendar a la gente pasarse o usar un navegador, poca gente le presta atención o sigue los consejos de otra, es por ello que todo debería ser impositivo, requisitivo. Si una web no valida por error humano o por negligencia o desfachatez de un desarrollador o una empresa, ésta no debería funcionar. Así evitaríamos problemas, la web debería ser XML y el sistema de actualización debería ir por el mismo camino. Implementar una actualización de CSS3 podría llevar unas horas o unos días, debido a que las empresas tuvieron el tiempo suficiente para estudiar y analizar los cambios en el núcleo. Aquellas que tengan base financiera puede que tengan ventaja contra otras empresas o grupos pero los cambios estarían siempre ahí a la orden del día.

Finale

A día de hoy existen intentos de crear las cosas que mencioné. Mozilla, Apple y Opera avisan a sus usuarios de las actualizaciones disponibles, Microsoft lo hace a su manera, pero cada uno lo hace de una forma distinta y compleja. Existen motores abiertos como Webkit pero no existe consenso para utilizarlo abiertamente, simplemente parte de las empresas van a su rollo porque en cierta forma, controlan. Lo cual no debería ser así.

Es curioso que teniendo tanta tecnología tengamos este tipo de flaquesas, es como si hubiéramos inventado la tele pero no la electricidad para hacerla funcionar. Uno siente que le faltan los brazos, las manos para poder trabajar o progresar en la web, pero es así. Inventamos el iPhone, las notebooks, los robots para soldar coches pero no inventamos un buen núcleo y un sistema de actualización para darle a la gente esa universalidad que necesita.

Para ampliar la lectura, pueden pasar por la pequeña anotación que hizo mariano acerca de los problemas de crecimiento del W3C: Los tres círculos del infierno de los estándares web.

14 Respuestas a la entrada “Estado de la web 2008”

Cuanta razon tienes. El entorno actual ha llegado a un punto de estancamiento y la verdad es que veo una dificil solución. Quizá quien mas puede decir sobre esto es Microsoft que deberia hacer todo lo posible por forzar la actualización de su IE6 ni que fuera a IE7.

El sistema que comentas es el utilizado por muchos juegos multijugador online, en donde no entras si no estas utilizando la ultima versión, sin embargo veo muy complejo, casi imposible que esto llegue a materializarse en la web.

A mí me parece que estás llevando las cosas un poco al extremo. Qué motor cogemos? Quién lo desarrolla? Si cogemos Webkit, tiene muchísimas carencias respecto a Gecko, pero si cogemos Gecko, es mucho más lento que Webkit, quién desarrolla las mejoras? Google? Hay mucha gente que no se fía de Chrome, incluso estando el código a la vista.
Incluso ya, hoy por hoy, Google ha tomado la iniciativa mejorando Webkit con V8, pero aún así, no es suficiente.
A mí me parece que la solución pasa más por el consenso, coger la especificación, CSS3, y que los desarrolladores se centren en ello. Olvidarse de lo demás, y actualizar. Es caro, costoso, y difícil, pero es dejar atrás lo viejo para arrancar en lo nuevo, y un cambio gradual muchas veces acarrea retrasar lo nuevo para dejar espacio para lo viejo. Hay que romper con esa idea.
La competencia, la variedad, conlleva innovación. El “picarse”. Con un motor para controlarlos a todos ocurriría que uno de los fabricantes expandiría las posibilidades del motor de forma no estándar para ofrecer ventajas sobre los demás, cosa que en su día pasó con IExplorer.
Como ya han comentado, los videojuegos te obligan a actualizarte. Pero nadie ve una web en la que necesite entrar porque las ganas le pueden. Pero por poder, se puede más que de sobra limitar a los usuarios con versiones antiguas para que actualicen. Es más, con sólo no mantener la web para navegadores antiguos y mostrar el cartel de “Sólo para navegadores actualizados” podrías funcionar.
Pero el problema es más bien, todas esas personas que usan el explorer. No porque esté desactualizado, pero más porque interpreta las cosas como le da la gana.
Yo apoyo la idea del consenso, en lugar del de la imposición. Pero hay que sentar una base actualizada (CSS3) y desarrollar a partir de ahí.

Me parece muy simplista pensar en un núcleo universal para resolver la lentitud de implementación de novedades. Se me ocurren muchas razones para rechazar esa idea.
Que yo sepa la mala situación actual se la debemos básicamente a Internet Explorer, que habiendo desbancado al Netscape, tomo una posición hace unos años de más del 95% de los navegadores. Es decir, era como el navegador universal. Y precisamente eso ralentizó el desarrollo en internet.
La competencia está poniendo todo de nuevo en orden.

Todo eso es muy secundario.

El lío está en la nueva implementación del estándar ECMAScript4, ya totalmente orientada a objetos y pensada para la web actual. Parecía que iba para alante pero de repente se pararon. Otros dos o tres años con la misma mierda de Javascript2.

Sobre tus soluciones de motor universal y actualización automática, recordar que ya existen: Gecko y Webkit. Dices que cada empresa lo usa a su rollo, pero eso no es verdad. El motor de Chrome y de Safari (por poner dos ejemplos) es al 99.99% el mismo.

¿Por qué hay 2 y son diferentes? Habría que preguntarle al W3C.

Hay varios líos de estándares. Un motor universal, abierto como cualquier otro permitiría que cualquiera edite y mejore el motor. No hace falta esperar a ver “quien tira la piedra”.

El kernel de Linux lo mantienen así.

Lo de el motor universal no lo veo posible. No veo a Microsoft por la labor.

Lo que si estoy de acuerdo es que los desarrolladores tenemos que tirar también hacia adelante. El ejemplo de que sigamos desarrollando para IE6 lo demuestra. Algunas webs “gordas” como Facebook creo que obligan ya al cambio a IE7.

El problema es que muchos no actualizan a IE7 porque tienen un Windows XP sin licencia y el WGA te lo impide (se puede instalar el IE7 saltándote el WGA pero es complicado)

Muy complicado todo

Suena muy idílica tu solución, pero en este caso está funcionando la competencia para alimentar el progreso. Ahora el mercado tiene 4 motores en primer línea: Gecko (Mozilla), Webkit (Safari, Chrome), Trident (IExplorer) y Presto (Opera). Como comenta Leon, algunos con ramificaciones y cada uno tiene sus ventajas e inconvenientes y todos compitiendo y tirando del carro del desarrollo.
http://getjins.wordpress.com/2008/09/10/a-quick-look-at-browser-engines-trident-gecko-webkit-presto/

Aunque, por increíble que parezca, los navegadores tampoco están evolucionado tan rápido como para implementar todos los estándares y llevan el mismo ritmo pero con años de retraso.

¿E Internet Explorer 7 es bueno? :) que desarrollen e incentiven a utilizar Firefox, Opera o cualquier tipo de navegador Webkit me parece perfecto, pero obligar a usar el IE7 me sigue pareciendo una pérdida de tiempo.

ANAKIN: We need a system where the politicians sit down and
discuss the problem, agree what’s in the best interests of
all the people, and then do it.

PADMÉ: That is exactly what we do. The trouble is that
people don’t always agree. In fact, they hardly ever do.

ANAKIN: Then they should be made to.

PADMÉ: By whom? Who’s going to make them?

ANAKIN: I don’t know. Someone.

PADMÉ: You?

ANAKIN: Of course not me.

PADMÉ: But someone.

ANAKIN: Someone wise.

PADMÉ: That sounds an awful lot like a dictatorship to me.

ANAKIN: Well, if it works…

Saludos,

Escrito por Dave
Enero 1st, 2009 at 7:13 pm

Por el momento, una medida inmediata debería ser educar al usuario. Los diseñadores tienen el poder, y diría que ese poder es mayor al de la industria (corporaciones, se entiende).

Los sitios deben ser pensados para funcionar en navegadores decentes. El que no lo entienda así, que nade contra la corriente y que se ahogue. El consenso y el liderazgo de esta lucha debe ser encabezado por los diseñadores, los demás son de palo.

Por otra parte soy bastante optimista en la medida que vemos como las plataformas de CMS, blogs y redes sociales, en general ayudan a difundir las buenas prácticas en el uso de estándares y creo que las cosas se van a ir acelerando por el buen camino.

Concuerdo con Dave. Como leí hace no mucho en una entrada de Jeff Croft. Hay que trabajar para satisfacer especificaciones, no navegadores. Y luego pienso yo que lo demás esta bastante fuera de nuestras manos; pero si le prestamos atención a la especificación solamente, en algún momento la gente detrás de X motor o navegador, se verá obligada a hacerlo.

Es la única manera, ahora yo solo miro afuera de la especificación cuando un cliente me lo pide. Tampoco sería mala idea estandarizar algún mensaje que indique al usuario que cambie de navegador si usa uno obsoleto.

Está bueno lo que dice Dave, pero creo que no es responsabilidad sólo de los diseñadores. Yo creo que más bien es algo que nos corresponde a los desarrolladores web en general.

“The problem is choice”. Yo no te puedo obligar a que utilizes Opera como navegador predeterminado así como también vos no me podés obligar a mi a que use Firefox o a que navegue con JavaScript deshabilitado.

Lo mismo pasa detrás de cada empresa que desarrolle el navegador X. Uno elige tomar un camino alternativo porque no está de acuerdo con la manera que implementa otro. De ahí Presto, Gecko, Webkit, etc.

Si yo creo y demuestro que tu if está demás pero además vos creés y me demostrás que no, entonces cada uno va para su lado y punto. Creo que es una cuestión prácticamente natural.

El ejemplo de anarquizarse viene al pelo. Anarquizar una web y hacerla 100% compatible con los estándares puede llevarla derecho a la tumba. Es aplicable a una web personal, un blog, pero para un sitio dirigido a un target específico o a generar ingresos, seguramente le sale el tiro por la culata y entran otras cosas en juego (empleos por ejemplo).

Yo creo que hay que respetar los estándares lo más que se pueda pero sin desenfocarse del usuario.

Respetando los estándares hace que uno, de entrada, vaya por buen camino y respetando la accesibilidad que se le da al usuario para acceder a una web, a la larga. terminan siendo fixes que se irían eliminando a medida que todo mejore (si es que mejora).

Yo puedo entender el objetivo de tu post, pero porque yo también desarrollo webs. Si le mostrás ésto a un tipo que hace marketing, como me pasa con la gente que trabajo, la respuesta que obtenés es que al mercado lo lidera “ya sabés quien” y por ende la web que estás desarrollando tiene que funcionar principalmente para ese target.

Curioso, pero sobre todo, «técnico y profesional» calentón típico con IE -o mejor ¿Microsoft?- xDD …¿por qué nos da siempre por ponernos trascendentales cuando vemos precisamente eso?: «que no avanzamos» y que, nos guste o no, son: «sus cojones» -sí, ya sé que no es tan concreto como IE ;) -.

Que las actualizaciones del Sistema Operativo más utilizado puedan ser del orden de medio año (¿serias quizá?, estoy muy perdido ya en Win) imagino que tiene que ver: Cuando la mayoría de navegadores empiezan a desarrollar sobre borradores como CSS3, la mayoría de desarrolladores siguen montando códigos cada vez más eficaces para los caprichos de IE… desde luego es desalentador. Cuando miras tus estadísticas, cuando ves el marcado que se usa, aún, en miles de documentos… que aún no hayamos podido servir, tras años yaaa de empuje real del estándar, HTML como XML de verdad!!!. …sí, desanima.

Pero sobre todo desanima que a la cabeza de cualquier decisión, como se dice, esté Microsoft y Windows… Y no pasaría nada si no fuera por el historial Estándares - Microsoft: Estándares Web, OpenXML…, pese a haber comenzado con muy bien pie.

Aunque si lo pensamos bien es de lo más lógico del mundo: ¿quien querría estandarizar un negocio que, de facto, es el estándar y es propio?

Juas… después de todo, si nos volvemos a fijar un poco:
cada uno tira a lo suyo.
Pues yo prefiero Gecko :P , aunque, ya en serio, supongo que lo bueno es que son estándares, eso solventa, creo, el dilema de la globalización con un motor universal.

Pero… me sigue pareciendo curiosa la preferencia sobre webkit, o sobre gecko…, es decir, podría emplear una frase de película para ilustrar esto, porqué no avanzamos y cual es el panorama de siempre:

«Estáis tan preocupados en pelearos por los restos de la mesa Longshank que habéis perdido el derecho a tener algo mejor.»

Yaaa, yaa, bueno, no es exactamente eso pero…

Por cierto, Víctor, eso ya se propuso hace mucho tiempo, si no recuerdo mal, por parte de Opera o Netscape. Kwennn… no recuerdo la técnica que se llegó a estandarizar :S