iPhone: how many objects should I bring back from webservice?

142 Views Asked by At

I am using a Rails webservice and was wondering how many json objects I should bring back on the first call?

Options:

  1. Bring back 200 webservice but only show 25 in the uitableview w/ Load more feature?
  2. Bring back 25 and on clicking load more fetch another 25 from webservice?
  3. ????
3

There are 3 best solutions below

0
On BEST ANSWER

Without empirical data it's very hard to say, but I would guess that overall, dealing with smaller datasets and more calls would be a little better for the user. The reason being that users tend to "hurry up and wait". They tap something, and when they tap that something they want it 5 seconds ago (hurry up). Once they see the data, they probably want to actually look at it a bit before they request new data (wait).

This is also an argument for background loading as the user is playing around with things, if you can load that other info invisibly before they ask for it all the better for their snappy UI, but you may be wasting the bandwidth on your server, and their battery. Which brings us back to needing good metrics. Make it work and get it into some people's hands, see how it feels, then go from there with some real UX feedback.

0
On

If yaou can bring back 200 objects in a relatively short amount of time, the cellular or wifi radios may be able to go into a low power mode for longer, as the user scrolls, enhancing battery life.

If loading over 25 objects takes a long time, you might not want to keep the radios powered up until you know the user wants to see that data.

0
On

I will say, don't bother about bringing the objects back, that won't take much time. If you are grtting 500 objects from webservice, its just an xml file coming, it shouldn't take much time to load and parse. You can easily achieve it in background thread or lazy loading. The problem should come, if you are simultaneously trying to update the UI. Drawing a view will consume most of the cycles. So handle it tactfully.