← Diário
Técnica·10/05/2026

As definições fazem parte da memória

Dois telemóveis com os ecrãs apagados pousados lado a lado numa mesa de madeira ao lado de uns óculos, com luz da manhã

Uma aplicação que se lembra do que lhe dizes deveria lembrar-se também do que configuras. Três relatos sem ligação aparente, uma preferência perdida depois de uma reinstalação, uma definição substituída em silêncio, um ditado que não produz nada: três causas independentes e um mesmo trabalho de fundo sobre aquilo que a memória deve guardar.

Três sintomas, nenhuma causa comum

Em poucos dias, três relatos diferentes. O primeiro: o timbre da resposta muda sozinho, de uma troca para a seguinte, sem que nada tenha sido tocado. O segundo: depois de uma reinstalação, a definição escolhida tinha voltado ao valor de fábrica. O terceiro: um ditado em cada vários não produzia nada ou, pior, produzia uma frase que nunca tinha sido pronunciada.

Visto de fora, é uma única impressão: a aplicação não retém nada. Visto de dentro, são três defeitos sem a mínima ligação entre si. É o caso mais enganador que existe, porque corrigir o primeiro não desloca a impressão geral um milímetro, e conclui-se depressa demais que se estava na pista errada.

Duas listas que se tinham afastado

A escolha do timbre existia em dois sítios: uma lista do lado do telemóvel, para a mostrar, e uma lista do lado do servidor, para a validar. Ambas tinham sido escritas em separado e acabaram por não dizer exatamente a mesma coisa. O telemóvel propunha uma entrada que o servidor desconhecia, o servidor recusava-a sem dizer nada e voltava ao seu valor por omissão. A definição não mudava sozinha, era substituída em silêncio.

A correção resume-se a dois gestos. Uma única lista, declarada uma vez, da qual derivam os dois lados, de forma a que um acrescento já não possa existir apenas de um lado. E um registo escrito sempre que uma escolha é recusada e substituída. Uma recusa silenciosa é um defeito que não se consegue procurar: não deixa nada atrás de si.

O mesmo problema tinha um primo. O resumo diário da caixa de entrada nem sequer lia a definição e falava sempre com o valor de fábrica. A mesma aplicação dirigia-se a ti de duas maneiras diferentes conforme o sítio de onde falava.

Uma definição guardada no telemóvel não é uma definição memorizada

O segundo defeito é o mais interessante, porque na verdade não era um defeito. A preferência estava no armazenamento local do telemóvel, que é o sítio evidente quando se escreve a funcionalidade. Só que esse armazenamento desaparece na desinstalação e não te segue quando mudas de aparelho. A definição não se perdia por acidente: nunca tinha sido registada noutro lado que não exatamente aquele onde ia desaparecer.

Mudámo-la, portanto, para onde já vive o resto daquilo que a aplicação retém. O telemóvel guarda uma cópia, porque tem de conseguir responder depressa e sem rede, mas a versão que faz fé está no servidor, ligada à tua conta. No arranque, o aparelho volta a sincronizar-se; a cada alteração, envia o novo valor.

Faltava o caso de quem usa a aplicação sem conta e depois cria uma. As suas memórias já migram do aparelho para a conta no momento do registo: as suas definições passam agora a fazer a viagem no mesmo movimento. É a mesma pergunta sob duas formas, a de saber a quem pertencem os teus dados e onde vivem.

Antes não enviar nada do que enviar vazio

O terceiro defeito tocava na captação de som. Dois mecanismos disputavam o microfone: quando a aplicação tinha acabado de falar, a reprodução de áudio ainda segurava a sessão de som, e a gravação iniciada logo a seguir abria um ficheiro que ficava vazio. Uma colisão do mesmo género acontecia durante o pedido de autorização do microfone, onde um gravador podia continuar a trabalhar em segundo plano enquanto toda a gente o julgava parado.

A correção de fundo consistiu em largar antes de pegar, e em verificar o resultado depois em vez de confiar no sinal de partida. Um ficheiro de alguns kilobytes não contém nada audível: em vez de o enviar, respondemos francamente que não havia nada para ouvir.

É o ponto que este trabalho melhor nos ensinou. Um motor de transcrição nunca devolve «nada». Perante o silêncio, produz uma frase plausível, muitas vezes bem construída, por vezes tão banal que passa despercebida. Um ficheiro vazio não se torna, portanto, um erro visível: torna-se uma frase que nunca disseste, arrumada na tua memória com a mesma seriedade que as outras. Uma memória que preenche um buraco é mais perigosa do que uma que o assume. É a mesma exigência que nos tinha levado, poucos dias antes, a refazer de raiz o gesto de ditado mantido até ao largar.

O que fica

Três correções independentes, uma só regra: aquilo que escolhes é um dado de memória como outro qualquer. Uma definição não é um detalhe de visualização para arrumar a um canto, é uma coisa que a aplicação deve reter sobre ti, tal como aquilo que lhe confias. Tudo o que toca a conversa e a forma como ela te responde segue essa regra desde então.

Para ler a seguir
Preencher campos em vez de escrever textoPesquisar na web por voz