Paginate My Web Pages, Please?
This was a passionate plea; it reminded me how much I wish we had client-side pagination in modern web browsers.
The author’s complaint is common and accurate; websites which paginate to manufacture page views annoy users. Some websites go so far as to not give you direct page access — the user is forced to go through the article one page at a time, in order. Even though the episode recaps were so incredibly funny and well-written, I gave up on Television Without Pity because of this (they no longer do this, I believe).
The concept of The Fold as a barrier was commonly accepted wisdom in web page design for awhile; designers were supposed to cram as much interesting information as possible above the bottom of the browser window, in order to entice users to stay. Users weren’t supposed to be willing to scroll. Nowadays, this is less commonly accepted; users are smarter and are assumed to, ah, be able to scroll.
There has always been a strange disconnect in the way vertical scrolling is the prime interface element in our interactions with web pages. For all that many of the ideas in our user interfaces are mirrors of real world paradigms, the unbound vertical scrolling window is pretty odd. I don’t seem to encounter that construct much in the real world — do you?
And scrolling up and down the page is … mushy. To move down a “page” — really a screenfull — you have two options. You can click in the scrollbar, or use the PageDown key. On various operating systems and browsers, these can behave differently. Confoundingly, on a complex web page, you can page down a few times, then page up the same number of times, and not arrive back at the same location! Blech.
In the real world, however, I read all the time. Books. Magazines. Catalogs. Bills from the cable company (those things go on forever; pages of surcharges and taxes and fees). How do I do this? I turn the page. The page break is wonderful, it provides for concrete navigation points in a document, my eyes know right where the top of the next page is, etc.
Interestingly, you can look at Apple’s CoverFlow as a form of paging; other than that there isn’t much useful paging in traditional web browser world. The only real approximation is the pages-as-separate-web-pages approach that we all hate. That approach is pointless for several reasons: a) network dialog means turning the page takes too long; b) the page you construct may not match my display hardware; c) every site creates their own paging buttons and links, so the user experience is not uniform.
But … why can’t we have pages? Web browsers interpret source HTML in a myriad of ways, making free with font sizes, text flow, colors, even zooming images to different sizes. Web browsers are responsible for the presentation of source HTML documents, and different browsers on different hardware may show the same page very differently. And that’s as it should be. So…
Why don’t browsers have an option to paginate on the client side?
Certainly we have the compute power to do smart pagination, delineating virtual pages on the fly to fit the content and the screen resources.
Consider some of the benefits of client-side pagination:
- The whole web document is loaded locally, as it is now, so navigation is quick.
- Pages would give the user some geographic markers in the document. Makes it easy to mentally bookmark the location of things inside the document.
- No change to protocols and such. Entirely elective. Pagination is a presentation event.
- Simple,small UI controls are needed: some combination of First/Last/Next/Previous. Adobe reader, Word, lots of software already does this.
- Easily disabled/enabled. Since it is a presentation issue, browsers can easily make pagination optional.
There are probably more good points — but I haven’t thought of any insurmountable downsides other than the need to, you know, design and code it. There are fascinatling UI questions posed, like what to do when a single object is larger than the available screen, but UI folks love to think about these things.
I’ve often wondered if something like this could be done in a Firefox plugin — I’m not sure if you can reach that far into the rendering engine .
I first thought of this around ten years ago, and now as then I don’t have the spare time to learn the innards of a browser to implement it myself. No one has shown up on my doorstep to throw money at me to do it, and I like my current job. So it remains an idea.
Sure wish someone would teach a browser how to paginate.