I ran into the infinite scrolling feature on (Windows) Live Search yesterday, and I have to say, it pretty-much blew my mind all over my computer monitor. Not enough to blog about it yesterday, but enough to spend the whole evening trying to implement it in Wordpress (scroll to the bottom of my home page to see my half-implemented solution).
For those that haven’t seen this before, it’s basically a scrolling frame (of images in this case) that never ends. Try an image search to see it yourself in IE or Firefox. When you near the bottom of the scrollbar, they are using Ajax to load in the next “page” of items. There is no paging, just a scrolling frame that you can browse forever.
I’ve always disliked pagination to begin with. Many people have made the comment that if what you’re looking for is not on the first page, there’s something wrong. However, pagination always gets thrown-in to applications for those rare users that feel like having a good-ol’-browse. I’d like to think that those users are fringe cases, but I’ve seen my mom go through page-after-page of Google search results instead of refining her search, or try to read all the news for the week on a weekend.
The technique itself isn’t particularly ground-breaking (it’s exactly what Google Maps does to continuously pan in any direction), but it’s beautifully implemented and, I think, provides an excellent balance between fast loading time (only the first “page” is loaded to begin with) and user-experience.
One of the only things I see troubling users, is distorting their spatial memory on the website. For example, often when users are navigating a long list, they’ll scan ahead, then want to return to a previous item. If they’ve only gone through a few pages of 10-20 items, it’s fairly easy for them to remember approximately how many pages back what they are looking for appeared. In that case, they can remember the association between the item and the page number.
With infinite scrolling, on-the-other-hand, it’s difficult to remember where a previous item appeared relative to a moving scrollbar whose movement delta (how far you move it vs. how many items scroll past) is constantly changing. The only way to find a previous item would be to scroll upwards, try to find any items that are familiar, attempt to remember where the desired item is in relation to the familiar items, then scroll again. Instead of remembering the item in relation to a page number, you must remember the relative positions of every item.
Hence, infinite scrolling is really only useful in applications where users are truely browsing. In the case of images, it totally fits. I could even see it being applied to large numbers of comments in a digg-type application. However, I think it would probably make navigation more difficult in a search engine application.
Either way, kudos to the Live team. Although it’s yet to be seen if people like (and adopt themselves) the infinite scrolling, it’s definitely a slick script
Nice job!
