Instead, aim to make the first visit as good as it can be, so that there will actually be a second visit or page view.
I’ll explain why I’ve decided to write the above (a concept I try to live by) down- One common refrain of proponents of larger JavaScript libraries is that “once the library is in cache, it doesn’t matter how big the download is.” I have a problem with that on two levels:
-
Not everyone has cache turned on and many people who do have it turned on don’t let files fester in there forever, so there’s no guarantee the files you dump onto the user’s hard drive will actually be there the next time they visit. Yahoo published some numbers on this subject in January:
To me that means relying on a user’s cache to solve the problems presented by a 200k JavaScript library or 500k worth of flash or whatever isn’t a proper solution.
- Even ignoring the above, this premise assumes a second page view or (in the case of an Ajax application) a second visit. Jakob Nielsen likes to talk about how often people use the back button and whatever you might think of him in general, he’s right about that one. On the web, unless the initial experience is positive, there will never be a second page view or visit to take advantage of the potential cached files. To that end, adding on 150-250k worth of JavaScript on top of the rest of the page where 10-50k might do just as well (in the form of either custom code or lighter libraries) just seems like a bad idea to me. Speed matters, even in this broadband era. Especially since even now there are plenty of users on slow connections. I mean, I still get around 10% of my users visiting on dialup and not every DSL/wireless connection out there is a thing of beauty.