"Previous" and "Next"

I finally addressed a little thing on this blog that has bugged me for a long time. To navigate historical posts, there used to be links at the bottom of the page called "Previous Entries" and "Next Entries". I think the words "previous" and "next" are confusing to the reader because they overlap conceptually with the browser's Previous and Next buttons.

The terms can be confusing to a programmer as well. Here's a code snippet from the WordPress theme I'm using, showing two function names which combine with the link text to imply that "next" means "previous" and vice versa:

<div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div> <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>

The word "next" in "next_posts_link" means "next" in the sense of "next page", if you imagine all posts grouped on pages in reverse chronological order. A lot of sites use this conceptual model, as you can see from links like mysite.com/archives/1, mysite.com/archives/2, etc. To a programmer, this corresponds to the idea of traversing a database cursor, where you've done a SELECT * FROM all_my_posts ORDER BY post_date DESC, and going to the "previous" post chronologically means going to the "next" row in the cursor.

A better choice for both the link text and the function names would be to use "older" and "newer" rather than "previous" and "next". I've changed the links on this site accordingly, and I've replaced "Entries" with "Posts" since that's the word I tend to use when I mention blog posts either here or elsewhere. This would also eliminate confusion if I were to change to a different WordPress theme that puts "Previous" on the right and "Next" on the left, as I've seen some sites do, adding spatial ambiguity to the semantic ambiguity of the words.

There are times when "older" and "newer" don't make sense, like when navigating pages of Google search results. In that case I think we're pretty much stuck with "previous" and "next" and have to live with it.

I've seen some sites that don't use words at all for their Previous and Next links. They use just the left and right angle-quote characters ("«" and "»"). Typically this is done when you get a row of page numbers, like this:

«7 8 9 10 11»

A variation uses double angle-brackets to mean "first" or "last", and single angle-brackets to mean "previous" or "next":

« <7 8 9 10 11> »

The usability flaw here is that one-character links are an extremely small click target. It's much easier to click the two links if they look like this:

Older7 8 9 10 11Newer

But this bugs me too. Somehow it doesn't look right. Maybe in this case "Previous" and "Next" really are better, and maybe they work better with "First" and "Last":

Previous7 8 9 10 11Next

First Previous7 8 9 10 11Next Last

You can see a sequence of page numbers, so it's clear the words refer to numerical order of pages, not chronological order. The reader still has to figure out the correlation between page numbers and chronology, but I don't see a way to make that easier.

I don't mind that the page numbers themselves are small click targets, because I suspect they are rarely used. I think most of the time the reader wants to go to the previous or next page, which is why those links must be easy to click.

Note that when the page numbers refer to historical pages, "left" means "newer" and "right" means "older" — the opposite of how "Previous" and "Next" often work when they are used alone (on this site, for example).

2 thoughts on “"Previous" and "Next"

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.