I'm new to iOS app development and I'm facing this problem:

In my app, 6 pictures are shown and then based on the user's action (right or left), 3 of them will be replaced with 3 new pictures. The pictures that will be displayed if the user chooses right are different from those that will be shown if they choose left.

There are two solutions I have found so far:

  1. I can pre-load the six new images while the user is making their decision and show the three of them after the user's action.
  2. I can load the three images and show them when necessary.

The size of each image is about 30KB, and I expect the users to take action in at least 3 seconds. So which loading strategy you think makes more sense?

  • 30KB? Even if you are sucking them down from an australian server the user wouldn't notice much. As a personal preference: I would go with the second option, just to save long term data amount
    – BlueWizard
    Aug 31, 2015 at 14:35
  • Who are your target users? (ie, are they based in a country that typically has more affordable data? might they be in countries with astronomical data charges?) How often will they be swiping pictures? Also, is it possible to code different behaviors based on whether the app is connected to wifi or only connected to cellular data? Sep 2, 2015 at 20:59

1 Answer 1


I guess in your case it wouldn't make much of a difference with the images being only 30KB small. I don't think that there really is a right or wrong in this case. However, I think you should consider the following points:

†) (I assume that these images come from a server. Otherwise the points below will probably be useless (Loading from memory is very fast))

How often do users use the action (left/right)

This is important because people have limited data plans, would you want to always pre-load all 6 images assuming the worst case scenario ? (user uses action left, then right, then left, then right, and so on...). I.e. how likely is it that the worst case scenario will occur ? This is something you will have to evaluate on your own as it is unclear without more context on the actual app you are working on.

I think this will be the main factor that you should look into.

How likely is it that the image size will be larger in the future ?

1) You will have to take into account that users use different resoulutions for the images (iPhone 6's images will be thrice the size of an iPhone4's etc.).

2) The images may be too small and you'll change their (viewing) size in the future, this would make the 'worst case scenario' mentioned above even worse.

Is the user experience hampered if you load the images ?

One case scenario that illustrates the following point: You may not use CDNs (Content Delivery Networks) where the server is relatively close to the users, which may add loading times, which would take your loading time even longer. If you do not preload those, the user may be annoyed by the loading times.

†) For the case that is not included in the aforementioned suggestions (You are not loading the images from a remote server):

I would definitely go with the pre-load option.

That's all I can think of right now, hope it helps you.

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.