in experiencia de usuario, xhtml/css

Cuando desarrollamos un producto digital podemos utilizar ciertos trucos para mejorar la percepción de uso de los usuarios cuando utilizan un interfaz. Engaños benévolos para hacerles ahorrar tiempo o hacerles pensar que lo están ahorrando. Algunos ejemplos:

En el iPhone OS (iPhone, iPod Touch y ahora iPad) Apple te invita a crear una imagen estática en PNG que sea igual que parte de la primera pantalla que vaya a ver el usuario (logicamente en la imagen no podrás incluir contenido dinámico). La primera pantalla puede tardar en cargar unos instantes, pero la imagen se muestra inmediatamente: de esta manera el usuario percibirá que la aplicación ya está cargando.

En Pivotal Tracker cuando escribes un comentario a una historia y la envías, el sistema actualiza inmediatamente el cliente, con lo que el usuario ve que su comentario ha sido guardado, y por debajo lo envía (un proceso rápido de menos de un segundo, pero no tanto como actualizar de forma inmediata el cliente). Lo mismo ocurre con muchas acciones en Gmail.

En muchas aplicaciones se puede ver el efecto contrario: precargar contenido HTML (ya sea estático o dinámico) y mantenerlo oculto hasta que el usuario utilice el control para verlo, de modo que se muestre de forma inmediata, en vez de tener que recargar a una página nueva o solicitar por Ajax el contenido nuevo.

Facebook (y Google Reader) cargan nuevo contenido de forma automática cuando el usuario hace scroll y se dirige al final del contenido: si el usuario está haciendo scroll es porque quiere más contenido, así que en vez de obligarle a utilizar un paginador o un botón de “ver más”, el sistema actualiza automáticamente lo que ya sabe que el usuario que quiere ver.

Twitter podría hacer algo parecido en su cliente web: podría precargar los siguientes 20 tweets que se muestrar al pulsar “más”; ahora mismo se hace una petición al servidor y tarda en cargarse un par de segundos; si en la primera carga de la página hubiese cargado 40 tweets en vez de solo los 20 primeros, y dejase ocultos los segundos 20, podría mostrar el nuevo contenido de forma inmediata (y cuando el usuario pulsase “más” ponerse a cargar los siguientes 20).