Barras de progresso de scroll, e porque é que a tua devia ser um cão
Toda a página longa levanta a mesma pergunta: quanto falta disto? Um indicador de progresso responde, e a maioria responde de uma forma que deixas de notar já no segundo parágrafo.
Para que serve a barra
A barra de deslocamento já te diz onde estás, em princípio. Na prática, tem uns pixels de largura, esconde-se até mexeres no rato e, numa página que carrega imagens à medida que desces, o indicador dela muda de tamanho enquanto lês. As extensões trazem de volta uma barra de progresso porque a resposta do próprio navegador foi silenciosamente afastada do design.
Por isso tens uma linha fina e colorida no topo da página, que se preenche à medida que fazes scroll. Funciona. E é também a coisa mais fácil de deixar de ver na página: é uma linha reta, fica na faixa que o teu olho já aprendeu a ignorar, e nunca faz nada além de ficar mais comprida.
Posição, mas também velocidade
Uma barra transporta exatamente um número — o quanto desceste. Há um segundo número disponível de graça, e nenhuma barra o mostra: a que velocidade te estás a mover.
O scrolldog transporta os dois. A posição do bichinho ao longo da borda da janela é a profundidade do scroll. No topo da página está à esquerda; no fim, já chegou ao outro lado. O passo dele é a velocidade do scroll: um toque na roda e ele dispara; desces um parágrafo de cada vez e ele vai a trote.
Paras, e ele senta-se. Essa é a parte que uma barra não consegue fazer. Uma barra estática fica idêntica quer estejas a ler com atenção quer tenhas deixado o separador aberto há três horas. Um bichinho que se sentou está a dizer-te que a página ficou quieta, e ler isso não te custa nada, porque não o estavas a ler — apanhaste-o com o canto do olho, que é a única atenção que um indicador de progresso alguma vez mereceu.
O que custa
A objeção habitual a uma extensão decorativa é que torna o navegador pior. Esta escuta o scroll de forma passiva, reduz cada rajada de eventos a uma escrita por frame de animação e move um único elemento dentro de uma pista fixa de tamanho zero. Nunca lê nem muda o layout da tua página, e não faz nenhum pedido de rede a partir da página que estás a ler.
Um botão na janela desliga-o em todo o lado, em todos os separadores abertos, de uma vez.
Vê como funciona