El principio de menor asombro ( POLA ), también conocido como principio de menor sorpresa (alternativamente una ley o regla ), [1] [2] se aplica a la interfaz de usuario y al diseño de software . [3] Propone que un componente de un sistema debe comportarse de una manera que la mayoría de los usuarios esperan que se comporte. El comportamiento no debe asombrar ni sorprender a los usuarios. La siguiente es una declaración formal del principio: "Si una característica necesaria tiene un factor de asombro alto, puede ser necesario rediseñar la característica". [4]
El término se ha utilizado en relación con el uso de computadoras desde al menos la década de 1970. [5] Aunque se formalizó por primera vez en el campo de la tecnología informática, el principio puede aplicarse ampliamente en otros campos. Por ejemplo, por escrito , una referencia cruzada a otra parte del trabajo o un hipervínculo debe redactarse de manera que le diga con precisión al lector lo que puede esperar. En un libro sobre la pesca de la lubina , "Para obtener recetas sobre cómo cocinar la pesca, consulte el capítulo 4", no debe llevar al lector a un capítulo sobre las temporadas de pesca de la lubina en varios lugares.
Formulación
La formulación de un libro de texto es: "Las personas son parte del sistema. El diseño debe coincidir con la experiencia, las expectativas y los modelos mentales del usuario ". [6]
El principio tiene como objetivo aprovechar el conocimiento preexistente de los usuarios para minimizar la curva de aprendizaje , por ejemplo, mediante el diseño de interfaces que se basan en gran medida en "programas funcionalmente similares o análogos con los que sus usuarios probablemente estén familiarizados". [1] Las expectativas del usuario a este respecto pueden estar estrechamente relacionadas con una plataforma o tradición informática en particular . Por ejemplo, se espera que los programas de línea de comandos de Unix sigan ciertas convenciones con respecto a los conmutadores , [1] y se espera que los widgets de los programas de Microsoft Windows sigan ciertas convenciones con respecto a los atajos de teclado . [7] En entornos más abstractos como una API , la expectativa de que los nombres de funciones o métodos coincidan intuitivamente con su comportamiento es otro ejemplo. [8] Esta práctica también implica la aplicación de incumplimientos sensibles . [4]
Cuando dos elementos de una interfaz entran en conflicto o son ambiguos, el comportamiento debe ser el que menos sorprenda al usuario ; en particular, un programador debería intentar pensar en el comportamiento que menos sorprenderá a alguien que usa el programa, en lugar de ese comportamiento que es natural al conocer el funcionamiento interno del programa. [4]
La elección del comportamiento "menos sorprendente" puede depender de la audiencia esperada (por ejemplo, usuarios finales , programadores o administradores de sistemas ). [1]
Ejemplos de
Un sitio web podría tener un campo de entrada que se enfoque automáticamente después de que se cargue la página, [9] como un campo de búsqueda (por ejemplo, Búsqueda personalizada de Google ) o el campo de nombre de usuario de un formulario de inicio de sesión .
Los sitios que ofrecen atajos de teclado a menudo permiten presionar ?para ver los atajos disponibles. Los ejemplos incluyen Gmail [10] y Jira . [11]
En los sistemas operativos Windows y algunos entornos de escritorio para Linux , la F1 tecla de función normalmente abre el programa de ayuda para una aplicación . Un atajo de teclado similar en macOS es + + . Los usuarios esperan una ventana de ayuda o un menú contextual cuando presionan las teclas de acceso directo de ayuda habituales. Es probable que el software que utilice este atajo para otra función cause asombro si no aparece ninguna ayuda. [12]⌘ Command⇧ Shift/
Un lenguaje de programación Es biblioteca estándar por lo general proporciona una función similar a la del pseudocódigo ParseInteger(string, radix)
, lo que crea una legible por la máquina número entero desde una cadena de legible dígitos . La raíz convencionalmente predeterminada es 10, lo que significa que la cadena se interpreta como decimal (base 10). Esta función generalmente admite otras bases, como binario (base 2) y octal (base 8), pero solo cuando se especifican explícitamente. En una desviación de esta convención, JavaScript originalmente se estableció de forma predeterminada en la base 8 para las cadenas que comienzan con "0", lo que causa confusión a los desarrolladores y errores de software . [13] Esto se desaconsejó en ECMAScript 3 y se eliminó en ECMAScript 5 [14]
Ver también
- DWIM (haz lo que quiero decir)
- Convención sobre configuración
- Directrices de interfaz humana
- Mira y siente
- La navaja de Occam
- WYSIWYG
- Lista de filosofías de desarrollo de software
Referencias
- ↑ a b c d Raymond, Eric Steven (2003). "Aplicar la regla de la menor sorpresa". El arte de la programación Unix . faqs.org. pag. 20. ISBN 978-0-13-142901-7. Consultado el 23 de agosto de 2020 .
- ^ James, Geoffrey (1987). Ley del menor asombro . El Tao de la programación . 4.1. ISBN 0-931137-07-1. Consultado el 5 de febrero de 2014 .
- ^ Seebach, Peter (1 de agosto de 2001). "El principio del menor asombro" . El usuario irritable . IBM DeveloperWorks . Consultado el 23 de enero de 2014 .
- ^ a b c Cowlishaw, MF (1984). "El diseño del lenguaje REXX" (PDF) . Revista de sistemas de IBM . 23 (4): 333. doi : 10.1147 / sj.234.0326 . Consultado el 23 de enero de 2014 .
¿Podría haber un factor de asombro alto asociado con la nueva función? Si el usuario no aplica accidentalmente una característica y provoca lo que le parece un resultado impredecible, esa característica tiene un factor de asombro alto y, por lo tanto, no es deseable. Si una característica necesaria tiene un factor de asombro alto, puede ser necesario rediseñar la característica.
- ^ "Prioridad de lotes sordos - Encuesta a usuarios" . Boletín del Centro de Computación . Michigan: Universidad de Michigan. 1978-04-05 . Consultado el 25 de agosto de 2020 .
- ^ Saltzer, JH; Kaashoek, Frans (2009). Principios del diseño de sistemas informáticos: una introducción . Morgan Kaufmann. pag. 85. ISBN 978-0-12-374957-4.
- ^ Petroutsos, Evangelos (2010). Dominar Microsoft Visual Basic 2010 . Wiley. pag. 133. ISBN 978-0-470-53287-4.
- ^ Bloch, Joshua (2006). "Cómo diseñar una buena API y por qué es importante" . Continuación de OOPSLA '06 Companion al 21º simposio ACM SIGPLAN sobre sistemas, lenguajes y aplicaciones de programación orientada a objetos . Asociación para Maquinaria de Computación. págs. 506–7. doi : 10.1145 / 1176617.1176622 . ISBN 1-59593-491-X. S2CID 27230400 .
- ^ "Formularios en HTML" . Red de desarrolladores de Mozilla . Mozilla . Consultado el 27 de julio de 2013 .
- ^ Vivian (21 de junio de 2013). "Atajos de teclado para Gmail" . Google Inc . Consultado el 27 de julio de 2013 .
- ^ "Uso de atajos de teclado" . Atlassian . Consultado el 27 de julio de 2013 .
- ^ Keizer, G. (1 de marzo de 2010). "Microsoft: no presione la tecla F1 en Windows XP" . Computerworld . Consultado el 10 de noviembre de 2019 .
- ^ "¿Por qué la base de datos de parseInt de JavaScript es 8 de forma predeterminada?" . Desbordamiento de pila . 8 de abril de 2011.
- ^ "parseInt ()" , Mozilla Developer Network (MDN) ,
si la cadena de entrada comienza con "0" (un cero), se asume que la base es 8 (octal) o 10 (decimal). Exactamente qué base se elige depende de la implementación. ECMAScript 5 aclara que se debe usar 10 (decimal), pero no todos los navegadores lo admiten todavía.
enlaces externos
- Principio de menor asombro en Portland Pattern Repository