Vaccari's Code

Falta de dever de cuidado com os usuários.

9/28/2026

A confiança é o alicerce de qualquer relacionamento, seja ele entre pessoas ou entre um usuário e seu software. Quando essa confiança é quebrada, as consequências podem ser duradouras. Recentemente, um post de David Chisnall, um cientista da computação, que ressoa profundamente com essa ideia, capturou minha atenção, ilustrando como decisões de design de software, ou a falta delas, podem destruir anos de lealdade.

Chisnall, um veterano do Vim desde 2000, descreve uma relação quase simbiótica com o editor de texto. Ele escreveu livros, teses e centenas de artigos com ele. Para ele, muitos comandos do Vim são reflexos, não exigindo pensamento consciente. É nesse contexto de uso profundo e enraizado que entra um recurso que ele considera inestimável: o "undo persistente". Imagine a situação: você deleta algo importante de um arquivo semana passada, reinicia o computador várias vezes, mas o histórico de "desfazer" ainda está lá, permitindo que você recupere a informação. Ou, talvez, você "limpou" um código para um commit, e ele parou de funcionar; o histórico de undo permite reverter até o ponto em que tudo estava ok. O Vim manteve essa funcionalidade intacta por cerca de 20 anos, através de grandes atualizações de versão. Isso, para Chisnall, é a materialização da Primeira Lei de Raskin: "Um programa não deve prejudicar os dados de um usuário ou, por inação, permitir que os dados de um usuário sejam prejudicados."

A Quebra da Confiança e a Desconsideração pelo Usuário

A história de Chisnall toma um rumo sombrio quando ele decide experimentar o NeoVim, um fork (uma versão derivada e independente) do Vim. A promessa era um Vim familiar, mas melhor. No entanto, a primeira coisa que ele notou foi que o "undo" não funcionava. Pior ainda, ao tentar abrir o arquivo no Vim original, o "undo" também não funcionava lá. O NeoVim havia feito uma mudança drástica: alterou o formato dos arquivos de undo, não os atualizou, nem usou um nome diferente. Em vez disso, ele simplesmente detectou o arquivo de undo do Vim, o deletou (perdendo todo o histórico de dados) e o substituiu por um que o Vim não conseguia ler.

Ao relatar o problema, a resposta que Chisnall recebeu foi chocante: o formato do undo persistente era "instável" e os usuários não deveriam confiar na preservação dos dados em um recurso explicitamente chamado "undo persistente". A justificativa era que o formato já havia mudado uma vez e "provavelmente mudaria novamente".

Essa atitude foi o fim da linha para Chisnall. Para ele, uma quebra do undo persistente poderia ser perdoada como um bug. Mas a postura de que a existência de um arquivo persistente em seu sistema de arquivos, contendo dados que você pode querer, não era motivo para o programa não o deletar, revelou uma total ausência de "dever de cuidado" para com seus usuários. Eles mostraram imediatamente que não podiam ser confiados com nenhum de seus dados.

Lições Para Construtores e Líderes Tech

A experiência de Chisnall nos oferece lições cruciais, especialmente para desenvolvedores, líderes de tecnologia e fundadores.

Primeiro, os usuários se lembram quando o software perde seu trabalho ou os desrespeita. A memória de um dado perdido ou de uma funcionalidade quebrada persiste muito mais do que a euforia por um recurso novo. A confiança, uma vez quebrada, é extremamente difícil de reconstruir.

Segundo, a frase "já mudou uma vez e provavelmente mudaria novamente" é um aniquilador de confiança. Ela sinaliza instabilidade, desrespeito pelo investimento do usuário e uma falta de compromisso com a compatibilidade retroativa. Em um mundo onde a agilidade é valorizada, a estabilidade e a previsibilidade em relação aos dados do usuário são qualidades que separam os softwares confiáveis dos efêmeros.

Terceiro, e talvez o mais importante, está o dever de cuidado. Raskin, em seu livro "The Humane Interface", não se limitou à primeira lei. Ele estabeleceu outras duas: "Um computador não deve desperdiçar seu tempo ou exigir que você faça mais trabalho do que o estritamente necessário" e "Uma interface é humana se for responsiva às necessidades humanas e considerar as fragilidades humanas". Esses princípios são a base para construir software que não apenas funciona, mas que respeita e capacita seus usuários.

Por Que Isso Importa

Para nós, construtores e tomadores de decisão em tecnologia, esta história é um lembrete contundente. Não importa quão inovadora seja sua tecnologia ou quão elegante seja seu código, se você não priorizar a integridade dos dados do usuário e o dever de cuidado, você falhará em construir confiança. E sem confiança, a adoção, a lealdade e o sucesso a longo prazo se tornam metas inatingíveis. Proteger os dados do usuário e respeitar seu tempo não são apenas boas práticas; são imperativos éticos e de negócios que sustentam a reputação e o valor de qualquer produto ou empresa de tecnologia.


Fontes


📬 Gostou? Assine a newsletter do Vaccari's Code e receba as próximas tendências em software e IA direto no seu e-mail: Assinar aqui

← todos os posts · ouça o episódio →