1 pontos por GN⁺ 2024-06-02 | 1 comentários | Compartilhar no WhatsApp
  • Uma notificação da interface web do Outlook 365 informa, sobre uma mensagem que já não existe, que ela não pode ser salva, mas pode ser descartada, criando uma situação que parece contraditória
  • A notificação se refere ao alvo como “this message” ao mesmo tempo em que diz que ele não existe mais, expondo o problema da referência a um objeto inexistente
  • Salvar é tratado como uma ação que exige que a mensagem exista, mas descartar é tratado como uma ação que ainda pode ser aplicada a uma mensagem que já não existe
  • A frase “certifique-se de copiar o conteúdo antes de descartar” sugere que até uma mensagem inexistente ainda teria conteúdo copiável
  • Mesmo que descartar seja uma operação sem efeito (no-op) sobre a própria mensagem, isso ainda pode afetar a existência do conteúdo ou a possibilidade de acessá-lo

A orientação contraditória do alerta do Outlook 365

  • A seguinte notificação é exibida na interface web do Microsoft Outlook 365
    • “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 alerta informa que a mensagem já não existe mais e, por isso, não pode ser salva; que ela só pode ser descartada; e que, se você quiser usar o conteúdo depois, deve copiá-lo antes de descartá-la

“Esta mensagem” e a não existência

  • “This message can't be saved because it no longer exists” pode ser entendido como a ideia de que só se pode salvar uma mensagem que exista, e que uma mensagem inexistente não pode ser salva
  • O problema surge com o demonstrativo “this”
    • A notificação aponta para esta mensagem e, ao mesmo tempo, diz que ela não existe mais
    • Daí surge a pergunta: é possível referir-se a algo que não existe?

Um objeto que não pode ser salvo, mas pode ser descartado

  • “It can only be discarded” não apenas menciona uma mensagem inexistente, mas a trata como um objeto que pode ser descartado
  • Salvar exige a existência da mensagem, mas descartar parece ser uma ação possível mesmo sem essa condição
  • Se entendermos descartar como “tornar um objeto inexistente”, aplicá-lo a um objeto que já não existe pode ser interpretado como uma operação sem efeito (no-op)
  • Nessa interpretação, outras ações como salvar exigem que o objeto exista, mas descartar continuaria sendo aplicável até mesmo a um objeto já inexistente

O conteúdo de uma mensagem inexistente

  • A frase “copie o conteúdo da mensagem antes de descartá-la” torna a interpretação anterior ainda mais complexa
  • Ela sugere que até uma mensagem inexistente ainda possui conteúdo, e que esse conteúdo pode ser copiado enquanto a mensagem ainda não tiver sido descartada
  • Assim, uma mensagem que não existe mas ainda não foi descartada, e uma mensagem que não existe e já foi descartada, diferem quanto à possibilidade de acesso ao conteúdo
  • Mesmo que descartar seja uma operação sem efeito sobre a existência da mensagem, talvez não seja uma operação sem efeito do ponto de vista do conteúdo

Duas interpretações possíveis

  • O ato de descartar uma mensagem inexistente pode ser entendido de duas formas
    • Tornar também o conteúdo inexistente
    • Manter a existência do conteúdo, mas impedir que se possa invocar uma operação de cópia sobre ele
  • No segundo caso, a mensagem já não existia, o conteúdo continuaria existindo, mas depois de descartá-la não seria mais possível acessar ou copiar esse conteúdo
  • Esse alerta mostra uma situação em que as condições de existência entre mensagem, conteúdo, salvar, descartar e possibilidade de cópia parecem inconsistentes

