Musings on Paginating Chronological Content
Published by Chris Coyier
Pagination is a ubiquitous design pattern on the web. Thanks in part, to huge sites like Google using it:
Google search result pagination
Pagination is a metaphor. It is a way to break up content onto multiple pages when putting it all on one would be to overwhelming or resource intensive. Google's approach has defined how we think about pagination, and thus what we feel to be intuitive. But to what end?
I said that pagination is a metaphor, but what that metaphor is depends on what the pagination is doing. In Google's case, it is an indicator of relevancy.
First page is "Page 1". Lower numbers = more relevant.
Your "friends list" in Facebook is paginated too, but it's a completely different metaphor. This list is alphabetical, so the first page you see begins at "A" and as you paginate to the right, you go deeper into the alphabet.
Facebooks friend pagination is alphabetical, which is perfectly intuitive.
The problem with paginating chronological content
An example of chronological content is a blog, where entries are posted in date order, with the most recent post shown first. For examples sake, let's say a blog had 2,500 posts, and showed 5 posts per page, so that is 500 pages of pagination.
Left or right?
In both the Google and Facebook examples, going to the "next" page is metaphor by an arrow facing right. Neither of these examples is dealing with chronological content, but it still sets a fairly strong standard that the "next" page is directionally "right". If you look a Google Blog Search, which is chronological, they use the next/right standard.
So in implementing pagination on a blog's front page, the only pagination button that makes sense is "older posts", because the newest is shown first. Do we use the next/right standard?
Blog pagination following the next/right standard.
But doesn't that just feel wrong / anti-intutive? We say "back in time", and "back" feel like "left" to me, not right. So let's break that standard.
Older posts = left = "backward"
When you are looking at the homepage of a blog, there isn't any numbered pagination going on at all. But it may be taken for granted that you are looking at "Page 1", just like with Google. And we already know the only pagination choice is to click "Older Posts" which we have designated to move us backward in time and show older posts. What do we call that next page? Do we call it "Page 2"? That would result in a URL probably something like this:
and perhaps something like this visually:
One click backwards from home results in "Page 2", but does this make sense?
"Page 2" would be the most logical and intuitive choice, but I think there are serious concerns with that because of the nature of chronological content. Let's say next week five more articles are published. That means what is on the home now will be gone, and will be at "Page 2" now instead. What was on "Page 2" is now on "Page 3" and like dominos the rest of the way down.
I'm thinking there are some significant concerns with this.
- Bookmarking - If someone were to bookmark their place in the site as they were going through the content, anytime new content is published this bookmark becomes more and more off it's original target.
- Incoming links - If someone were to link to a particular paginated page, that link would be wrong as soon as more content was published (assuming it was to show off some specific content).
- SEO - Search engines are confused because the content on these pages is never the same as last time they looked. (pure speculation, I'm no SEO expert)
We already flip flopped the standard right/next for left/back, so why not flip flop the pagination as well. Rather than numbering pages forward, number them backwards. So when you click on "older posts", you get "Page 320" (or whatever the highest number pagination you have is).
"Older Posts" results moving backward to highest-numbered page in pagination.
The benefits of this is that creating new content doesn't shift the entire pagination structure. Next week after five more articles are published, the "Older Posts" button just goes to "321" instead of "320". That means that all incoming links and bookmarks are preserved, and search engines will find the same content at the same URLs forever.
This is all just musing. I've never implemented something like this, or even seen something like this live in us. It's just rolling around in my head so I thought I'd write it down. What do you think? Is it smart? stupid? Smart but too anti-intuitive to be usable?