Increasingly, web sites are moving away from what’s known as “pagination”: breaking long lists of items into pages. Twitter works this way these days… when you get to the bottom of a search, there’s just a big button offering “more”:
When you click it, more entries are automatically loaded on the page. Slashdot has been doing the same thing for a while and ArsTechnica just started too.
I think it’s a bad idea.
I think it’s bad because these “more” buttons ruin the user’s control over state. One of the purposes of URLs is that when a user is in a certain state (i.e., looking at some particular results), they can copy the URL and send it to someone else. Or they can close their browser and come back to that state.
Sometimes on Twitter I find a user, say CaptnAhab, and I start going back through their old tweets, clicking “more” and “more”, catching up with their historical tweeting.
But if I click 20 pages back, and then run off and do something else, close my browser, or whatever… and then I come back to their page, I’m back at the most recent tweets! To continue reading where I left off, I have to click that damn “more” button 20 times, scrolling tediously after each click! If they just gave me a new URL for each page of updates (say http://twitter.com/CaptnAhab/page/20), I could navigate back to and keep going.
Maybe the ideal thing is for twitter to update the “hash tag” like Gmail does. A hash tag is just an identifier in a web address that starts with a hash mark (#). When I click on an email in my Gmail inbox, the email loads dynamically, without reloading the whole Gmail interface, but the address also updates, to something like http://mail.google.com/mail/?shva=1#inbox/1257e4bad9247cd3. That last “#inbox…” part of the address is a hashtag, and if I were to visit that link again later, it would bring me directly to that conversation.
Twitter should do the same thing for search results. Every time you ask for more, it should update the address to something like http://twitter.com/CaptnAhab#page/20. And if you came back to that address, you should be back at page 20, where you left off.
The trouble is that’s pretty difficult stuff to program right now, and most sites don’t bother doing it. But without it, this dynamic loading stuff just doesn’t work.
Please, developers, if you can’t go all the way with the hash tags, just stick with pagination for search results. It’s not as cool, but your users will be happier.
