El patrón Placebo
VictorR Sábado, 8 de diciembre del 2007
Etiquetas: patrones, Soluciones
Navegando por la red he encontrado un pequeño tesoro, para que luego digan que no está todo inventado… (bueno, cierto, no lo está) el mini-patrón Placebo.
Primero, pongamos un contexto: nuestra aplicación está cargando unos datos, o intentando realizar una conexión a un servidor remoto, o cualquier otro proceso largo, y no tenemos idea de cuánto tiempo puede tardar en realizar tal acción. Como es de costumbre, si al usuario no lo entretienes mientras la espera, pulsará todos los botones habidos y por haber para que la aplicación haga algo o simplemente pensará que ya se ha vuelto a colgar otra aplicación mal hecha. Es decir, queremos que el usuario no haga nada y esté tranquilo porque tendrá la sensación de que nuestra aplicación no funciona mal.
Ahora, una solución: según el patrón Placebo, lo que debemos hacer es “estimar” el tiempo que durará esta espera que deberá aguantar el usuario, y simular una carga que dure este tiempo. Es simple la idea, y efectiva. Ahora veréis porqué.
Un ejemplo: la espera a la aparición de la ventana de login de Mac OS X utiliza este patrón. La barra de carga del sistema que aparece no es más que una pequeña aplicación llamada “WaitingForLoginWindow”, y que se puede ejecutar desde la línea de comandos del Terminal. Su localización es:
/usr/libexec/WaitingForLoginWindow (yo lo he probado y funciona*)
Pero, un momento, según el patrón se debe estimar el tiempo de duración. ¿Cómo lo hacen la gente de Apple? Pues sencillo, guardan el tiempo que ha tardado la anterior carga en un fichero de texto (/var/db/loginwindow.boottime), comprobadlo
Pues esto es el patrón Placebo, aplicable a la mayoría de aplicaciones creadas y por crear, ya sean web o de escritorio.
Os dejo un par de enlaces de donde saco tal información WaitingForLoginWindow y The Placebo Mini-Pattern
* para parar el proceso teclear en el Terminal killall WaitingForLoginWindow.
Sin comentarios a "El patrón Placebo" »
No hay ningún comentario.
RSS feed para los comentarios de esta entrada. TrackBack URL
Deja tu comentario