0

So In my app, I have a bunch of images. And in order to keep the app size down, I could store those images on my serve, and just download and cache them as needed. But my question is, will that hurt user experience? Is it likely an iOS user won't have internet access while using my app?

1
  • Not really an App Store question so I removed the tag.
    – Josh K
    Jan 31, 2012 at 19:36

3 Answers 3

4

This is a "it depends" type question:

If you are building an app like the XKCD or Dilbert comic viewers, you could get away with loading and caching at the user's discretion - both are web comics, and are updated frequently, so the user expects to have to have a web connection.

If your app showcases products, art or locations, you would have low-res versions in-app that are "good enough", you could then allow the user to download hi-res versions (or even videos) and cache them, again at the user's discretion (the hi-res option would only show up if the app can reach the web server, of course...)

If your app is a map kit based travel planning app - you probably will have to expect a web connection at least initially, caching only the specific map sections that pertain to the planned journey.

Lastly, if you want to give the full hi-res experience from the get-go, you will need to keep all media in-app as part of the initial app download - the user might be purchasing the app in iTunes and then sync it to their iOS device.

I have found iOS apps that use all the above.

2

iOS devices are often used in places without internet.

For iPhones, they are almost always going to be able to get to the net, even if slowly, barring abject wilderness and cellphone dead-zones. Further, much of the time, it will get at least 3G speeds.

While the iPod Touch is mainly an iPhone less the phone... internet requires access to a suitable WAP. Just because you're standing next to it doesn't mean you have access to it. Further, this makes for potentially much slower access - it's possible to set up a WAP on a dial-up connection. (I have seen this done by a couple of businesses.)

the iPad is, functionally, either of those modes, depending upon model.

Further, you need to consider the potential for success of your application. Can your storage/server handle 100 users? Probably. 1000? Most likely. Should it go wild and be 30K users? Can you afford the upgraded hosting should it succeed?

The trick is to balance the following issues:

  • expectation of internet
  • load times
  • memory footprint
  • your ability to host the potential traffic
3
  • Well I wasn't technically planning on putting them on a server, I was going to upload them to my website, like mywebsite.com/pic1. I know technically that means its on a server, but you traffic to a url like that, and not an "actual" server matter? FYI:I'm not a familiar with servers/ server programming - although id like to learn
    – Andrew
    Jan 7, 2012 at 4:44
  • 1
    Yes, it matters. Every ISP I've ever dealt with has an upload limit. Both in terms of bandwidth per month or day, and in terms of maximum throughput speed at any given moment. And the reaction of many to over monthly limit is to shut the page down until the next billing month... the others I've dealt with simply bill more (and shut you down if you don't pay the overage fees promptly).
    – aramis
    Jan 7, 2012 at 7:49
  • Thats good to know!
    – Andrew
    Jan 8, 2012 at 20:31
1

What I would do is package the smallest necessary amount of images to get the app running on opening screen. If your app depends on the internet which it should, place your subsequent images in a CDN like Akumai or Amazon S3 and have the app start downloading them in the background if you think that is necessary. Otherwise, have them on demand.

Consider saving the loaded images in cache. This will be easier to maintain as you add more images rather than updating your app each time.

You were not specific as to what the app is doing. Do we need to sign an NDA first? :)

1
  • NDA:Of course not. haha :)
    – Andrew
    Jan 5, 2012 at 1:24

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.