I'm developing an app that fetches lists of items from a web service. I cache the responses for quick fetching, but I don't know how to handle displaying new data. When the user is scrolling through the list of cached items, how can I unobtrusively add the new set of data to the list without interrupting the user's experience?
Adding new items to the end of list is okay while user scrolls the list down. It would be transparent for user, he even didn't notice it, like continuous scrolling.
If a user at the end of the list already, add new items with small animation effect to make it noticable for the user and pulling the list to the top on one element, so the first new item is displayed.
If a user scrolls up it's a little harder. You could insert new items from the top of the list. It makes an effect of continuous scrolling, too.
I think it could be subject of user testing.
You should always add new items to either the end of the list or top of the list. Don't do a mix of the both as it is sure to confuse the user.
The widespread practice is to add new things to the end of the list, and I would suggest the same.
If the user has scrolled down to the end of the list, and its going to take time to load some more items to the list, show a small hovering message, possibly at the bottom of the list saying 'Loading...', something that doesn't obstruct the already existing list.