Princípio da menor surpresa - Principle of least astonishment

O princípio da menor surpresa ( POLA ), também conhecido como princípio da menor surpresa (alternativamente, uma lei ou regra ), se aplica à interface do usuário e ao design do software . Ele propõe que um componente de um sistema deve se comportar de uma maneira que a maioria dos usuários espera que ele se comporte. O comportamento não deve surpreender ou surpreender os usuários. A seguir está uma declaração formal do princípio: "Se um recurso necessário tiver um alto fator de surpresa, pode ser necessário redesenhar o recurso."

O termo tem sido usado em relação ao uso do computador desde, pelo menos, os anos 1970. Embora formalizado pela primeira vez no campo da tecnologia da computação, o princípio pode ser amplamente aplicado em outros campos. Por exemplo, por escrito , uma referência cruzada para outra parte do trabalho ou um hiperlink deve ser formulado de uma forma que diga ao leitor o que esperar. Em um livro sobre a pesca do robalo , "Para obter receitas sobre como preparar sua pesca, consulte o capítulo 4" não deve levar o leitor a um capítulo sobre temporadas de pesca do robalo em vários locais.

Formulação

Uma formulação de livro didático é: "As pessoas fazem parte do sistema. O design deve corresponder à experiência, às expectativas e aos modelos mentais do usuário ."

O princípio visa alavancar o conhecimento existente dos usuários para minimizar a curva de aprendizado , por exemplo, projetando interfaces que usam muito "programas funcionalmente semelhantes ou análogos com os quais seus usuários provavelmente estão familiarizados". As expectativas do usuário a esse respeito podem estar intimamente relacionadas a uma plataforma ou tradição de computação específica . Por exemplo, espera-se que os programas de linha de comando do Unix sigam certas convenções com relação às opções , e os widgets dos programas do Microsoft Windows devem seguir certas convenções com relação aos atalhos do teclado . Em configurações mais abstratas, como uma API , a expectativa de que os nomes de função ou método correspondam intuitivamente ao seu comportamento é outro exemplo. Essa prática também envolve a aplicação de padrões razoáveis .

Quando dois elementos de uma interface entram em conflito ou são ambíguos, o comportamento deve ser o que menos surpreenda o usuário ; em particular, um programador deve tentar pensar no comportamento que menos surpreenderá alguém que usa o programa, ao invés do comportamento que é natural por conhecer o funcionamento interno do programa.

A escolha do comportamento "menos surpreendente" pode depender do público esperado (por exemplo, usuários finais , programadores ou administradores de sistema ).

Exemplos

Um site pode ter um campo de entrada que se concentra automaticamente após o carregamento da página, como um campo de pesquisa (por exemplo, Pesquisa personalizada do Google ) ou o campo de nome de usuário de um formulário de login .

Os sites que oferecem atalhos de teclado geralmente permitem que você pressione ?para ver os atalhos disponíveis. Os exemplos incluem Gmail e Jira .

Em sistemas operacionais Windows e alguns ambientes de desktop para Linux , a F1 tecla de função normalmente abre o programa de ajuda para um aplicativo . Um atalho de teclado semelhante no macOS é + + . Os usuários esperam uma janela de ajuda ou menu de contexto quando pressionam as teclas de atalho de ajuda usuais. O software que, em vez disso, usa esse atalho para outro recurso, provavelmente causará espanto se nenhuma ajuda for exibida. Command⇧ Shift/

A linguagem de programação é biblioteca padrão normalmente fornece uma função semelhante ao pseudocódigo ParseInteger(string, radix) , que cria um legível por máquina inteiro a partir de uma seqüência de legíveis dígitos . A raiz convencionalmente é padronizada como 10, o que significa que a string é interpretada como decimal (base 10). Esta função geralmente suporta outras bases, como binária (base 2) e octal (base 8), mas apenas quando são especificadas explicitamente. Em divergência com essa convenção, o JavaScript originalmente padronizou a base 8 para strings começando com "0", causando confusão para o desenvolvedor e bugs de software . Isso foi desencorajado no ECMAScript 3 e descartado no ECMAScript 5

Veja também

Referências

links externos