Como estão as barras de progresso (e por que os downloads param em 99%)

por Nada Em Troca
5 minutos de leitura
Como estão as barras de progresso (e por que os downloads param em 99%)

Resumo

  • As barras de progresso medem os pedaços de trabalho concluídos, não o tempo exato, por isso podem enganar.
  • Os downloads param em 99% frequentemente devido à remontagem, soma de verificação ou recuperação de pacotes – o trabalho acontece fora da tela.
  • Barras de progresso perfeitas são impossíveis; eles principalmente acalmam os usuários, não prevêem tempos exatos de conclusão.

As barras de progresso estão por toda parte, mas quase nunca pensamos nelas. Eles têm um pouco de mistério para eles. Você deve ter notado que os downloads ou transferências de arquivos às vezes ficam parados em 99%. Às vezes, eles pulam ou param. Às vezes eles até falham em 99%. Isso acontece porque as barras de progresso sempre mentem, um pouquinho.

Um mundo sem barras de progresso

Houve um tempo em que os computadores não tinham barras ou indicadores de progresso. A tela simplesmente ficava em branco ou congelava enquanto um programa era executado, e você não tinha ideia se o computador havia travado ou se o programa ainda estava em execução.

Inicializando o MS-DOS

O IBM PC executando computadores da série MS-DOS ou Apple II apenas mostrava telas inativas ao executar operações, e você só saberia se essas operações foram bem-sucedidas quando o programa foi concluído. Na verdade, a única pista que indica o progresso de uma tarefa seriam as luzes piscando e os zumbidos que saíam do disco.

Benj Edwards“”>
Um IBM PC 5150 em uma bancada. Crédito: Benj Edwards

Eventualmente, os cientistas da computação começaram a se concentrar mais na experiência do usuário, então propuseram barras gráficas de progresso que seriam preenchidas com o tempo enquanto o usuário aguardava a conclusão de uma operação. Os cientistas perceberam que a precisão ou exatidão dessas barras não importava. Mesmo que imprecisos, eles ajudaram a reduzir a ansiedade do usuário porque o usuário podia ver que o computador estava funcionando. Essa tem sido a filosofia destas barras de progresso desde o início, e permanece assim até hoje.

Um Steck Deck baixando um jogo com uma mensagem perguntando se o usuário deseja que ele seja ativado Crédito: Válvula

O que as barras de progresso realmente medem

Algumas barras de progresso medem apenas o tempo decorrido, mas principalmente contam alguma unidade de trabalho ao longo do tempo. Como, por exemplo, um certo número de operações ao longo do tempo ou no download de um arquivo, quantos pedaços do arquivo já foram baixados.

Se você tivesse uma lista de tarefas com todas as operações ou partes de arquivos, a barra de progresso mostrará o quão baixo você está na lista no momento. A barra não é atualizada constantemente com novas informações porque ela só se move quando uma dessas tarefas é marcada.

Arquivo.org“”>
Processo de instalação do Windows 7 em andamento. Crédito: Archive.org

Essas barras de progresso que vão de 0% a 100% têm um nome oficial. Elas são chamadas de barras de “porcentagem concluída” e são o tipo mais comum de indicador de progresso. O que medem é quantas “peças” de trabalho foram realizadas em comparação com a quantidade total de trabalho. Mas as estimativas de tempo incluídas nessas barras de progresso raramente são precisas. É por isso que uma barra de progresso pode levar 5 minutos para preencher até 50% e depois saltar para 99% em um segundo.

Sinal“”>
Sinalize o progresso da transferência de início sincronizado na barra de carregamento Crédito: Sinal

O programa pode saber quanto trabalho está pendente, mas não pode prever com antecedência exatamente quanto tempo cada unidade de trabalho levará. Por um lado, o trabalho de processamento nunca é uniforme. Operações grandes com arquivos únicos são mais simples e rápidas, mas operações que envolvem muitos arquivos pequenos ficam complicadas e demoram mais. Além disso, eles não levam em conta o hardware do computador, que varia muito. Esses dois motivos são principalmente os motivos pelos quais uma barra de progresso quase nunca carrega suavemente.

Por que os downloads às vezes ficam presos em 99%

A razão pela qual os downloads às vezes ficam travados em 99% ou 100% é também porque suas barras de progresso não carregam suavemente. Permita-me explicar. Quando você baixa qualquer coisa da Internet, o download não é feito como um único monólito. Ele é dividido em pedaços ou pacotes que são enviados um por um e sua máquina os reúne novamente em um único arquivo.

Software GNOME no Ubuntu mostrando download do catálogo de software

A transferência de pacotes é relativamente previsível quando sua conexão está estável, mas a sequência final de remontagem não é. O computador deve verificar se não houve perda de pacotes em trânsito e se houver pacotes perdidos, eles deverão ser recuperados. Às vezes, o gerenciador de download executa uma verificação de soma de verificação para garantir que seu download não foi adulterado ou corrompido.

Tudo isso está acontecendo naquele último ponto percentual. Portanto, mesmo que pareça que o download parou, o computador ainda está funcionando em segundo plano, simplesmente não há indicação disso na barra de progresso.

O que dificulta barras de progresso precisas

Para criar uma barra de carregamento precisa que progrida suavemente de 0% a 100%, o programa precisa calcular exatamente quanto trabalho será feito e prever exatamente quanto tempo levará. Quando você baixa ou copia um arquivo de tamanho conhecido em uma taxa de transferência estável, é mais ou menos trivial. No entanto, é quase impossível realizar operações mais complicadas que envolvam vários arquivos e tipos de arquivos.

Por exemplo, as instalações de software dependem muito do seu ambiente de computação específico. Uma barra de carregamento precisa precisa saber antecipadamente sua configuração específica de hardware e o uso de recursos para outros programas que estão sendo executados em paralelo ou em segundo plano. Seu sistema pode ou não ter dependências de software para o jogo ou aplicativo que você está tentando instalar, e a barra de progresso precisa levar isso em consideração.

Uma barra de progresso no trabalho.

Mesmo depois de tudo isso, os sinais de progresso precisam ser constantemente alimentados na interface do usuário de carregamento para que ela possa atualizar o progresso exato em tempo real. É por isso que não existem barras de progresso perfeitas e provavelmente nunca existirão. O trabalho deles é aliviar sua ansiedade e tranquilizá-lo, portanto, desde que transmitam que algum trabalho está sendo feito, será bom o suficiente para a maioria dos desenvolvedores.


Na próxima vez que uma barra de progresso congelar em 99% ou 100%, você pode ter certeza de que o computador ainda estará trabalhando duro, mesmo que a barra de carregamento indique o contrário. Esperar alguns segundos ou minutos extras pode ser uma boa ideia em vez de cancelar toda a operação.

Este artigo foi útil?
Gostei0Não Gostei0

Deixe um comentário

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00