When I started this blog nearly three years ago, I built the CMS myself. Not using off-the-shelf software meant designing and building things like next/previous links and a commenting system. When it came to thinking about how these elements would work, I just went with what seemed logical to me at the time, without looking closely at what other blogs were doing at the time. But it seems I got it wrong, or at least different.
So what’s up? Let’s consider the simple post-to-post navigation. It seems reasonable to assume that next/previous links take this form:
← previous | next →
That is to say, next on the right and previous on the left. Fair enough, but what does ‘next’ equate to in the context of a blog? If you are reading this post on the home page then the next post you are likely to read is the one below it – an older post. So it seems logical that blogs are read in reverse chronological order, if for no other reason than because the first post you come to is the newest post (search engine referrals excepted). So my ‘next’ link, the one on the right, points to an older post.
I will concede that if I used the words ‘next’ and ‘previous’ (as some do) instead of the name of the post, then this logic would be harder to justify as ‘next’ would probably be interpreted as ‘the next post I made’ as opposed to ‘the next post you’ll want to read’.
I applied a similar approach to the order in which comments appear below my posts. The most recent comment always appears first, which is counter to convention. At the time I thought this action may subtly encourage folks to comment. More importantly, I also figured that the most relevent comment would be the most recent one, so it went at the top. A factor in this thinking was that comments would relate to the post rather than to other comments.
So then, should I reverse my design decisions? Are there sound reasons for doing so above and beyond falling in with convention? What if I used my CMS for a third party blog, as I do here?
Update. Following feedback from this post, all comments are now listed oldest first.
Dave Child wrote:
I agonised over the comments thing for a little while too. In the end, I figured that as I would be responding to comments, I’d rather have the response after the comment, so the logical choice for me was to have the oldest comments first.
As for the “next / previous” links, I’m of the opinion that on a site with decent content they aren’t much use. Most sites cover a few topics, ranging from personal posts to development and design in my case – someone who visits to read a specific post on CSS would be more interested in other CSS posts than a solution to a PHP problem.
So I removed the next and previous links and concentrated instead on making topic-based navigation easier.
In your case, your next/prev logic seems sound. As it’s just text though, why not change it to “Older Post” and “Newer Post”? No room for confusion then …
Jonathan Snook wrote:
Next/Previous and date-based archives on a blog like yours (and mine) make little sense as there isn’t a continuous theme from one post to the next.
Including related posts and links to category archives (as you have done) make the most sense and are more likely to get your visitors to browse around.
As for comment order, it makes sense to have the oldest at the top and the newest at the bottom. Users who are reading the article and then read the comments. But newer comments can build upon previous comments. If you read the newer ones first, you become slightly clueless about what is being said until you read the older comments.
Rich wrote:
Sensible enough – but should ‘Older Post’ go on the left or the right?
Rich wrote:
I agree entirely (but I’ll keep things as they are for the moment, so this post makes sense). It was interesting reviewing my logic from 3 years ago. I think I had assumed that comments would work more like a guestbook than a message board.
On many blogs, that premise still holds true, but on blogs like Clagnut where technical discussion often ensues, comments very often refer to one another and, as you say, it thus makes more sense to have chronologically ordered comments.
Al Abut wrote:
1) Agreed, previous and next can be misleading and I personally hate having the entire title of other posts as nav elements – it’s too jarring and breaks a few usability conventions (in a bad way). What about doing what gmail does – older/newer? That seems to be what you really mean anyway.
2) I really liked the reverse chronological order commenting whenever I’ve written here, if for no other reason than to see someone thinking outside the box and tinkering with conventions. I have noticed, however, that it tends to inherently limit the number of people that add comments and that most of your posts don’t exceed single digit replies, for a very simple reason: people don’t read bottom to top. It’s too disorienting after more than a few replies and the thread of conversation gets lost for the same reason that the most relevant comment rises to the top – the cognitive load rises exponentially as you scroll down, so all mental focus goes to the first and maybe second in the list.
Of course, it’s up to you whether this is A Bad Thing or if you’re purposefully avoiding the blog echo chamber effect.
c. s. wrote:
I’ve always felt there was confusion with the words previous/next… even though I use those words in my code to distinguish which variable is which. I suppose most of the confusion comes from the fact that some people use next as the older entry link, while others use next as the newer entry link. I prefer older/newer or before/after. Not only are they less confusing, but they look much better centered because they have much closer letter counts than previous/next.
Which order should they appear in? Since we read from left to right, the links should read older to newer. While you generally read a weblog in reverse chronological order, regular readers are most likely going to be reading what’s on the front page, making little use of individual entry pages outside of reading comments or the expanded entry. A good portion of individual entry visits will be either from search engines or other sites commenting about that entry, so the logical previous/next order makes the most sense for them, especially if they are labeled by the entry’s title rather than the (sometimes not-so) descriptive words.
If you’re using the link rels for first/previous/next/last like you should be, order becomes irrelevant. Browsers that actually have a way of displaying such links (Opera 7, Lynx, etc.) will give you absolutely no control over which order those links appear. Having such links incorrectly labeled only leads to confusion when the previous link rel is expected to point to the entry that came before the current one. While the W3C is ambiguous in their wording (as they always are) of what the next/previous link rels should be, all of their examples show the previous links as those coming before the current page and next links as those coming after the current page. In the context of first/previous/next/last (the order Opera 7 uses), it makes little sense to have first be the first entry, previous being the newer entry, next being the older entry, and last being the very newest entry. It’s like having your DVD or CD player buttons ordered as previous track, seek forward, seek rewind, next track.
I have never liked comments in reverse chronological order. It makes no sense to me at all. When you read from top to bottom, you expect everything to be ordered oldest to newest. Many comments are comments of other comments. It becomes exceptionally confusing to read the very first comment listed when is quoting something that isn’t in the entry at all, but a quote from a previous comment. The only place I’ve seen comments in reverse chronological order work is the PHP manual, and only because some comments are 4 years old (!) and newer comments generally have more relevance. Also, comments on the PHP manual rarely refer to eachother.
Darrin Hawe wrote:
Previous and Next has always been confusing to me when browsing lists of any kind because it requires a knowledge of the design context to use properly. It isn’t only an issue with blogs, the problem also exists in such things as log viewers, news readers, anything that offers a browse item function. As a practical matter, the use of something that can provide context would be helpful , perhaps:
← previous (12/21/04) | next (12/22/04)→
Something like that comes out looking clunky and awful from a design perspective so I don’t have a good answer there. Bottom line for me is that I have always disliked Prev/Next.
As far as ordering considerations, I prefer blog or news entries to be newest first but comments to be oldest first. Why? I prefer to select my reading material based on newest information first (top/down) and I prefer to read any comments in a continous thread beginning to end (top/down). Sounds odd, but that seem to be what I am most comfortable with. It may have to do with the fact that the majority of blog/cms systems use this convention and not the fact that it is proper design or function.
What’s right? I’m not a web or UI designer so I can’t say from an educated or experience perspective. In my mind, there is no right only preference.
Richard@Home wrote:
There is another way to order your blog, and keep your next-previous links.
This problem was discussed a while back by Eric Meyer ( http://www.meyerweb.com/eric/thoughts/200403.html#d29t1415 ), and I proposed “A New Way of Looking at Blogs?” ( http://richardathome.no-ip.com/index.php?article_id=178 ).
You can see the theory in practice with the Part Of box out. There are code examples later on in the series.
jch wrote:
What if you stole a page out of GMail’s playbook and called your Next/Previous links “Newer / Older” ??
.../jch
Phil Wilson wrote:
I think jch is right. Remove the ambiguity and use “Older/Newer”.
Also, I agree with Al when he says your comment ordering is “disorienting after more than a few replies and the thread of conversation gets lost”. If you were watching new replies come in in real time then it may make sense to have the most recent as the most accessible, but this isn’t the case, and IMO they should be the other way around: top-to-bottom, oldest-to-newest.
Sam wrote:
GREAT IDEA! Will be back.
Al Abut wrote:
Nice! It makes for a marked improvement in readability.
gorazde wrote:
nice cms :)
leinad Moolb wrote:
When you say this blog is backwards, do you mean that you spell your name backwards? If so, want to join my club? Click on URL and comment.
Leinad