He leido hace poco un excelente artículo (en inglés) sobre las diferencias en el algorítmo de copia de archivos de Windows XP frente al nuevo de Windows Vista. Sorprendentemente este último es bastante mejor y está bastante más depurado (pese a todas las críticas que ha recibido).
Esto, según explican en el artículo, se debe a un concepto que, si bien no es propiamente de programación, si que me parece bastante importante y cuya base es conocer las reacciones del usuario. Es evidente que los programadores (salvo honrosas excepciones) nunca seremos grandes diseñadores, pero no obstante, es bastante importante que tengamos ciertos conceptos.
El problema en el copiado de archivos no es, por lo visto, que el tiempo que tarda en hacerlo sea superior en Vista a XP sino la sensación aparente de dicho tiempo, es decir, la impresión que se le queda al usuario. Esto se debe a que, por ejemplo, Windows XP presenta un dialogo de progreso de dialogo inmediatamente, con un tiempo estimado que, como todos los que lo hemos usado sabemos, no significa nada y de hecho suele cambiar al poco. En cambio Vista tarda un rato (12 segundos según el artículo) en presentar dicha estimación y lo sustituye por un "calculando el tiempo necesario"... el problema es que durante ese tiempo, lo que los usuarios creemos es que no está haciendo nada, no está copiando (cuando si que lo hace) y eso nos da una sensación de que tarda mucho más.
Por otro lado, Windows XP oculta el diálogo antes de realizar el volcado actual de datos al disco, de forma que, aunque eso se queda pendiente (y si se fuera la luz obtendríamos defectos o pérdidas en la copia) la sensación que le queda al usuario es que el proceso ya ha acabado, y por tanto, ha sido mucho más rápido.
Hay otros puntos interesantes en el artículo, por lo que os recomiendo que lo leáis.
Fuente: Coding Horror