Todos conocemos la venerable barra de progreso, es algo así (o alguna variante):

longprocess.gif

Los expertos del diseño de interfaz recomiendan usarla para procesos que pueden tardar más de algunos segundos. Aunque definitivamente es mejor a sentir bloqueada la computadora, no es la solución idónea.

Un ejemplo de la vida real: acompañas a un familiar al doctor. El doctor te dice que puedes estar presente durante la consulta, o puedes quedarte en la sala de espera. La gran mayoría escogería estar presente durante la consulta; no precisamente por solidaridad, sino porque saben que se van a aburrir si se quedan en la sala de espera (prefiero taladrearme el cráneo antes que leer una de las abominables revistas que tienen ahí).

Este fenómeno tiene un paralelo en la web: está bien documentado que la percepción del tiempo de descarga de una página tiene más que ver con la rapidez en la que se muestre algo visible en la pantalla, sin importar tanto el peso total de la página. Ahora imagínate que cada vez que entres a una página se muestre algo así:

safariload.jpg

Y no se muestre nada hasta que la página haya terminado de descargar por completo, con imágenes y todo (de alguna manera me recuerda los sitios hechos en Flash). Con algunas excepciones en las que los datos procesados simplemente no se pueden mostrar visualmente, siempre es mejor mostrar el proceso a mostrar una barra de progreso.

En iTunes, cuando agregas canciones nuevas, observas visualmente aquellas que han terminado de cargar:

itunesload.jpg

De acuerdo a las Human Interface Guidelines del iPhone, primero te muestra una imagen de cómo es el programa antes de cargarlo con datos reales (después de todo, un ícono brincando en el dock o la pantalla de inicio de Photoshop son el equivalente a una barra de progreso).

iphoneload.jpg

Nota curiosa: esta es una idea original de Jeff Raskin, la cual implementó en el comercialmente fallido Canon Cat. Cuando introducías un disco te mostraba rápidamente una captura de pantalla del último documento que tenías abierto, y mientras tratabas de recordar en qué parte te habías quedado, la computadora cargaba el documento real tras bambalinas. Muy poca gente se daba cuenta de esto.

Disco, un programa para grabar CDs en Mac, muestra visualmente cómo se quema el disco. El humito es puro eye candy pero también difícil de resistir.

Disco

Un ejemplo hipotético

Supongamos que queremos aplicar este principio a la herramienta para subir imágenes de Flickr:

flickrload.gif

En realidad es aplicable para cualquier programa que involucre imágenes: imagina que Photoshop, en lugar de mostrar una barra de progreso al aplicar un filtro, vaya mostrando el proceso. O un programa para escanear vaya mostrando la parte escaneada (estoy seguro que ya lo hacen, pero no lo he visto personalmente).

Otros ejemplos: cuando exportas un video, te va mostrando los cuadros que va guardando (y así puedes darte cuenta de algún problema de compresión, por ejemplo), o inDesign te puede ir mostrando las páginas de un archivo que guardas como PDF. En realidad el problema se puede reducir a una pregunta: "¿Se puede visualizar?", y si la respuesta es sí, entonces es mejor prescindir de la barra de progreso.