Scroll progress bars, and the case for making yours a dog
Every long page raises the same question: how much of this is left? A progress indicator answers it, and most of them answer it in a way you have stopped noticing by the second paragraph.
What the bar is for
The scrollbar already tells you where you are, in principle. In practice it is a few pixels wide, it hides itself until you move the mouse, and on a page that loads images as you go its thumb changes size while you read. Extensions add a progress bar back because the browser's own answer has been quietly designed away.
So you get a thin coloured line across the top of the page that fills as you scroll. It works. It is also the easiest thing on the page to stop seeing: it is a straight line, it sits in the strip your eye has been trained to ignore, and it never does anything except get longer.
Position, but also speed
A bar carries exactly one number — how far down you are. There is a second number available for free, and no bar shows it: how fast you are moving.
scrolldog carries both. The pet's position along the edge of the window is scroll depth. Top of the page, it is at the left; bottom of the page, it has reached the other side. Its gait is scroll velocity: flick the wheel and it sprints, ease down a paragraph at a time and it trots.
Stop, and it sits down. That is the part a bar cannot do. A static bar looks identical whether you are reading carefully or whether you left the tab open three hours ago. A pet that has sat down is telling you the page has gone quiet, and it costs you nothing to read, because you were not reading it — you caught it in the corner of your eye, which is the only attention a progress indicator has ever deserved.
What it costs
The usual objection to a decorative extension is that it makes the browser worse. This one listens for scroll passively, collapses every burst of events into one write per animation frame, and moves a single element inside a fixed, zero-size track. It never reads or changes your page's layout, and it makes no network request from the page you are reading.
One switch in the popup turns it off everywhere, in every open tab, at once.
See how it works