Pageless pagination: cease and desist
If you are looking for another patent lawsuit on Web techniques and technologies, then I am sorry to disappoint you. Although, I wish that I was the patent holder for this particular piece of functionality. I would be tempted to lock it away and let it expire. If you are still in the dark, the technique I am referring to would be pageless pagination — also known as endless paging, or “just-in-time” paging.
Pageless pagination is a substitute for the paging functionality that appears on the majority of Web sites today. A typical paging mechanism is on a search results page, and it uses numbers to represent additional pages of results. For most users this has long been the acceptable browsing standard for everyday surfing, searching and shopping, and it requires little effort to recognize or learn a paging component.
In a quest to improve upon outdated methods, someone decided to overhaul this standard. With pageless pagination, when the user scrolls down the page to bring more results into view, the Web site detects that the event is happening. After the scrollbar reaches a threshold, a script grabs more results and dynamically appends them to the bottom of the results already in view. Until all the results are returned, you can keep scrolling, while the Web site responds with subsequent results.
This technique can be seen in Google Reader, MSN Live Search (images), DZone, and it is a selling point for Unspace, a Canadian Web development firm, just to name a few. The company I previously worked with also prototyped alternative browsing methods similar to pageless pagination for e-commerce Web sites. In all cases I remain unconvinced that this is a truly usable concept.
The purpose of a scrollbar
If you are a die-hard usability specialist, then you already know that you never toy with standardized browser functionality. The back and forward buttons, bookmarks, and the scrollbar are the three sacred untouchables that should remain a facet of every Web site and almost all Web applications. With endless pagination, the scrollbar loses key functionality, causing it to react inconsistently.
- The scrollbar is a visual cue. In conjunction with typical pagination, it informs users how many results are remaining. Pageless pagination removes this cue because you be unable to discern how many results remain.
- The scrollbar is versatile. You can use a scrollwheel mouse, the arrow buttons, or you can grab the scrollbar and drag it vertically. Pageless pagination creates a barrier to this by shifting the position of the scrollbar without interaction from the user.
- The scrollbar is modular. With pageless pagination you have to have JavaScript enabled for the scrollbar to work, but in reality the scrollbar should be prefab. It should work out of the box, with or without JavaScript.
A natural language reference
On occasion I direct friends or family members to a page, have them search for a key word or phrase, and then click to view a page in a set of results. Pages are a natural language reference, and help with short-term memory recall, perceived ranking, and instructions. The defense against this argument is that pages are hardly ever a one-to-one correlation to results. Especially with search engines, a result can constantly move from page to page. However, even a generic reference is enough to aid in quickly processing data, allowing users the ability to mentally refine at a glance.
Solving a problem
Jeff Atwood over at Coding Horror hit a nerve with his two posts Why Does Software Spoil? and Are Features The Enemy?, where he questions the value of some features in software. This is a touchy subject for software engineers, who make a living “improving” software. Unfortunately, there continues to be a disconnect between developers and users, and usability is losing ground to job security.
The fact is, pageless pagination does not solve a problem. It is a feature for feature’s sake. I have spoken about this before in other posts, where I often question the value of software and technologies that do not solve an immediate problem. This functionality creeps into Web sites, applications and software, and very little is done to question the validity of introducing the new features.
If it must be, then let it be right
Although I am against pageless pagination, as developers we may not have a choice in the matter. If an application is being designed to support a client’s request, or solutions are being built to the specification of an information architect, then it can be difficult to suggest alternatives. In a situation where you must comply, the following functionality should complement this feature, and you should do your best to ensure these elements are included.
Back Button
Can the user advance forward to a new page by clicking a link, and then use the browser back button to return to the same position in the results?
Bookmarking
Can the user bookmark the current position in the results without the assistance of JavaScript?
Go to
Can the user go to a position in the results by typing a number into a form text field? Admittedly, in traditional paging this feature is also often lacking.
Loader
Is the user being informed of changes in the result set via a loader or text notification?
Number of results
Are the number of total results being displayed as a visual cue?
Refinements
Can the user refine the results currently displayed on the page without having to reload the entire set of results in the browser window?
Leave a Comment
Comments are moderated. No profanity. Only <a>...</a>, <blockquote>...</blockquote>, and <code>...</code> are allowed.
Seperate paragraphs by pressing the "Enter" key twice, or press it once to break to a new line.
27 Comments
#01, Oct 25 2007
Yupologist
#1 - cue, not queue.
Perhaps a Google Maps style drag-and-release mechanism would be more suitable?
#02, Oct 25 2007
Brian
Thanks Yupologist — that was a good catch!
I don’t think that the vast majority of users would “get” browsing with drag-and-release. It makes total sense in some applications, and it is functionality that power users understand, but your typical online shopper/casual surfer doesn’t usually understand that paradigm.
#03, Oct 25 2007
Simon
I’d been think about this idea, one thought would be to ensure new content gets an id and the href fragement is updated whenever a content block reaches the top of the page. If the page is loaded it can read the fragment id from the url and make sure the content is there to that part (this could be done server side).
But I do agree most times it’s going to be done really badly.
#04, Oct 25 2007
Peter
It also breaks functionality of programs that look for content for you. Search engines aside, if I pull up a list of hard drives on a shopping site, do find-in-page, “160gb”, that works fine over many pages. It does not work fine if the content is dynamically added.
#05, Oct 25 2007
Adam
I thought exactly the same thing when I first saw this. To me, it was much more annoying than having to click on “next page.” Plus, you can’t go back to the page you thought the result was on, you have to guess where in the magically changing scrollbar position it was. I agree - this feels more like a programmer showing off than solving a problem.
#06, Oct 25 2007
Brian
“If you are a die-hard usability specialist, then you already know that you never toy with standardized browser functionality.”
How, then, do new standards arise?
Other than that, I agree.
#07, Oct 25 2007
Lukaszp
I agree with You buut one thing for pageless pegination would be having a scrollbar like Google’s picasa has. It does not move from top to bottom but stays in the middle and reacts on moving it down or up by scrolling content. This way you have no sense of telling how long the list is and you can browse even long lists without any hassle.
#08, Oct 25 2007
Brian
“How, then, do new standards arise?”
It is certainly a fine line. In the last decade only minor modifications have been made to enhance the browsing experience (like tabs). When IE7 came out, I was not impressed with the changes to the interface. The file menu is deactivated by default, the close and refresh buttons were moved, and several icons were added that are unfamiliar to most users. On the other hand, some of the changes to the interface for Microsoft Office 2007 are well executed and accepted by a majority of users.
The best place to start I think is with user testing in a variety of market sectors and age groups. For Google Reader, it might be the right solution. For Amazon or eBay, it could be a total flop.
#09, Oct 25 2007
Leo
You are making a few good points here, though I think your insisting on JavaScript-free browsing is a bit outdated.
I admit that I felt quite the same when I encountered the “pageless feature” on DZone recently; at first it was awkward and disturbing. Now I must say, they’ve done it well, and I don’t find it too bad any more: It has other advantages, such as Firefox being able to quicksearch an arbitrarily large number of items. I think of it as dynamically increasing the number of displayed results. In my opinion, this feature may make sense for some kinds of applications, link lists being a good example.
I wouldn’t worry about the broken Back button too much. First, it’s rare to see it implemented correctly in the real world, and second, many special applications have to implement their own navigation anyway, such as Google Maps, btw another example where continuous scrolling is perfectly acceptable.
It’s a new feature and an experiment, we’ll see whether users like it. Sometimes users are surprisingly quick to grasp new paradigms.
#10, Oct 25 2007
Spelling Nazi
s/compliment/complement.
You want these features to _enhance_ pageless scrolling, not coo over its kicky new boots.
#11, Oct 25 2007
Brian
@Spelling Nazi
Thanks :)
#12, Oct 25 2007
Mary G
I usually ignore sites that have these pageless paginations. It’s true, they can be quite annoying.
#13, Oct 25 2007
elmer fudd
marketeers like breaking things in a way that only they can mend them. Paged stories is the best way of showing multiple ads. they couldn’t care less about usability. if bad usability looses eyeballs, then they will resort to salacious and stupid stories to gain them back from eyeballs with shrivelled back ends, thus reducing the quality of their audience and advertising.
#14, Oct 25 2007
Michael
As a note, there are some cases where the programmer simply doesn’t know how many records there are, or if they do know, it would require an extra query to find out. That’s one of the reasons you often see those paged tables where there’s a first, prev, and next, but no last. It’s simply more efficient to let the user only scan as far as they want to, instread of constantly doing a query to determine the total count so that you can figure out what the last page number is. And in some instances, such as search, it’s WAY more efficient to cut the search short and only extend the search on demand.
Admittedly, as a user, I hate it, but as a programmer, it’s sometimes a natural property of the application domain, and getting around it is a tradeoff between usability and whatever efficiency is lost (again, depends on the domain).
#15, Oct 25 2007
Joe
I think what makes most sense (as we’re talking ‘ajax’ here) is a table control which implements a simple double buffering mechanism….
If I’m viewing records 1-10 of 100, then 11-20 are buffered, as I scroll I see the records which are buffered the table fetches more records into the buffer so that it seems the view is always populated.
#16, Oct 25 2007
John
Amazon did this long time ago with its online reader for books…
#17, Oct 25 2007
NoWhereMan
I completely agree.
The first time I saw this I was just puzzled : “when is this page going to end?”; then I saw a tiny semi-transparent “loading” at the bottom right corner, and I understood. Really un-intuitive…
#18, Oct 25 2007
Andre
I reject the claim that this feature is of no use. I really don’t like pagination. I would agree that the pageless pagination implementation isn’t fully cooked. Needs some refinement. But I think the basic idea is solid.
Pagination introduces arbitrary divisions into a set. That it is familiar does not make it right. I cheer any effort to improve on the situation.
Besides which, there’s no reason we can’t degrade this gracefully.
#19, Oct 25 2007
Derek Schaab
Perhaps it’s better to say this feature is acceptable (even preferred) for sites such as Google Reader or dzone, where users are mostly concerned with reading the N new things at the top of the list. In these cases a definable set of items has a higher importance than others, but since the number of items is unknown, pagelessness provides for a better experience.
I imagine the criticism of pageless pagination stems from its uses in lists where all items have equal priority–a list of contacts, for example. In an alphabetic list of 20 (arbitrarily sized) pages, I would expect to find names beginning with “M” somewhere around page 10. Having to pagelessly scroll through 10 pages to get there would make for a poor user experience.
What it comes down to is a call for discernment and moderation on the part of the programmers/designers. Even a good feature can be used incorrectly.
#20, Oct 25 2007
Brian
Derek,
That is a great point, and probably one that didn’t come across well in my post. Thank you for your feedback.
Thank you everyone for your feedback. It is much appreciated.
#21, Oct 25 2007
Jacob Rus
I find pageless pagination quite enjoyable, when implemented cleanly. As Derek explains, there are situations in which it fails to match the content.
But unlike your frustration, I was surprised and delighted when I first encountered pageless pagination, which I believe was first suggested by the humanized guys:
Reading Humanized
In many cases, clicking a link for more content wastes time and effort, breaking the flow of the page.
#22, Oct 25 2007
Jacob Rus
Ah, here’s the link:
No More More Pages
#23, Oct 25 2007
ummmmmm
Seriously?
I have been waiting for google to allow me to put search results all on one page for years. Give it a knob - let users turn it on or off. Even better, don’t go to a web site that has such functionality. Quit whining, enough of that in the world already.
#24, Oct 25 2007
Andrew
I agree with this article. Pagelessness isn’t necessary, and it is only likely to produce buggy/sluggish web sites with added dependencies. Just because you can do something different doesn’t mean you should.
#25, Oct 26 2007
links for 2007-10-27 « Mike Does Tech
[…] Pageless pagination: cease and desist » d’bug (tags: usability pagination ajax javascript web interface) […]
#26, Oct 28 2007
Josh Walsh
I like the iPhone pagination mechanism. “Load 25 more” and then they appear below with a scriptaculous style Blind Down effect.
#27, Dec 03 2007
Levysoft » CustomizeGoogle: personalizzare Google su Firefox con la paginazione senza pagine per avere una sorta di scrolling infinito
[…] Sembra un gioco di parole ma dovete sapere che, ultimamente sta andando molto in voga una modalità di interazione introdotte su software o applicazioni web come la pageless pagination (paginazione senza pagine, appunto). Per capirci è quella che potete vedere in azione su Google Reader, ma anche su dZone e nella sezione di ricerca immagini di MSN Live Search, in presenza di una lunga lista di item non letti o di link da visualizzare. Il contenuto, infatti, viene caricato e svelato a poco a poco man mano che scorrendo la pagina ci avviciniamo verso il fondo, in una sorta di scrolling infinito della pagina. Indubbiamente l’idea della pageless pagination è molto comoda e funzionale, anche se taluni riscontrano, inevitabilmente su sistemi un po’ datati o comunque con poca memoria, rallentamenti dovuti alla saturazione delle risorse di sistema, dato che restano caricati anche le vecchie entries. […]