A navalha de Feynman
(defenderofthebasic.substack.com)- Explicações técnicas, mesmo quando pensadas para iniciantes, devem deixar pistas exatas para que quem tenha capacidade de entender consiga perceber o estado real
- A mensagem de erro do Outlook oferece ao usuário um modelo contraditório ao dizer que é possível copiar o conteúdo de uma “mensagem que não existe”
- Se palavras como
serverecachenão forem escondidas, usuários interessados podem pesquisar e aprender, e quem já conhece entende o problema mais rápido - Indicadores de estado familiares, porém imprecisos, como
loading…, escondem o que o sistema realmente está fazendo; é melhor dizer diretamente algo como “esperando você terminar de digitar” - Simplificação excessiva bloqueia a capacidade de raciocínio do usuário, então é preciso deixar pelo menos pistas que levem à verdade, como código de erro e ações possíveis
Explicações fáceis não podem estar erradas
- A “navalha de Feynman” é o critério de que, ao explicar conteúdo técnico para usuários comuns, se uma pessoa capaz de entender ainda assim não consegue entender, então não é uma boa explicação
- Richard Feynman disse, em um artigo de jornal, que com a informação de “uma máquina de 7 toneladas” não dá para saber que máquina é, e que também não se sabe ao que “atomic bullet” se refere
- O ponto central não é o quanto a explicação parece fácil, mas se o leitor realmente consegue entender o conteúdo quando tem capacidade para isso
A confusão criada pela mensagem de erro do Outlook
- Em uma discussão no Hacker News, a seguinte mensagem de erro foi ridicularizada
- “This message can't be saved because it no longer exists. It can only be discarded. Make sure you copy the contents of the message before you discard if you want to use them later.”
- O usuário ouve que pode copiar o conteúdo de uma mensagem que não existe, mas não pode salvá-la
- O problema não é que o usuário comum não conheça termos técnicos, e sim que nem mesmo para um usuário capaz de entender o estado real é explicado o que de fato está acontecendo
Uma abordagem que não esconde server e cache
- Uma formulação alternativa explica que a mensagem foi apagada do servidor de e-mail, mas o Outlook ainda a mantém no cache temporário daquele dispositivo
- O usuário pode copiar o conteúdo da mensagem ou descartá-la do cache
- Se for descartada do cache, ela será apagada permanentemente
- Algumas pessoas reagiram dizendo que usuários comuns não entenderiam palavras como
cacheouserver - Mas essas palavras se tornam pistas pesquisáveis e úteis para aprendizado para usuários interessados, e mostram a situação real com mais clareza para quem já entende
- Usuários sem interesse não ganham muita ajuda com nenhuma explicação, mas para os interessados é preciso deixar pistas
Dizer o estado do software como ele realmente é
- A ferramenta
substack-proxygera uma URL para contornar a censura do Twitter com base na URL de um post do Substack copiada e colada pelo usuário - Enquanto o usuário digita ou edita a URL, requisições ao servidor aconteciam em excesso, então foi adicionado um atraso de cerca de 1 segundo
- O texto de estado inicial era
loading…, mas na prática não estava carregando; estava esperando o usuário terminar de digitar - “Esperando você terminar de digitar” reflete com mais precisão o estado real da máquina
- Mesmo quando trava por erro, ficar preso em “esperando você terminar de digitar” revela melhor o estado problemático do que
loading…
Não precisa ensinar tudo, mas precisa ser fiel
- O software não precisa ensinar tudo para todos os usuários
- Muitas vezes o usuário não quer saber a causa; ele só quer que funcione direito
- Ainda assim, se uma explicação for oferecida, ela não deve transmitir um modelo estranho ou impreciso de como o computador funciona
- Também é possível fornecer apenas um código de erro simples e uma ação
Error code 1027: file cannot be saved.[Copy contents][Delete file]
- Usuários interessados podem pesquisar o código de erro, e usuários sem interesse podem ver imediatamente as opções disponíveis
O critério da simplificação
- Uma boa simplificação não corta as pistas que levam à verdade que se quer explicar
- É perigosa a abordagem que rebaixa todos os usuários ao mesmo nível com a suposição de que “o usuário médio não vai entender”
- “bits and bytes” é um exemplo que, ao explicar para quem está usando um computador pela primeira vez como ligar a máquina e pressionar
enter, também trata de código binário no mesmo episódio
1 comentários
Comentários do Hacker News
O exemplo de
message-doesn't-existparece menos um caso de simplificação excessiva e mais um erro comum que acontece quando o autor esquece o contextoDo ponto de vista do programador, tentou-se buscar algo no servidor, e o servidor respondeu que não existe, então “não existe” pode parecer correto
Mas, no contexto do usuário, que está vendo a mensagem diante dos próprios olhos, dizer que “não existe” é claramente falso
É preciso recolocar o contexto, algo como “essa mensagem não está no servidor e, no momento, existe apenas temporariamente no seu computador, então faça uma cópia”
Mesmo que o usuário não saiba o que é um “servidor”, só a informação de que ela não existe “em algum lugar” já faz muito mais sentido
Se um mecânico apontar para o carro inteiro e disser “isso vai ser trocado”, fica confuso, mas se disser “xxx vai ser trocado”, dá para entender mesmo sem saber o que é xxx
Hoje em dia, o design online parece ir todo na direção de deixar as pessoas mais burras, partindo da ideia de que, quanto menos o usuário precisar pensar, mais facilmente ele acompanha
Por exemplo, os resultados de busca do Google parecem, a cada mês, mais alinhados ao mínimo denominador comum, e mesmo ao procurar algo sutil o algoritmo empurra respostas que não ajudam
Talvez muita gente realmente reaja melhor assim e, nos dados, isso até pareça bom, mas pessoalmente eu detesto
Eu quero aprender um pouco mais e encontrar complexidade ao interagir com sistemas; não quero que essa complexidade seja escondida
Então tornaram o equipamento ajustável, o desempenho melhorou muito e os erros diminuíram
Não entendo por que, no setor de tecnologia, se diz o oposto: que quanto mais se ajusta tudo a um usuário médio imaginário, melhor ou mais lucrativo isso fica
Fico me perguntando por que a diversidade individual seria algo que dá para ignorar
A saudade do Norton Disk Doctor não vem por eu trabalhar com recuperação de discos, mas porque ele tinha uma interface que respeitava a inteligência do usuário
Outros sistemas ligados a armazenamento soltavam mensagens indecifráveis como “Mode 5/7? [Y]” ou perguntas simplificadas demais como “Are you sure? [N]”
Não dá para saber do que exatamente você deveria ter certeza, o que é mode 5, se é 7, ou se são os dois
Já o Norton explicava em vários parágrafos o que cada escolha significava, desenvolvia os conceitos dentro do contexto e mostrava vantagens e riscos
Em vez de só apertar Y repetidamente e contar com a sorte, ele permitia escolher com informação
Esse tipo de respeito ao leitor e ao usuário vale para toda escrita técnica: manuais, interfaces de usuário, posts de blog, documentação de API
Em vez de emburrecer o texto para o “usuário comum”, acho melhor educar, para que todo leitor que o leia e entenda saia um pouco mais capacitado tecnicamente
Aliás, “Mode 5/7?” era uma mensagem real de um array SAN da Hitachi que armazenava todos os dados de algum órgão governamental, e o manual gentilmente explicava apenas que essa opção ativava ou desativava o mode 5/7
Se você escolhesse errado, talvez o array se apagasse sozinho e um gato morresse, ou talvez não acontecesse nada. Quem sabe
Os criadores dessas configurações praticamente não têm trabalho nenhum para colocar uma breve explicação em tooltip em cada item, mas quase nunca fazem isso
Se o objetivo é transmitir informação, isso está correto
Mas, se o objetivo é aumentar cliques, reduzir chamados de suporte e elevar o engajamento, é difícil dizer que uma explicação tecnicamente específica e precisa seja melhor do que uma explicação simplificada a ponto de ficar imprecisa
Isso não quer dizer que eu concorde com objetivos que priorizam engajamento acima de transmissão de informação
https://www.goodreads.com/quotes/65213-briefly-stated-the-ge...
É preciso tornar essa uma escolha realmente perigosa para quem decide perseguir esses objetivos
Lido muito com esse problema no trabalho
Não dá para supor que o leitor domine inglês, entenda o assunto ou sequer tenha interesse em entendê-lo
Por isso adotei uma escrita simples e sem ambiguidades, e agora também estou testando formatos que permitam captar a ideia principal só de bater o olho
Pessoalmente, acho que o nhs.uk é um dos melhores exemplos para aprender
As pessoas não são burras; elas só estão ocupadas, cansadas, preguiçosas ou simplesmente não ligam tanto para os detalhes
Existe um equilíbrio entre respeitar a inteligência do leitor e respeitar o tempo dele
https://www.gov.uk/guidance/content-design/writing-for-gov-u...
Eu também achava que a navalha de Feynman originalmente apontava nessa direção. Isso me lembrou a resposta dele a uma pergunta da plateia na palestra sobre QED na Nova Zelândia em 1979
À pergunta “Você gosta da ideia de que nossa imagem do mundo deve se basear em cálculos que incluem probabilidade?”, Feynman respondeu que não diria que gosta ou não gosta
Depois de tanto tempo treinado como cientista, ele desenvolveu uma maneira específica de ver as coisas, e disse que, numa palestra, pode simplificar um pouco e até trapacear um pouco para soar como se não gostasse, mas o significado real é que “é estranho”
Ele disse que não pensa em termos de gostar ou não disso, mas em pensar no que isso é e no que não é, e que se gosta ou não é completamente irrelevante, então eliminou isso da cabeça
Quando se trata de complexidade e do problema de explicar para não especialistas, a toca do coelho sempre fica mais funda
Também há uma boa citação na parte sobre rotação no espaço das aulas do Caltech. “Não usaremos essas equações em sua generalidade completa nem estudaremos todas as consequências, porque isso levaria anos, e logo precisaremos passar para outro assunto. Num curso introdutório, só é possível apresentar as leis básicas e aplicá-las apenas a algumas situações de interesse especial”
Vendo pelo lado positivo, é uma atitude de alguém com conhecimento especializado tentando não dizer algo errado nem insinuar algo que não é verdade, mas ao mesmo tempo também pode parecer que ele está escapando sem responder direito à pergunta
Ele responde exatamente do mesmo jeito no vídeo da entrevista em que perguntam como os ímãs funcionam
“Meu comentário favorito foi o do lisper...” — que legal. Alguém me reconheceu
Estou escrevendo com bastante empenho uma série de posts de blog sobre método científico, mas quase não recebo feedback, então é curioso que um comentário leve como esse acabe chamando atenção
A vida às vezes é engraçada
O próprio autor do texto também não reproduziu corretamente a citação do Feynman
Não deveria ser “And there are not sixty two kinds of particles”, mas sim “And there are now sixty two kinds of particles”
Se fosse possível explicar de uma forma que satisfizesse tanto iniciantes quanto especialistas sem usar termos técnicos, então qual seria a utilidade da terminologia técnica?
O exemplo do texto não é útil para nenhum dos dois lados, e com ou sem termos técnicos não melhora
É simplesmente uma explicação ruim, então o argumento em si fica fraco
Ou você transmite tudo isso, ou contorna com terminologia técnica
Em alguns casos é possível fazer uma explicação que satisfaça os dois lados, mas isso é mais difícil e exige mais palavras. Pelo menos no contexto da mídia, isso é importante
Ainda assim, aqui existe um espectro, e no geral acho que dá para encontrar um meio-termo adequado
Se surgir uma confusão do tipo “A mensagem não existe, mas eu posso copiar o conteúdo? Se posso copiar, por que não posso salvar? Se não existe, por que preciso descartá-la?”, talvez seja melhor escrever de forma menos explicativa
Algo como “Esta mensagem em breve não poderá mais ser usada. Se quiser usá-la depois, copie o conteúdo antes de descartá-la” já basta
Falar de cache não ajuda o usuário
A solução de verdade é adicionar um botão “salvar o conteúdo da mensagem no dispositivo” no fim da mensagem
Aí o texto fica claro e já leva direto à ação
A explicação mais detalhada pode vir com um rótulo ou ficar numa segunda tela acessada por um botão “explicação avançada”