My web app displays a simple table. Users can order their data by clicking on the column headers (quite standard).

We now are making background calls (ajax) so that data we are displaying might change suddenly.

My question is: if I sort by (let's say) price and then the price of something changes should I move the entire row so that the grid remains ordered ? Or is it more intuitive to appreciate that the order in the data must have been broken because of an update ?

  • If we've answered your question, you can select the best solution so that if anyone comes across the same problem in the future, they know the course of action.
    – dnbrv
    Feb 7, 2012 at 18:42

2 Answers 2


Give the user the choice. Provide them with a toggle so that they can view 'Live' results as well as the static ones.

For the 'static' results make sure that you include a timestamp so that the results are then 100% accurate.

For the 'Live' results then you'll need to indicate when an item has moved position. If you're using jQuery or some other AJAX method then there will be options out there for this. Either showing the row physically moving into place (if changes aren't particularly frequent) or emphasising each row that has changed position with a colour/contrast change or a position movement indication '▲+2', '▼-4' etc.

  • thanks. I think you are particularly right in saying that I have to give the user's the choice.
    – chack
    Jan 19, 2012 at 16:10
  • I might select yours as best answer but I will wait in case other people want to add something.
    – chack
    Jan 19, 2012 at 16:51

Put yourself in your user's shoes:

You're using the app. You have some data on the screen. You sort the data and suddenly something looks strange. You're pretty sure that a moment ago that the row with A had value of 3 and now it's 7. What in the world has happened?

To avoid such confusion, your app should sort & display the last downloaded data set.

If you do automatic updates, the app should prompt the user to load the latest data and, ideally, indicate the changes by a combination of brief highlighting of the changed rows and arrows showing the direction of change (up/down) but this depends on the screen space availability.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.