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.

Advertisements
Explore posts in the same categories: Software, Tech

Tags: ,

You can comment below, or link to this permanent URL from your own site.

9 Comments on “Paginate My Web Pages, Please?”

  1. wasigh Says:

    Try auto-pager for firefox!

  2. Pi Says:

    the multi touch trackpad on macs make scrolling completely painless. The new magic mouse even lets you scroll with momentum!

    • designbygravity Says:

      While the mac trackpad is a fabulous input device, it doesn’t imbue web documents with pagination. It is more responsive scrolling than a wheel, that’s for sure.

  3. Tom Says:

    this is fucking retarded:

    a) PAGES AREN’T THE GOAL! pagination is a LIMITATION of books, not a FEATURE! if the “designers” of the book had monitor technology, would they have still built in pages? probably not — pages arbitrarily break up content, which is distracting (see http://www.pleaselistencarefully.com/2008/07/tabs-are-actually-ok-though.html for more on why UI metaphors are generally bad)

    b) the reason pagination exists on the web is partially for advertising. this actually isn’t a great reason since you can insert new adds anywhere you want at any time, but it’s taking people awhile to catch up technologically.

    but even if you could figure out the ad issue, the real reason you can’t page client-side is because you can’t store all the data client side! i.e., in order for FF to page a google search client-side, it would have to have all the search results stored locally (which is obviously impossible). pagination (infinite page or not) depends on getting the data in CHUNKS, which requires server-side cooperation.

    basically the person who wrote this should have his blogging license revoked!

    • designbygravity Says:

      Gee Tom, angry much?

      Pages aren’t your goal — I’d give much for the option. Nowhere did I say pages needed to be inflicted on people unawares.

      Advertising is not a good enough reason for anything. Sorry.

      There be no reason for google to hand a full result set back; that’s stupid. Result sets (and such) are not cohesive documents.

      But lots of other pages currently are handed to the browser much taller than the screen — newspaper/magazine articles, sports writeups, etc. Blog entries. On and on. Pages would make for delightful reading. ANd in the end, the prime mover of the web still is textual data, and that isn’t likely to change as you can say more with words than you can with applets.

      And looking at the Kindle, Sony’s e-reader, the new Nook, and every other tablet based reading device — they all use a turn-the-page metaphor. I’ll be curious to see what Apple does if/when they do a tablet. In a sense, each of these device’s designers got to design a book, and they all picked pages.

      • Tom Says:

        sorry, i must have been at work when i wrote that last one

        the point is that in order for the client to communicate to the server what content to ask for (i.e., what “page” it wants next), there has to be some kind or protocol.

        for example, the client and server might agree that you can get chunks of any document by GETing URLs of the form http://path/to/a/document?page=2.

        so in order for firefox to implement client-side paging, all webservers would have to agree to implement something like http://path/to/a/document?page=n. since firefox can’t call up every website and ask them to support “?page=n” (or some equivalent), firefox can’t implement client-side paging

        “but wait! many servers already HAVE something like ‘page=n’! can’t you just keep track of what servers do in practice and page client-side based on that data?” — yes, you can, and that’s what the auto-pager add on does. it is “a bit of a hack” (as you comment), but i’m not sure you can do much better

        on the question of paging v. scrolling, i think scrolling is far more pleasant (i.e., the reader doesn’t have to think about the artificial concept of a “page” or “turning a page”). ebooks page because they are trying to mimic a familiar but broken metaphor.

        • designbygravity Says:

          Your point is true, but the vast majority of web pages DON’T have pagination links in them and ARE taller than the screen. That’s the stuff I want to paginate automatically. No protocol, nothing, just a client side visualization tool.

          Something like the excellent ‘Readability‘ bookmarklet, with paging added.

  4. Steve Says:

    Well, I guess this settles it then:

    http://www.thereisnopagefold.com/


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: