Is It Too Slow Yet?

by on July 5, 2009

About a year ago, I decided to turn off pagination on this blog. If you scroll down, you will see at least the introduction to every post I’ve ever made – approaching 700 now.

The reason I did this was to have some counter evidence to give people when they tell me that long pages are bad because they have “load” problems. My supposition was that assuming you used well-designed markup and CSS, you could have an almost infinitely long page and nobody would notice. While those parts of the page below the fold are loading, you are probably looking at the parts that are above the fold, so the size of the page doesn’t matter. You can try this at home.

The current total download size of the page is reported by YSlow as about 2.3Mb. From time to time I remember to do a subjective test of this page to see how it’s doing. While it takes about a second or so for the above-fold content to appear (somewhat slower than I would expect), after that it’s usually fine on most connections I’ve tried.

I wonder if anyone else has noticed?

Comments

Don’t even notice. Despite your legendary verbosity, the page loads more than fast enough. Of course, the adjunct question is – does anybody visit your home page? Or do they just use readers? Only the stats could answer that.

RSS readers are a factor (might have to log in to Google Analytics for that – cripes), but this is really just an experiment to see when long gets too long when it comes to mostly text on a page. I’m thinking perhaps 10 or 15Mb before anyone starts to notice, and we could probably go up to about 50Mb before it would became an issue at all.

Wow, just noticed! :-)

Well, for me it took maybe ~ 10 seconds to load the whole page… Still, imagine what can happen on a bit slower connection?

Maybe a better idea is to make a separate ‘Archives’ page (which can be without pagination and pretty long), and leave the front page to show ~ 5-10 posts?

Ah, but the point here is that you only just noticed.

Even if the entire page takes 2 years to load, if the bit you are interested in (this post) arrives in 1 second, then who cares? Progressive loading is one of the great user experience advantages of CSS.

@Jonathan:

You’re maybe right… But sometimes, I like to know that a page won’t be larger than 200 kB (or 500, or 1000). On special 3G/GPRS connection, for example, when I pay a lot for traffic and try to keep downloaded data as low as possible. In such a case, if I *don’t* notice how large is the front page and it simply keeps loading, this might be not good for me (and for my bill).

That’s just one example… :)

(I guess, there might be more…)

I’d not considered that, but it’s one of those 80/20 things. Should you do something for the small minority that affects the vast majority? Pagination isn’t something I would encourage on the web, even if it’s simply the first 10 posts followed by all the rest because this experiment seems to indicate it’s no necessary. Slashdot has an infinitely scrolling Ajax page, incidentally.

Perhaps Google Analytics can give me a clue about the prevalence of things like mobiles accessing this blog. Marcus’s point about RSS is also relevant.

Hm, no, I’ve meant ‘real’ computers/laptops, which are on a mobile connection via 3G (not iPhone or similar devices)… I, for one, often do so — sometimes I even switch images off to save bandwidth — but this woulnd’t help in case of a ~2MB long page with text… :)

(Hope I contributed to the discussion a bit.)

I see your point, but the thing is that even on a slow connection, you are not having to wait for all that ~2Mb to arrive *before* you can read the first few blogs posts on the page, are you? Think of this this way: you read text at about 500 baud – maybe 30 characters per second. So, a page of mostly text, presenting itself form the top down at 1,000 baud… well, perhaps you’re a fast reader?

Yeah I noticed – mainly scrolling down to look for a recent post sent me months each time into the past.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>