How to design for infinite data
Graham Scott on Friday, 4th December, 2009
How can you display a large amount of information on a web page and still have a good user experience? As web designers this is becoming a common scenario to deal with as users need to handle more and more data: search results, emails, tweets, blog posts. There are some emergent trends that are solving this problem in interesting ways, each with their own advantages. Let’s have a quick look at them.
Paging
Paging is the traditional solution for dealing with a large amount of data – the data is split up into manageable chunks, then the user is given links to navigate back and forth through each “page”. Google search results are an example of this that most people will have experienced. The main disadvantage with paging is that is breaks the data up – if we wanted to display a table of data such as a school league table, it would be a bad user experience to have to jump back and forth in order to compare data in different pages.
Batched Scrolling
Batched scrolling is a fairly new technique, a prominent example of which is on Twitter. What I really like about Twitter’s technique is that a manageable amount of tweets are displayed to you initially, at the bottom of which is a “more” button to add more tweets to the list. Each “batch” can be loaded in quickly, and it’s easy to scroll up and down – perfect if you’re trying to follow a discussion that in a traditional paging model would appear spread over several pages. Control is firmly placed in your hands, with Twitter effectively saying “Here’s some tweets to read, but we’ve got more if you want them”.
Infinite Scrolling
Microsoft’s Bing search engine has taken the concept of batched scrolling a step further – all the data is still presented on one page, but rather than waiting for you to click a button to indicate that you want more search results, the Bing site waits for you to scroll to near the bottom of the list and then dynamically fetches more results, effectively allowing you to scroll indefinitely.
It’s an odd experience at first, especially for those of us used to gauging the length of a page by glancing at the scrollbar, but I’ve grown to quite like the concept over time. I’m still unconvinced by its necessity for search engine results, as the relevance of results generally decreases the further down the list you travel. Google Reader, however, uses this techique brilliantly: if you click the “all items” view you can scroll all the way through all of your unread RSS items. I think that this is ideal as all the items in this list are relevant, and generally I’ll want to see them all at some point.
I’d love to hear what you think about these new techniques in the comments.
Bing doesn’t have a very good fallback for when javascript is disabled. It seems to default to the first page without any option of seeing more results.
I think it would be better to fallback to the batched scrolling method with a ‘more results’ link at the bottom of the page.