Friday, 29 June 2012

Where should new items appear in a listview?

Today I got a bug logged from QA which got me thinking a little bit.  To start with, the bug was about where the new items were appearing after adding them to the list. I have a listview where I the user add, edit and order items, however, whenever a new item is added, it appears at the top of the list. This is one of those issues you throw to the Design Analyst but then I decided to think through it though there was a potential risk of the designer saying “No this is not how it should be..”.

Back to my Issue; What is the best practice while adding items to a listview, should the item appear at the bottom or at the top of the a list?
I think the answer to this highly depends on the several things, One of the things is the sorting order. If the list has an existing sort, then it should be maintained; example if an associated timestamp (assuming that's the order) is chronological, then the new item will appear at the button and vice versa for the reverse chronological ordering. So if there is a sorting order then insert according to the sorting rules. In situations where the user has scrolled to a point that the first/last items cannot be viewed then auto-scroll to the new item and put the new item into context. The same should apply if the list is paged.

If you consider a scenario where the sort is not applied, then you might want to check what the other parts of the application do. This will allow you to maintain conformity within the application,  in addition, the user can intuitively tell where to find a new entry because of the consistency all through. This how I fixed my bug.

Some schools of thought would argue that adding the item at the top would be a good idea. It gives the user an immediate feedback that the item has been added to the list and reduces on the challenge of keeping focus at the bottom of the list.

3 comments:

  1. good article Mark. Infact this morning we were discussing this with Mwenda and we didn't come to an agreeement on how to sort the problem ...

    ReplyDelete
  2. Nice way of thinking through the problem instead of just implementing whatever the Designer says :-)

    ReplyDelete

Comment