I don’t give a shit about the difference between the capital R in Helvetica and Arial. There are many interface details I don’t give a shit about that people who obsess over interface details go crazy over. I don’t obsess over details. But there’s this one detail that keeps bugging me so much that I believe I’ve complained about it several times on this blog already, and here I go again (this annoyance happens every. goddamn. time). I’m writing some theme code for Tumblr, and every time I do, this detail bites me in the ass, and I hate it. Don’t get me wrong: Tumblr’s templating language is easily the best I’ve ever dealt with, and I’ve tried a bunch. There’s one detail I strongly dislike about it. Two relatively small words: previous and next.
When navigating through time, like on a blog, I absolutely can’t stand “previous” and “next”. There’s no convention for whether “previous” means “items from the past” or “items from the future, which you read in the past” and whether “next” means “items from the future” or “items from the past, which you will read in the future”. When I click on “next” or “previous”, I have no idea whether I’m going forward or back in time. Since different applications and websites do it differently, I can’t even make a good guess. Tumblr’s templating language carries this with it: in order to make a link to the page of posts that is chronologically before the current page (posts published earlier), you write {NextPage}. In order to make a link to the page of posts that is chronologically after the current page (posts published later), you write {PreviousPage}. However, if you’re trying to make navigation on individual post pages and want to link to the post that is immediately before the current post (published immediately before the current post), you write {PreviousPost}. If you want to link to the post that is immediately after the current post (published immediately after), you write {NextPost}. The same templating system can’t even stay consistent on what previous/next mean! Those two words should be banished from interface design forever. Since legacy theme code needs to be run, I bet this will never get changed, either. Fuck!