1 comentários

 
GN⁺ 2024-06-02
Opiniões do Hacker News
  • Isso parece um exemplo do paradoxo da secretária eletrônica, sobre o qual filósofos escrevem desde os anos 1970
    https://philpapers.org/rec/SIDTAM
    Segundo uma semântica intuitiva de “eu”, “aqui” e “agora”, a frase “eu não estou aqui agora” deveria ser sempre falsa quando proferida, mas a gravação “eu não estou aqui agora” em uma secretária eletrônica parece verdadeira quando quem fala não está em casa
    Se tiver interesse, procure por “answering machine paradox” para ver mais discussões

    • Parece haver muita reação hostil à filosofia por aqui, mas isso só vira paradoxo quando vemos a linguagem como um meio de descrever algum estado estático da realidade no mundo
      Se vemos a linguagem como algo prático e orientado à ação, fica claro o que a frase deve comunicar, então não há paradoxo. Alguns acham que há um significado estático por trás das palavras reais que entra na consciência do ouvinte; outros acham que o significado é gerado por quem ouve
      Essa é uma questão muito filosófica, debatida intensamente mesmo depois de Wittgenstein, e coisas dadas como óbvias em todas as áreas também podem ser objeto de reflexão racional. Parece que muitos engenheiros, dentro de uma visão de mundo simplista demais, esquecem que nada é claro e que não existe conhecimento absoluto
    • Não vira um problema filosófico só porque alguém não consegue distinguir entre a pessoa “eu” e a voz gravada dessa pessoa. É só algo mais próximo de pura burrice
    • Uma coisa totalmente diferente, mas isso me lembrou o filme mexicano I Am No Longer Here, que vi há pouco tempo. Eu nunca tinha ouvido falar dele, e é surpreendentemente bom
      https://en.wikipedia.org/wiki/I%27m_No_Longer_Here
  • Computadores conseguem parar o tempo, porque não precisam executar instruções. Em certo sentido, este caso mostra isso
    Pense em uma mensagem física escrita em um papel em chamas: as letras ainda estão visíveis, mas pode ser tarde demais para apagar o fogo
    Se você tiver boa memória, pode, metaforicamente, congelar aquele instante e memorizar o conteúdo do papel. Em um computador, a mensagem já “queimou” no servidor, mas o instante congelado diante dos seus olhos pode ser prolongado indefinidamente

    • Assim como em condições de corrida, tornar algo mais rápido não muda a situação; apenas revela um problema que já existia. Aqui, o problema preexistente é que a definição de existência da mensagem é frouxa
      Se você consegue ver a mensagem no papel em chamas, então deve-se considerar que ela ainda existe. É como uma mensagem enviada por sinais de fumaça: ela não desaparece no momento em que é carregada pela fumaça
      Para corrigir isso, não se deveria dizer que a mensagem existe/não existe, mas sim que ela está armazenada em algum X ou foi removida de X
    • Na era de ouro dos computadores pessoais, ou em um Linux bem ajustado, isso era possível. Mas sistemas operacionais modernos distorcem até a própria essência da realidade para reiniciar e instalar atualizações, obrigar você a trocar uma senha que já tem 120 segundos de idade, ou desconectá-lo por segurança só porque você não mexeu o mouse. É melhor salvar essa mensagem logo
  • O problema é que a mensagem não está dizendo a verdade. Se você consegue ler a mensagem, ela obviamente deve existir. Não dá para ler uma mensagem que não existe, certo? Quem conseguiria? Alguém aqui consegue ler uma mensagem inexistente?
    A mensagem deveria ter dito: “Esta mensagem não está armazenada no servidor. Se você não copiar e salvar o texto antes de fechar esta janela, não poderá recuperá-lo novamente do servidor”

    • Em geral, pode-se dizer que a própria “não existência” também não existe
      Isso me lembra uma palestra TEDx dizendo que o universo não existe porque ele é tudo. Era algo como: se você fizer uma lista de tudo, a própria lista não estará incluída como item da lista
    • É a formulação que soa mais sã e lógica, mas a ambiguidade filosófica do aviso original desaparece. Ainda assim, gosto mais da formulação original
    • Claro que dá para ler uma mensagem inexistente. Por exemplo, uma mensagem inventada por uma alucinação de IA, uma captura de tela manipulada por alguém no Photoshop, ou o caso de copiar a mensagem para um documento de texto antes de apagá-la
  • Esta mensagem quer dizer mais ou menos isto: “Você abriu o arquivo, mas agora esse arquivo não existe mais no disco, então não é possível atualizá-lo com alterações. Você pode descartar a cópia carregada, mas considere antes copiar o conteúdo e criar um novo arquivo. Por motivos técnicos, eu não consigo fazer isso por você”

  • A explicação é realmente excelente
    Tentando adivinhar o que aconteceu: parece se referir à mensagem original no servidor e à cópia local. Ambas estão sendo chamadas de “mensagem”

    • No fim, isso mostra que o mau hábito de usar termos imprecisos pode gerar confusão total
  • Finalmente chegou a chance de usar meu diploma de filosofia
    O erro diz que a “mensagem” não existe, mas mensagem não é a mesma coisa que texto. Uma mensagem é um objeto que pode ser salvo ou descartado, e contém texto dentro dela
    O texto ainda existe e pode ser copiado, mas a mensagem desapareceu e não pode mais ser salva

    • O autor também aborda esse ponto. Ele chama de conteúdo em vez de “texto”, mas é a mesma ideia
      Seria algo como: “uma mensagem inexistente tem conteúdo que pode ser copiado, mas apenas enquanto essa mensagem ainda não tiver sido descartada”
      A mensagem desapareceu e não pode mais ser salva, mas ainda pode ser descartada. Talvez seja possível nem descartá-la
    • Ainda é interessante que o texto da mensagem possa existir sem ser a própria mensagem. Em um contexto específico do Outlook isso faz sentido, mas mostra que o design conceitual do software não combina com a forma como pensamos abstratamente sobre o domínio
    • Dizer que “a mensagem não é a mesma coisa que o texto” é como pessoas cujo corpo desapareceu, mas cuja alma permanece? Vejo mensagens mortas…
      Essa distinção pode ter valor e é tecnicamente verdadeira. Mas o problema real é que “a mensagem não é a mesma coisa que a mensagem”. Se estivesse se referindo a uma única mensagem, seria um ótimo problema filosófico, mas na prática é mais um problema entediante em que, entre duas mensagens com textos diferentes, o texto de uma por acaso chama a outra de “isto”
    • Isto não é uma mensagem?
    • Se uma mensagem não assumiu uma forma física, como uma impressão, ela existe?
      Se a mensagem deixou de existir e não havia ninguém lá, a lixeira fez barulho?
  • Todo mundo olha para isso, dá risada e fala de filosofia, mas na verdade há um ponto válido aqui, ainda que indireto. Como explicar a um usuário não técnico que os dados no servidor foram excluídos, mas que ainda existe uma cópia em cache no cliente e que dá para recuperá-la de alguma forma? É um problema bem difícil, que vale levar a sério.

    • Que tal assim: “Esta mensagem foi excluída do servidor de e-mail, mas o Outlook ainda a mantém no cache temporário deste dispositivo. Você pode copiar o conteúdo da mensagem ou descartá-la do cache; se a descartar, ela será excluída permanentemente.”
    • Há algumas boas mensagens de experiência do usuário nesta thread, mas neste app seria melhor não tentar explicar o mecanismo técnico interno e formular a mensagem com foco no resultado.
      “Esta mensagem foi excluída, mas ainda temos uma cópia temporária. Se houver algo de que você precise, salve antes de descartar a cópia temporária.”
    • Explicar o que aconteceu não ajuda o usuário. Basta explicar as opções que ele pode escolher.
      Algo como: “Desculpe. Esta mensagem não pode mais ser salva. Se você precisar acessá-la mais tarde, copie-a antes de descartá-la.”
    • Em vez de uma mensagem de erro, isso pode ser apresentado ao usuário como uma pergunta: “Esta mensagem foi excluída do servidor. O que você gostaria de fazer? Descartar permanentemente, salvar esta versão no servidor, salvar como arquivo no computador.”
    • A maioria dos apps parece começar a enumerar os casos em que uma violação de consistência pode acontecer e depois desiste. No passado, tentei fazer isso “corretamente”, mas fracassei, e percebi que é realmente difícil.
  • Basta acrescentar no servidor à frase para corrigir:
    “Esta mensagem não existe mais no servidor, portanto não pode ser salva” resolve o problema.

  • Esta mensagem é a cola que une o real e o irreal. Ela existe, existiu e nunca existiu, tudo isso ao mesmo tempo.
    É o paradoxo da criação e da existência, da dissolução e da consciência.

  • É a mensagem de erro mais Microsoft que já vi.

    • Dizem que o SharePoint é um dos pilares centrais da Microsoft, e a resposta para “como encontro todos os sites do SharePoint dos quais sou membro?” é esta:
      pesquisar no SharePoint por contentclass:STS_Site
      Não sei como isso é possível, nem como algo como o caso do post original consegue chegar a um ambiente de produção.
    • Isso só vai durar um instante, até alguém trocar por “Something went wrong”.
    • Se fosse uma mensagem ainda mais Microsoft, ela não deveria dizer que o produto concorrente não existe?
      Já vi mensagens do Teams no Firefox e no Safari dizendo que determinada funcionalidade não existe e mandando “baixar o app nativo do Teams”.
    • Esta mensagem se excluirá sozinha em seguida. Se quiser guardá-la, salve o conteúdo.
    • A operação falhou com sucesso!