Preparando un documento de análisis para un cliente, me he encontrado en mi fondo de armario un enlace a las bases de la filosofía UNIX y no puedo dejar de pensar en lo bien que aplican estas reglas al mundo del diseño de interacción.
Las 17 reglas en versión resumida vienen a decir (perdón por la traducción al vuelo):
Regla de Modularidad: Escribe partes simples, conectadas por interfaces simples.
Regla de Claridad: ser Claro es mejor que ser ingenioso.
Regla de Composición: Diseña programas para que se conecten a otros programas.
Regla de Separación: Separa las reglas del funcionamiento; separa los interfaces de los mecanismos.
Regla de Simplicidad: Diseña para la simplicidad; añade complejidad sólo donde sea estrictamente necesario.
Regla de Parsimonia: Escribe un programa complejo sólo cuando sea evidente que no existe otra solución posible.
Regla de Transparencia: Diseña para la visibilidad, para hacer más fácil la inspección y la corrección de fallos.
Regla de Robustez: la Robustez es hija de la transparencia y la simplicidad.
Regla de Representación: Convierte el conocimiento en datos, para que la lógica de los programas pueda ser estúpida y robusta.
Regla de Mínima Sorpresa: En diseño de interfaces, haz siempre lo menos sorprendente.
Regla de Silencio: Cuando un programa no tenga nada sorprendente que decir, no debería decir nada.
Regla de Reparación: Cuando tengas que mostrar un error, falla estridentemente y lo antes posible.
Regla de Economía: el tiempo del programador es caro; consérvalo sobre el tiempo de la máquina.
Regla de Generación: Evita hacer cosas a mano; escribe programas que escriban programas siempre que puedas.
Regla de Optimización: Prototipa antes de pulir. Haz que funcione antes de optimizarlo.
Regla de Diversidad: Desconfía de todo lo que diga “esta es la única forma correcta”.
Regla de Extensibilidad: Diseña para el futuro, porque estará aquí antes de lo que piensas.
El único cambio que creo necesario para añadirlo a mi arsenal de Fundamentos de Diseño es reescribir la regla 13 como “el tiempo del usuario es caro; consérvalo sobre el tiempo del diseñador” (pensando en la Ley de Tesler).
Leer estas 17 reglas cada mañana, todos los días.
Increíble, los había leído antes varias veces y te siguen sorprendiendo.
Por cierto, a esto le unimos los diez principios del buen diseño de Dietar Rams y ya tenemos para pensar un buen rato… :D
http://es.wikipedia.org/wiki/Dieter_Rams
@agustin Totalmente de acuerdo : )
Por cosas como estas UNIX es el mejor SO, que no ha cambiado nada en 40 años…
Que buenas… y sirven para casi todo! ;)
Maravilloso. Lo que hace tener un fondo de armario bien aprovechado.
Pingback: No al resizeTo (sin mi permiso) » Criterion
Extraordinario. Estoy maravillado por este documento.
Pingback: bitácora de uno » Filosofía Unix para el diseño de Software