Okay folks, this is another UX theory discussion. With all of the web application abilities today, there are various methods for solving any given problem. How to serve a lot of content, for instance, is ultimately up to the type of audience, the type of content, the purpose of the application, and the limitations of the application. (This, I will admit.) However, professionally, I have a strong opinion as to what works best... most of the time. I’m talking about serving whole books as HTML; or a huge list of items like a store inventory; or something like a search results page. You could just load the whole content, but in cases where there is a LOT of content and maybe images, you might have to think of another solution.
Before I get into that, here’s what I’m talking about:
This is where the content is divided into pages. It can be dynamic and can have several criteria that determines the amount of content on a page. Some examples of criteria would be: (1) by character count (which is terrible), (2) by character count, then nearest (word which is better), (3) by character count and nearest paragraph (which is a little better), or (4) something a bit more sophisticated, like by page size limit and rounding down a paragraph.
To navigate through the pages, there’s usually a row of numbers at the bottom and/or the top. They may have a next and previous page link. They also might be abbreviated in cases where there are more pages than the width of the page can handle.
The purpose of this is to give people the feeling that they’re reading a book or a newspaper. The idea is that it should feel less intimidating than throwing up all the content.
Dynamic Content Loading
(That’s what I’m calling it, anyway.) It’s where there is content loaded into the viewport and some content loaded below. As you scroll down the page more content is dynamically loaded below the viewport so there’s a virtually seamless loading of more content. The only criteria you have to worry about is how much you want to load and when.
You don’t penalize your user for having a slower internet connection. Aside from what may initially load, you don’t have to sacrifice your experience with heavy content like videos, larger images, or… (I don’t really want to say it…) fffffff… flash content. Of course, with pagination there are ways to sort of achieve these benefits, but you generally have to load each page individually.
The Heavyweight Champion Is...
Since I’m the judge, and no one’s currently arguing with me, my answer is always going to be dynamic content loading, if possible. Thinking in terms of the effort of the user both physically and mentally, this one always wins in my book. There’s no extra clicking, just a smooth stream of flowing content and you don’t have to think about what you need to click next.
To provide a safer experience you could do things like adding some fixed content that doesn’t scroll with the rest of the page, like a simplified top nav (or a button to get back to the top.) You could also do an alternative to pagination with a fixed table of contents (which is way more informative than a row of numbers) that guides you through sections of your content.
For mobile it's especially easy and natural for the user to continue to scroll through their content rather than having to scroll a bit and then hit a button (that may or may not be big enough for their finger to accurately hit.) I think it's imperative for mobile devices to have fewer forms of navigation.
Just a quick addition: A great database technology that I've recently seen used for dynamic content loading is MongoDB. And it is pretty neat how well it works.
The Horse’s Head Concept… Again
I’ve been using this concept a lot (bottom of the page). I think it’s part of the human condition, but the general idea is that unnecessary things happen when people are afraid of changing times. The only real thing that pagination does is give an old, familiar feel to something new. Books and content on paper are becoming more and more scarce. Yes, you may like the feel of a newspaper because it evokes nostalgia, but the fact of the matter is that it’s way more cost-effective to have your content online.
Yes, there are jobs at stake with paper becoming scarce, and maybe you think that you’re supporting paper by making your website feel like paper, but new jobs are created. If you’re a hippie, stop trying to be nostalgic and actually save a tree.