Existem certos elementos na informática que, apesar dos anos, nunca conseguiram melhorar. No topo da lista aparecem as impressoras, historicamente problemáticas e caras… mas as barras de progresso não ficam muito atrás. Imprecisas, erráticas e pouco confiáveis, as barras de progresso parecem carregar cada aspecto negativo. A que se deve? Tom Scott explica em um breve vídeo.

Por que as barras de progresso continuam tão erráticas?
Barras de progresso

Todos nós já as vimos. Todos conhecemos suas variantes. Uma barra que cresce da esquerda para a direita, um indicador de porcentagem em aumento, ou uma quantidade fixa de megabytes a transferir. As barras de progresso receberam múltiplos ajustes estéticos, mas seu problema de fundo permanece intacto: Não funcionam tão bem.

Obviamente, não se trata de algo novo ou recente. Os cavaleiros do MS-DOS lembramos muito bem dessas barras que pareciam congeladas na tela até que voltavam à vida de repente, e jamais poderemos esquecer dos "cinco minutos mais longos do universo" instalando versões antigas do Windows. Então… o que acontece? Por que os desenvolvedores não corrigem o problema?

O "problema" das barras de progresso

Tom Scott explica maravilhosamente em um de seus vídeos: A barra de progresso é necessária para visualizar (de certa forma) o trabalho que o computador está realizando, mas esse trabalho está dividido em múltiplas fases cuja velocidade pode variar sem aviso prévio. Ao contrário da barra de progresso em um vídeo (que é essencialmente uma única tarefa), a barra de um programa representa coisas como o download de arquivos, sua descompactação, sua gravação na unidade de armazenamento e a configuração do sistema operacional.

E é aí que a precisão vai pelos ares. O download de arquivos depende de quão rápida e/ou estável é a conexão com a Internet. A descompactação fica a cargo do processador instalado e da quantidade de memória disponível. A velocidade para gravar arquivos pode ter enormes diferenças se for um disco rígido ou um SSD, e nem todos os sistemas operacionais estão nas melhores condições.

https://old.neoteo.com/por-que-no-puedes-llamar-a-un-archivo-con-en-windows/

Alternativas populares como contar o número de arquivos ou a quantidade de megabytes a copiar melhoram um pouco as coisas, mas o avanço da barra de progresso também não será exatamente suave. Alguns arquivos são naturalmente maiores que outros, e copiar muitos arquivos pequenos leva mais tempo. E falando em tempo, um relógio com "segundos restantes" está à mercê de mudanças espontâneas no sistema. Por exemplo, imagine que um programa leva 60 segundos para copiar um arquivo, mas o Windows 10 decide baixar atualizações em segundo plano. Adivinha o que acontece com esses 60 segundos…?

Uma das opções que Tom propõe é simplesmente calcular uma média, ou seja, tomar como referência tudo o que o programa fez nos últimos dez ou vinte segundos e desenvolver um "tempo estimado" com esses dados. Assim chegamos a uma verdade fundamental das barras: Não precisam ser perfeitas nem avançar de forma suave. Com indicar "progresso", é suficiente.