April 3rd, 2005
Ajax: Ni blanco ni negro
Como ya deberíamos haber aprendido luego de varios ascensos milagrosos, seguidos por estrepitosas caidas, nada es completamente bueno, ni completamente malo. Ajax no es la excepción.
Basado en un enfoque diferente al tradicionalmente seguido en cuanto a interacción entre el cliente y servidor, el modelo Ajax parece marcar un nuevo hito en el mundo de Internet. Pero cuidado, al igual que ocurrió en su momento con el Flash, a no confundir un conjunto de tecnologías con una mejor experiencia para el usuario. Utilizar nuevas tecnologías puede en ciertos casos llevar a mejores experiencias de accesibilidad y usabilidad, pero no siempre tiene por que ser así.
Debemos diferenciar entre sitios web, llamemosle así a aquellos principalmente destinados a ofrecer información, y aplicaciones web, o sea aquellas herramientas que sirven para cumplir determinadas funciones. En el caso de los sitios web es reducido el uso que podemos hacer de la tecnología Ajax, mientras que en el caso de las aplicaciones es donde más terreno podemos encontrar para su desarrollo. Con esto no quiero decir que en los sitios web no podamos usarlo y en las aplicaciones web sea obligatorio su uso. NO, existen sitios que implementan este tipo de tecnologías logrando ventajas de usabilidad muy grandes (por ejemplo pueden ver el calendario que hay en la barra lateral. Desarrollado por Jon Abad).
Por lo tanto, es interesante enumerar, brevemente, algunas de las ventajas y desventajas que tiene este conjunto de tecnologías:
Ventajas
- Permite actualizar una página sin necesidad de recargarla completamente. Esto se vuelve especialmente util en los casos de interfaces en las que se presentan muchas funciones y donde la ejecución de una determinada función no implica modificaciones sustanciales en el resto de la interfaz.
- Permite un mejor flujo de información entre el cliente y el servidor. Es posible crear aplicaciones que creen, modifiquen y elementos items de una determinada colección, sin necesidad de volver a generar toda la interfaz. Un ejemplo de aplicación que se adaptaría muy bien a esto es el caso de los carritos de compra, donde no sería necesario una recarga de toda una página
- Disminución de los tiempos de espera y reducción de la transferencia de información entre cliente y servidor. Consecuentemente con los puntos 1 y 2, al no tener que volver a cargar toda la página cada vez que se realiza una pequeña modificación en la misma, se reducirían notablemente los tiempos de espera por parte de los usuarios, asi como el volumen trabsferido entre el cliente y el servidor, evitando la repetición del envio de datos incambiados (imagenes, textos, etc)
Desventajas
- Perdida de atención a los cambios que se produjeron. En determinados casos algunos cambios producidos por estos procesos pueden pasar desapercibidos para el usuario. En estos casos se deben de proveer referencias que alerten al usuario del resultado de su acción. Un ejemplo de esto es el metodo desarrollado por 37signals llamado The Yellow Fade que consiste en marcar los cambios realizados con una variación en el color de fondo del area modificada.
- Falta de tecnología en el lado del cliente. El modelo Ajax se basa fuertemente en el uso, en el lado del cliente, de Javascript como disparador de la solicitud. Esto puede llevar, en casos en que el cliente no disponga de esta tecnología (telefonos celulares, PDA”s, etc), a que el proceso quede interrumpido y no se puedan llevar a cabo las funciones requeridas por la aplicación. Es esencial en estos casos disponer de alternativas que garantizen la correcta ejecución de todas las funcionalidades de nuestra aplicación (podríamos comprar con ofrecer una version no-flash para los sitios que utilizan dicha tecnología)
- Quiebre de las ayudas de navegación estándar. Al realizar modificaciones en el documento sin utilizar los metodos estandar de los navegadores estamos cortandole al usuario la posibilidad de utilizar los botones atras y adelante, asi como la barra de direcciones para navegar por el sitio. Debemos comprender que el modelo Ajax se debe utilizar para aquellas modificaciones que no afecten estos aspectos de usabilidad, o sea, no debemos utilizar el Ajax para realizar acciones que puedan ser realizadas con el navegador (por ejemplo recargar toda una página)
- Cierra el camino de los bots. Al estar el funcionamiento del modelo basado en Javascript, esto lleva a que los bots no puedan seguir un camino a traves de los vinculos que hagan uso de dicha tecnología, por lo tanto toda aquella información a la cual se acceda a través del Ajax no será registrada por los bots que visiten nuestro sitio
Links
Les dejo aqui algunos links interesantes a articulos relacionados con el tema.
- XMLHttpRequest Usability Guidelines
-
XMLHttpRequest, Ajax, and the customer experience (Signal vs. Noise)
- Ajax: A New Approach to Web Applications
Tags: ajax, CSS, interfaz, javascript, Usabilidad, XHTML


2 Comments Add your own
Rerum Varium | January 13th, 2006 at 21:29
AJAX para integración de socios de negocios en Monografias.com
Alivianamos la carga del servidor y mejoramos la experiencia del usuario gracias a un script asíncrono.
Concept&Development » La importancia de las interfaces en los nuevos modelos de interacción web | May 14th, 2006 at 16:24
[...] Últimamente este blog ha tenido bastante poco movimiento, fundamentalmente debido a falta de tiempo por parte de quien escribe por estos lados. Si bien tengo unos cuantos temas que me gustarÃa tocar, fundamentalmente porque en los últimos meses me ha tocado entrar en un área bastante nueva de la programación para la web (sÃ, esa, la que tiene nombre de detergente) haciendo un uso bastante intensivo de dichas tecnologÃas, el disponer de poco tiempo hace que se vuelva una tarea bastante complicada tener un ritmo de publicación más o menos estable. Por lo tanto voy a aprovechar que es domingo y escribir algo. Acá se los dejo. [...]
Leave a Reply
XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>